Režim jednoho uživatele pro SQL Server
platí pro:SQL Server
Tento článek obsahuje informace a kroky pro spuštění instance SQL Serveru v režimu jednoho uživatele, který umožňuje připojení k instanci pouze jednomu uživateli.
Spuštění instance v režimu jednoho uživatele
Spuštění SQL Serveru v režimu jednoho uživatele umožňuje každému členovi místní skupiny administrátorů počítače připojit se k instanci SQL Serveru jako člen sysadmin pevné role serveru. Další informace najdete v tématu Připojení k SQL Serveru, pokud jsou správci systému uzamčeni.
Za určitých okolností možná budete muset spustit instanci SQL Serveru v režimu jednoho uživatele pomocí spouštěcí možnosti -m
. Můžete například chtít změnit možnosti konfigurace serveru nebo obnovit poškozenou databázi master
nebo jinou systémovou databázi. Obě akce vyžadují spuštění instance SQL Serveru v režimu jednoho uživatele.
Následující příklad spustí instanci SQL Serveru v režimu jednoho uživatele a umožňuje připojení pouze prostřednictvím editoru dotazů aplikace SQL Server Management Studio.
net start "SQL Server (MSSQLSERVER)" /m"Microsoft SQL Server Management Studio - Query"
Pokud chcete obnovit databázi master
v Linuxu v režimu jednoho uživatele, přečtěte si téma Obnovení hlavní databáze v Linuxu v režimu jednoho uživatele.
Obecné aspekty
Při spuštění instance SYSTÉMU SQL Server v režimu jednoho uživatele si všimněte následující:
K serveru se může připojit jenom jeden uživatel.
Proces CHECKPOINT se nespustí. Ve výchozím nastavení se spustí automaticky při spuštění.
Poznámka
Před připojením k instanci SQL Serveru v režimu jednoho uživatele zastavte službu agenta SQL Serveru; jinak služba agenta SQL Serveru používá připojení, čímž ho blokuje.
Když spustíte instanci SQL Serveru v režimu jednoho uživatele, sql Server Management Studio se může připojit k SQL Serveru. Průzkumník objektů v sadě Management Studio může selhat, protože pro některé operace vyžaduje více než jedno připojení. Pokud chcete spravovat SQL Server v režimu jednoho uživatele, spusťte příkazy Transact-SQL připojením prostřednictvím Editoru dotazů v sadě Management Studio nebo Azure Data Studio nebo použijte nástroj sqlcmd.
Pokud používáte možnost -m
s SQLCMD
nebo Management Studio, můžete omezit připojení k zadané klientské aplikaci.
Poznámka
V Linuxu musí být SQLCMD
velkými písmeny, jak je znázorněno.
Například -m"SQLCMD"
omezuje připojení k jednomu připojení a toto připojení se musí identifikovat jako sqlcmd klientský program. Tuto možnost použijte, když spouštíte SQL Server v režimu jednoho uživatele a neznámá klientská aplikace přijímá jediné dostupné připojení. Pokud se chcete připojit prostřednictvím Editoru dotazů v sadě Management Studio, použijte -m"Microsoft SQL Server Management Studio - Query"
.
Důležitý
Tuto možnost nepoužívejte jako funkci zabezpečení. Klientská aplikace poskytuje název aplikace a může jako součást připojovacího řetězce poskytnout falešný název.
Úvahy o funkci Always On
Při použití režimu s jedním serverem pro instance SQL Serveru, které jsou nakonfigurované jako instance clusteru s podporou převzetí služeb při selhání Always On (FCI), nebo jsou vaše databáze součástí skupiny dostupnosti Always On (AG), je třeba zvážit další aspekty.
Skupiny dostupnosti
Spuštění skupiny dostupnosti Always On a databází ve skupině se přeskočí, pokud je SQL Server spuštěn v režimu jednoho uživatele. Pokud potřebujete vyřešit problémy s databází, která vyžaduje spuštění SQL Serveru v režimu jednoho uživatele a databáze je také součástí skupiny dostupnosti, musíte databázi odebrat ze skupiny dostupnosti, než sql Server spustíte v režimu jednoho uživatele, aby databáze byla online.
Instance clusteru s podporou převzetí služeb při selhání
Při instalaci SYSTÉMU SQL Server v clusterovém prostředí při spuštění SYSTÉMU SQL Server v režimu jednoho uživatele knihovna DLL prostředků clusteru využívá dostupné připojení, čímž blokuje všechna další připojení k serveru. Když je SQL Server v tomto stavu, pokusíte-li se spustit prostředek agenta SQL Serveru online, může dojít k přesunu prostředku SQL na jiný uzel, pokud je prostředek nakonfigurován tak, aby ovlivňoval skupinu.
K vyřešení problému použijte následující postup:
Odeberte parametr spuštění
-m
z pokročilých vlastností SQL Serveru.Převést prostředek SQL Serveru do offline režimu.
Z aktuálního uzlu vlastníka této skupiny zadejte následující příkaz z příkazového řádku:
net start MSSQLSERVER /m
Ověřte v konzole pro správu clusteru s podporou převzetí služeb při selhání, jestli je prostředek SQL Serveru stále mimo provoz.
Připojte se k SQL Serveru pomocí následujícího příkazu a proveďte potřebnou operaci: SQLCMD -E -S<název serveru>.
Po dokončení operace zavřete příkazový řádek a vraťte SQL a další prostředky online prostřednictvím správce clusteru.