Я перенес несколько баз данных с SQL Server 2008 на SQL 2016. Я использовал сценарий с https://support.microsoft.com/en-gb/help/918992/how-to-transfer-logins-and-passwords-between-instances-of-sql-server для переноса имен входа. Процедура генерирует что-то вроде этого для запуска в 2016 году:
- Вход: TEST1
CREATE LOGIN [TEST1] WITH PASSWORD = 0x0100DBC2C8D9113D8A7393CBD4FB042997DA1A00B54BBABFE0BA HASHED, SID = 0xE926DF241772C047BA6D1BE874C1F8E1, DEFAULT_DATABASE = [master], CHECK_POLICY = ON, CHECK_EXPIRATION = ON
, но вход в SQL2016 не работает. Я предполагаю, что это из-за того, что используемый ha sh отличается между двумя экземплярами. SQL2008 использует SHA-1, но SQL2016 использует SHA-2 (или, может быть, что-то еще?)
Как решить эту проблему, не создавая новые пароли в 2016 году. Можно ли указать тип алгоритма ha sh что 2016 использует? Чтобы соответствовать тому, что использовали в 2008 году?