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 Linux rendszeren
Bizonyos körülmények között előfordulhat, hogy linuxos egyfelhasználós módban kell visszaállítania a master adatbázist egy SQL Server-példányon. A forgatókönyvek közé tartozik az új példányra való migrálás vagy az inkonzisztenciákból való helyreállítás.
Note
Az SQL Server a visszaállítás befejezése után automatikusan leáll. Ez a viselkedés terv szerint történik.
Az master adatbázis visszaállításához az SQL Servert egyfelhasználós módban kell elindítania a parancssorból -m indítási beállítással.
Egy SQL Server példányt egyfelhasználós módban indításához Windows alatt, lásd az SQL Server egyfelhasználós üzemmódot.
Prerequisites
Ha egyfelhasználós módban indítja el az SQL Servert, a helyi rendszergazdai csoport bármely tagja csatlakozhat az SQL Serverhez a sysadmin rögzített kiszolgálói szerepkör tagjaként. További információ: Csatlakozás az SQL Serverhez, ha a rendszergazdákat kizárják.
Ha egyfelhasználós módban indítja el az SQL Server egy példányát:
- A kiszolgálóhoz csak egy felhasználó csatlakozhat.
- A
CHECKPOINTfolyamat nem lesz végrehajtva. Alapértelmezés szerint automatikusan fut indításkor.
Az SQL Server szolgáltatás leállítása
Az alábbi parancs leállítja az SQL Server-példányt, ha jelenleg fut:
systemctl stop mssql-server
Az aktuális felhasználó cseréje mssql-ra
A Linuxon futó SQL Server a
mssqlfelhasználó alatt fut, ezért először erre a felhasználóra kell váltania. A parancs futtatásakor a rendszer arootjelszót kéri.su mssql
Sql Server indítása egyfelhasználós módban
Ha a
-mlehetőséget használjaSQLCMD, korlátozhatja a kapcsolatokat egy adott ügyfélalkalmazásra (SQLCMDaz ábrán látható módon nagybetűvel kell megadni):/opt/mssql/bin/sqlservr -m"SQLCMD"Az előző példában egyetlen kapcsolatra korlátozza a kapcsolatokat,
-m"SQLCMD"és ennek asqlcmdkapcsolatnak ügyfélprogramként kell azonosítania magát. Ezt a lehetőséget akkor használja, ha egyfelhasználós módban indítja el az SQL Servert egymasteradatbázis visszaállításához.Az SQL Server indításakor több naplóbejegyzést hoz létre. A kimenetben a következő sorokat keresve ellenőrizheti, hogy egyfelhasználós módban fut-e:
[...] 2022-05-24 04:26:27.24 Server Command Line Startup Parameters: -m "SQLCMD" [...] 2022-05-24 04:26:28.20 spid8s Warning ****************** 2022-05-24 04:26:28.21 spid8s SQL Server started in single-user mode. This an informational message only. No user action is required.
Csatlakozás az SQL Server-példányhoz
A SQL Server-példányhoz
sqlcmdhasználatával csatlakozhat. A SQL Server indítása egyfelhasználós módban szakaszban leírt lépések elvégzése után láthatja, hogy az SQL Server interaktív módban fut. Ezért szükséges megnyitnia egy új terminál-munkamenetet azsqlcmdindításhoz az alábbiak szerint./opt/mssql-tools/bin/sqlcmd -S <ServerName> -U sa -P <password>Ha távolról csatlakozik, az előző példában
<ServerName>az SQL Servert futtató gazdagép neve. Ha közvetlenül a gazdagépen csatlakozik, ahol az SQL Server fut, kihagyhatja ezt a paramétert, vagy használhatja alocalhost-t.<StringPassword>a SA-fiók jelszava.
A master adatbázis visszaállítása
Futtassa a következő parancsokat a fájlon belül
sqlcmd. Ne feledje, hogysqlcmda szkript végén elvárjaGO, hogy végrehajtsa azt.USE master; GO RESTORE DATABASE [master] FROM DISK = N'/var/opt/mssql/data/master.bak' WITH FILE = 1, MOVE N'master' TO N'/var/opt/mssql/data/master.mdf', MOVE N'mastlog' TO N'/var/opt/mssql/data/mastlog.ldf', NOUNLOAD, REPLACE, STATS = 5; GOAz előző példában a
masteradatbázis biztonsági mentési fájljának elérési útja/var/opt/mssql/data/master.bak. Ezt az értéket amasteradatbázis biztonsági mentési fájljának megfelelő elérési útjára kell cserélnie.A kimenet az alábbi példához hasonlóan néz ki, ha a visszaállítás sikeres.
Processed 456 pages for database 'master', file 'master' on file 1. Processed 5 pages for database 'master', file 'mastlog' on file 1. The master database has been successfully restored. Shutting down SQL Server. SQL Server is terminating this process.
Az SQL Server szolgáltatás újraindítása
Az SQL Server újraindításához futtassa a következő parancsot.
systemctl start mssql-server
Remarks
A master adatbázis biztonsági mentésének visszaállításakor a példányhoz a biztonsági mentést követően hozzáadott meglévő felhasználói adatbázisok nem lesznek láthatók a mastervisszaállítása után. A fájloknak továbbra is létezniük kell a tárolási rétegen, ezért manuálisan kell újrakontálnia ezeket a felhasználói adatbázisfájlokat az adatbázisok online állapotba helyezéséhez. További információ: Adatbázis csatolása.