Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőkre vonatkozik:SQL Server
Ez a cikk azt ismerteti, hogyan nyerheti vissza az SQL Server adatbázismotorhoz való hozzáférést rendszergazdaként, ha ki van zárva. A rendszergazda az alábbi okok valamelyike miatt elveszítheti az SQL Server egy példányának hozzáférését:
A sysadmin rögzített kiszolgálói szerepkör tagjai közé tartozó összes bejelentkezést véletlenül eltávolították.
A sysadmin rögzített kiszolgálói szerepkör tagjai közé tartozó összes Windows-csoportot véletlenül eltávolították.
A sysadmin rögzített kiszolgáló-szerepkör tagjai azok a személyek, akik elhagyták a vállalatot, vagy nem érhetők el.
A
safiók le van tiltva, vagy senki sem ismeri a jelszót.
Felbontás
A hozzáférési probléma megoldásához javasoljuk, hogy egyfelhasználós módban indítsa el az SQL Server-példányt. Ez a mód megakadályozza, hogy más kapcsolatok is létrejönjenek, miközben megpróbálja visszanyerni a hozzáférést. Innen csatlakozhat az SQL Server-példányhoz, és hozzáadhatja a bejelentkezést a sysadmin kiszolgálói szerepkörhöz. A megoldás részletes lépéseit a részletes utasítások szakaszban találja.
Az SQL Server-példányt egyfelhasználós módban is elindíthatja a parancssorból származó -m vagy -f beállításokkal. A számítógép helyi Rendszergazdák csoportjának bármely tagja csatlakozhat az SQL Server-példányhoz a sysadmin rögzített kiszolgálói szerepkör tagjaként.
Ha egyfelhasználós módban indítja el a példányt, állítsa le az SQL Server Agent szolgáltatást. Ellenkező esetben előfordulhat, hogy az SQL Server Agent először csatlakozik, és az egyetlen elérhető kapcsolatot veszi fel a kiszolgálóhoz, és letiltja a bejelentkezést.
Egy ismeretlen ügyfélalkalmazás is felveheti az egyetlen elérhető kapcsolatot, mielőtt bejelentkezhet. Annak érdekében, hogy ez ne történjen meg, használhatja a -m lehetőséget, majd egy alkalmazásnevet, hogy a megadott alkalmazás egyetlen kapcsolatára korlátozza a kapcsolatokat. Például, ha az SQL Server-t -mSQLCMD kapcsolattal indítják, az kapcsolódásokat egyetlen kapcsolatra korlátozza, amely sqlcmd ügyfélprogramként azonosítja magát. Ha a Management Studióban a Lekérdezésszerkesztőn keresztül szeretne csatlakozni, használja a -m"Microsoft SQL Server Management Studio - Query".
Fontos
Ne használja a -m-t egy alkalmazás nevét biztonsági funkcióként. Az ügyfélalkalmazások a kapcsolati sztring beállításain keresztül adják meg az alkalmazás nevét, így könnyen hamis névvel hamisítást végezhetnek rajta.
Az alábbi táblázat összefoglalja a példány egyfelhasználós módban való indításának különböző módjait a parancssorban.
| Opció | Leírás | Mikor érdemes használni? |
|---|---|---|
-m |
Egyetlen kapcsolatra korlátozva | Nincsenek más felhasználók, akik csatlakozni próbálnának a példányhoz, vagy nem biztos abban az alkalmazásnévben, amelyet a példányhoz való csatlakozáskor használ. |
-mSQLCMD |
Kapcsolatkötés korlátozása egyetlen kapcsolatra, amelynek azonosítania kell magát mint az sqlcmd ügyfélprogram. | Azt tervezi, hogy sqlcmdhasználatával csatlakozik a példányhoz, és meg szeretné akadályozni, hogy más alkalmazások csak az egyetlen elérhető kapcsolatot használják. |
-m"Microsoft SQL Server Management Studio - Query" |
Egyetlen kapcsolatra korlátozza a kapcsolatokat, amelyeknek azonosítaniuk kell magát a Microsoft SQL Server Management Studio – Lekérdezés alkalmazásként. | A Példányhoz a Management Studióban a Lekérdezésszerkesztőn keresztül szeretne csatlakozni, és meg szeretné akadályozni, hogy más alkalmazások csak az egyetlen elérhető kapcsolatot használják. |
-f |
Egyetlen kapcsolatra korlátozza a kapcsolatokat, és minimális konfigurációval indítja el a példányt | Más konfiguráció megakadályozza a kezdést. |
Részletes utasítások
Az SQL Server egyfelhasználós módban való elindításával kapcsolatos részletes útmutatásért tekintse meg az SQL Server egyfelhasználós módját.
A PowerShell használata
Nyisson meg egy emelt szintű Windows PowerShell-parancssort.
Állítsa be a szolgáltatásnevet és az SQL Server-példányt, valamint a Windows bejelentkezési változóit. Cserélje le ezeket az értékeket a környezetének megfelelő értékekre.
Ha van alapértelmezett példány, használja a
MSSQLSERVERpéldánynév nélkül.$service_name = "MSSQL`$instancename" $sql_server_instance = "machine_name\instance" $login_to_be_granted_access = "[CONTOSO\PatK]"Állítsa le az SQL Server szolgáltatást, hogy egyfelhasználós módban újra lehessen indítani az alábbi paranccsal:
Ha van alapértelmezett példány, használja a
MSSQLSERVERpéldánynév nélkül.net stop $service_nameIndítsa el az SQL Server-példányt egyetlen felhasználói módban, és engedélyezze, hogy csak SQLCMD.exe csatlakozzon (
/mSQLCMD).Jegyzet
Ügyeljen arra, hogy nagybetűs
SQLCMDHa van alapértelmezett példány, használja a
MSSQLSERVERpéldánynév nélkül.net start $service_name /f /mSQLCMDAz sqlcmd használatával hajtsa végre a
CREATE LOGINparancsot, majdALTER SERVER ROLEparancsot. Ez a lépés feltételezi, hogy a Windowsba bejelentkezett egy olyan fiókkal, amely a Helyi rendszergazdák csoport tagja. Ez a lépés feltételezi, hogy lecserélte a tartomány és a bejelentkezési neveket azokra a hitelesítő adatokra, amelyekkel rendszergazda tagságot szeretne biztosítani.Ha van alapértelmezett példánya, használja a kiszolgáló nevét.
sqlcmd.exe -E -S $sql_server_instance -Q "CREATE LOGIN $login_to_be_granted_access FROM WINDOWS; ALTER SERVER ROLE sysadmin ADD MEMBER $login_to_be_granted_access; "Ha a következő hibaüzenet jelenik meg, győződjön meg arról, hogy ne legyen más sqlcmd az SQL Serverhez csatlakoztatva.
Sqlcmd: Error: Microsoft ODBC Driver X for SQL Server : Login failed for user 'CONTOSO\BobD'. Reason: Server is in single user mode. Only one administrator can connect at this time.Vegyes mód (nem kötelező): Ha az SQL Server-példány vegyes hitelesítési módban fut, a következőket is megteheti:
Adjon sysadmin szerepkör-tagságot egy SQL Server bejelentkezéshez. A következőhöz hasonló kód végrehajtásával hozzon létre egy új SQL Server-hitelesítési bejelentkezést, amely a sysadmin rögzített kiszolgálói szerepkör tagja. Cserélje le a
<strong_password>egy tetszőleges erős jelszóra.Ha van alapértelmezett példánya, használja a kiszolgáló nevét.
$strong_password = "<strong_password>" sqlcmd.exe -E -S $sql_server_instance -Q "CREATE LOGIN TempLogin WITH PASSWORD = '$strong_password'; ALTER SERVER ROLE sysadmin ADD MEMBER TempLogin; "Ha az SQL Server-példány vegyes hitelesítési módban fut, és egy engedélyezett
sa-fiók jelszavát szeretné visszaállítani. Módosítsa az sa-fiók jelszavát az alábbi szintaxissal. Mindenképpen cserélje le a<strong_password>egy tetszőleges erős jelszóra:Ha van alapértelmezett példánya, használja a kiszolgáló nevét.
$strong_password = "<strong_password>" sqlcmd.exe -E -S $sql_server_instance -Q "ALTER LOGIN sa WITH PASSWORD = $strong_password; "
Sql Server-példány leállítása és újraindítása többfelhasználós módban
Ha van alapértelmezett példány, használja a
MSSQLSERVERpéldánynév nélkül.net stop $service_name net start $service_name
Az SQL Server Configuration Manager és a Management Studio (SSMS) használata
Ezek az utasítások a következőket feltételezik:
Az SQL Server Windows 8 vagy újabb rendszeren fut. Adott esetben az SQL Server vagy a Windows korábbi verzióihoz enyhe módosításokat is biztosítunk.
Az SQL Server Management Studio telepítve van a számítógépre.
Hajtsa végre ezeket az utasításokat, miközben bejelentkezett a Windowsba a helyi rendszergazdák csoportjának tagjaként.
A Windows Start menüjében kattintson a jobb gombbal az SQL Server Configuration Manager ikonra, és válassza a Futtatás rendszergazdaként lehetőséget a rendszergazdai hitelesítő adatok Configuration Managernek való átadásához.
Az SQL Server Configuration Manager bal oldali ablaktábláján válassza SQL Server Serviceslehetőséget. A jobb oldali panelen keresse meg az SQL Server-példányt. (Az SQL Server alapértelmezett példánya tartalmazza az (MSSQLSERVER) a számítógép neve után. Az elnevezett példányok nagybetűsen jelennek meg, ugyanazzal a névvel, mint a regisztrált kiszolgálókon.) Kattintson a jobb gombbal az SQL Server példányára, majd válassza a Tulajdonságoklehetőséget.
Az Indítási paraméterek lap Indítási paraméter megadása mezőjébe írja be a
-m, majd válassza hozzáadása lehetőséget. Ez egy kötőjel, majd egy kisbetűs m.Az SQL Server egyes korábbi verzióiban nincs Indítási paraméterek fül. Ebben az esetben a Speciális fülön dupla kattintással nyissa meg a Indítási paraméterek. A paraméterek egy kis ablakban nyílnak meg. Ügyeljen arra, hogy ne módosítsa a meglévő paramétereket. A végén adjon hozzá egy új paramétert
;-m, majd válassza OKlehetőséget. (Ez egy pontosvessző, majd egy kötőjel, majd kisbetű m.)Válassza OKlehetőséget, majd az újraindítás után kattintson a jobb gombbal a kiszolgáló nevére, majd válassza a Újraindításlehetőséget.
Az SQL Server újraindítása után a kiszolgáló egyfelhasználós módban lesz. Győződjön meg arról, hogy az SQL Server-ügynök nem fut. Ha elindult, az egyetlen kapcsolatot használja.
A Windows Start menüjében kattintson a jobb gombbal a Management Studio ikonra, és válassza a Futtatás rendszergazdakéntlehetőséget. Ez átadja a rendszergazdai hitelesítő adatokat az SSMS-nek.
A Windows korábbi verziói esetében a Futtatás rendszergazdaként beállítás almenüként jelenik meg.
Egyes konfigurációkban az SSMS több kapcsolatot próbál létrehozni. Több kapcsolat meghiúsul, mert az SQL Server egyfelhasználós módban van. A forgatókönyv alapján hajtsa végre az alábbi műveletek egyikét.
Csatlakozzon az Object Explorerhez a Windows-hitelesítéssel, amely tartalmazza a rendszergazdai hitelesítő adatokat. Nyissa le Biztonság, nyissa le Bejelentkezések, majd kattintson duplán saját bejelentkezésére. A Kiszolgálói szerepkörök lapon válassza sysadmin, majd válassza OKlehetőséget.
Az Object Explorerrel való kapcsolódás helyett windowsos hitelesítéssel (amely magában foglalja a rendszergazdai hitelesítő adatokat is) csatlakozik egy lekérdezési ablakhoz. (Csak akkor tud így csatlakozni, ha nem csatlakozott az Object Explorerhez.) A következőhöz hasonló kód végrehajtásával adjon hozzá egy új Windows-hitelesítési bejelentkezést, amely a sysadmin rögzített kiszolgálói szerepkör tagja. Az alábbi példa egy
CONTOSO\PatKnevű tartományfelhasználót ad hozzá.CREATE LOGIN [CONTOSO\PatK] FROM WINDOWS; ALTER SERVER ROLE sysadmin ADD MEMBER [CONTOSO\PatK];Ha az SQL Server vegyes hitelesítési módban fut, csatlakozzon egy lekérdezési ablakhoz Windows-hitelesítéssel (amely tartalmazza a rendszergazdai hitelesítő adatokat). A következőhöz hasonló kód végrehajtásával hozzon létre egy új SQL Server-hitelesítési bejelentkezést, amely a sysadmin rögzített kiszolgálói szerepkör tagja.
CREATE LOGIN TempLogin WITH PASSWORD = '<strong_password>'; ALTER SERVER ROLE sysadmin ADD MEMBER TempLogin;Figyelmeztetés
Cserélje le a <strong_password> egy erős jelszóra.
Ha az SQL Server vegyes hitelesítési módban fut, és alaphelyzetbe szeretné állítani a
sa-fiók jelszavát, csatlakozzon egy lekérdezési ablakhoz a Windows-hitelesítés használatával (amely tartalmazza a rendszergazdai hitelesítő adatokat). Módosítsa asa-fiók jelszavát az alábbi szintaxissal.ALTER LOGIN sa WITH PASSWORD = '<strong_password>';Figyelmeztetés
Cserélje le a <strong_password> egy erős jelszóra.
Zárja be a Management Studio alkalmazást.
A következő néhány lépésben az SQL Server visszavált a többfelhasználós üzemmódra. Az SQL Server Configuration Manager bal oldali ablaktábláján válassza SQL Server Serviceslehetőséget.
A jobb oldali ablaktáblán kattintson a jobb gombbal az SQL Server-példányra, majd válassza a Tulajdonságoklehetőséget.
Az Indítási paraméterek lapon, a Meglévő paraméterek mezőben válassza a
-m, majd kattintson az Eltávolításgombra.Az SQL Server egyes korábbi verzióiban nincs Indítási paraméterek fül. Ebben az esetben a Speciális fülön dupla kattintással nyissa meg a Indítási paraméterek. A paraméterek egy kis ablakban nyílnak meg. Távolítsa el a korábban hozzáadott
;-m, majd válassza OKlehetőséget.Kattintson a jobb gombbal a kiszolgáló nevére, majd válassza a Újraindításlehetőséget. Győződjön meg arról, hogy újra elindítja az SQL Server-ügynököt, ha leállította, mielőtt egyfelhasználós módban indítja el az SQL Servert.
Most már képesnek kell lennie arra, hogy normálisan csatlakozzon az egyik fiókhoz, amely most a sysadmin rögzített kiszolgálói szerepkör tagja.