Перенос SQL логинов сервера с 2008 по 2016 год хешированный пароль не работает - PullRequest
0 голосов
/ 24 апреля 2020

Я перенес несколько баз данных с 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 году?

1 Ответ

0 голосов
/ 29 апреля 2020

Оказалось, что на новом SQL сервере разрешено только Windows авторизация. Перешел в смешанный режим и работал.

...