pondělí 15. února 2021

Migrace MS SQL účtu s neznámým heslem na jiný MS SQL server

Potřeboval jsem provést migraci několika MS SQL účtů ke kterým nebylo heslo (prostě proto, že si je automaticky vytvořil SW balík pod právy administratora).

Zjednodušeně řečeno, je potřeba přemigrovat SQL účet i se shodným SID a HASH.


Na zdrojové serveru:

Provedu generaci v SSMS následující:

- zvolím uživatele

- v MENU vyberu SCRIPT LOGIN AS

- CREATE TO

- NEW QUERY EDITOR WINDOW


Tento postup mi vygeneruje  např. následující script:

USE [master] GO 
/* For security reasons the login is created disabled and with a random password. */ 
CREATE LOGIN [testlogin] WITH PASSWORD=N'8ic8fZq1PEbEbG3qyaQpn1ih/IrJeBW0MzcKU0KDQVI=', DEFAULT_DATABASE=[master], 
DEFAULT_LANGUAGE=[us_english], 
CHECK_EXPIRATION=OFF, 
CHECK_POLICY=OFF 
GO 
ALTER LOGIN [testlogin] DISABLE 
GO

a ještě spustím
tento script, který mi vygeneruje odpovídající HASH hesla.

USE [master] 
SELECT LOGINPROPERTY('testlogin','PASSWORDHASH') 
GO

Zde obdržím HASH hesla
0x020019814E12C5DCBE7D55C803E46D9CD7E349C9F9000BC392759E0CFD0CF98AA5A3D88B1A725F660A82FE7CAEAECA34E49AC5F08C188F5EF5DB99B06EC1E290EBFF4DF10EF1

Následně ještě spustíme na zdrojovém serveur:

USE [master] 
SELECT SUSER_SID('testlogin') 
GO

a obdržím SID účtu
0xE7F3C36B478F5A4A96F179210CFF39C5



Na cílovém serveru spustím script:

CREATE LOGIN [testlogin] WITH PASSWORD = 0x020019814E12C5DCBE7D55C803E46D9CD7E349C9F9000BC392759E0CFD0CF98AA5A3D88B1A725F660A82FE7CAEAECA34E49AC5F08C188F5EF5DB99B06EC1E290EBFF4DF10EF1 HASHED, 
SID = 0xE7F3C36B478F5A4A96F179210CFF39C5
DEFAULT_DATABASE = [master], 
DEFAULT_LANGUAGE=[us_english], 
CHECK_EXPIRATION = ON, 
CHECK_POLICY = ON

Vytvořeno dle autora:


Žádné komentáře:

Okomentovat