从2008年到2016年传输SQL Server登录的哈希密码不起作用

问题描述 投票:0回答:1

我正在将一些数据库从SQL Server 2008迁移到SQL 2016。我已经使用了来自 https:/support.microsoft.comen-gbhelp918992how-to-transfer-logins-and-password-between-instances-sql-server。 来传输登录信息。程序生成这样的东西在2016上运行。

-- 登录。TEST1

CREATE LOGIN [TEST1] WITH PASSWORD = 0x0100DBC2C8D9113D8A7393CBD4FB042997DA1A00B54BBABFE0BA HASHED, SID = 0xE926DF241772C047BA6D1BE874C1F8E1, DEFAULT_DATABASE = [master], CHECK_POLICY = ON, CHECK_EXPIRATION = ON

但在SQL2016上登录不成功。我猜测这是因为两个实例之间使用的哈希值不同。SQL2008使用d SHA-1,但SQL2016使用SHA-2(或者可能是其他什么?

如何才能解决这个问题,而不用在2016中创建新的密码。我可以指定2016使用的哈希算法的类型吗?以匹配2008年使用的?

sql sql-server hash
1个回答
0
投票

原来新的SQL服务器只允许Windows auth。改成混合模式,成功了。

© www.soinside.com 2019 - 2024. All rights reserved.