Az SQL Server 2008 telepítője rákérdez, hogy mely felhasználóknak szeretnénk az adatbázis kiszolgálóban sysadmin jogokat adni. Ha a telepítés során ezen a képernyőn egy lezser Next-tel átsiklunk, akkor hiába fog elindulni a szolgáltatás, hiába lesz hozzá SQL Server Management Studionk, nem fogunk tudni kapcsolódni hozzá. Szerencsére van hátsó ajtó!
Először is állítsuk le az SQL Serverünket, majd navigáljunk el abba a mappába, ahol a szolgáltatáshoz tartozó exe található és indítsuk el manuálisan single user mode-ban (“m”, mint single user, teljesen logikus ;-):
C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\Binn>sqlservr.exe –m
Ha az áldozat egy SQL Express, akkor át kell navigálnunk az ő mappájába és még a parancssorban is meg kell adnunk az instance nevét:
C:\Program Files\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\Binn>sqlservr.exe -m –s SQLExpress
A single user mode előnye, hogy ilyenkor a helyi Administrators csoport tagjai tudnak csatlakozni a kiszolgálóhoz, a hátránya viszont, hogy az SQL Server Management Studio nem minden szolgáltatása működik tökéletesen vele. Marad tehát a parancssor, méghozzá egy másik ablakban (mert az előző ablakban futva marad az SQL Server), Run as administrator jogosultsággal. Csatlakozzunk a kiszolgálóhoz:
sqlcmd -S . –E
Vagy:
sqlcmd -S .\SQLExpress –E
A –S után tudjuk megadni az instance nevét, a –E pedig Windows hitelesítést jelent.
Hozzunk létre egy logint:
1> CREATE LOGIN [TARTOMÁNY\felhasználónév] FROM WINDOWS
2> GO
Tegyük bele a sysadmin szerepkörbe:
1> EXEC sp_addsrvrolemember @loginname='TARTOMÁNY\felhasználó', @rolename='sysadmin'
2> GO
Állítsuk le a szervert:
1> SHUTDOWN
2> GO
Majd indítsuk el a szokásos módon:
net start mssqlserver
vagy:
net start mssql$sqlexpress
Ezek után már fogunk tudni kapcsolódni a szerverhez SQL Server Management Studioból.
Egy jótanács: mielőtt a fentieket végigjátszuk, próbáljuk meg a Management Studiot Run as administratorként indítani, mert ha egy kicsit is észnél voltunk a telepítésnél, akkor legalább a helyi Administrators csoportot felvettük a sysadmin szerepkörbe. Ez az, amit én ma hajnalban megint elfelejtettem, aminek eredményeként például ez a cikk is megszületett.