Sdílet prostřednictvím


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:

  1. Odeberte parametr spuštění -m z pokročilých vlastností SQL Serveru.

  2. Převést prostředek SQL Serveru do offline režimu.

  3. 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
    
  4. 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.

  5. 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>.

  6. Po dokončení operace zavřete příkazový řádek a vraťte SQL a další prostředky online prostřednictvím správce clusteru.