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 pouze jedno uživatelské připojení k instanci.

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 prostřednictvím příkazového řádku 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 master databázi v SQL Serveru 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

Když spustíte instanci SQL Serveru v režimu jednoho uživatele, mějte na paměti, že:

  • 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. Připojení Průzkumníka 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 použijte nástroj sqlcmd.

Pokud použijete -m tuto možnost, můžete přidat konkrétní název aplikace, abyste omezili připojení jenom na ty, které mají stejný název aplikace zadaný v připojovacím řetězci. Například nástroj sqlcmd používá SQLCMD jako název aplikace v připojovacím řetězci. Pokud zadáte -mSQLCMD jako spouštěcí parametr, instance SQL Serveru se spustí v režimu jednoho uživatele a připojení z jiných aplikací, než sqlcmd jsou odmítnuty. 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, můžete použít -mSSMSQueryEditor a zadat App=SSMSQueryEditor na kartě Další parametry připojení v dialogovém okně Připojit k databázovému stroji .

Poznámka

V názvu aplikace zadaném pomocí -m možnosti spuštění se můžou rozlišovat malá a velká písmena.

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í používá knihovna DLL prostředků clusteru při spuštění systému SQL Server v režimu jednoho uživatele dostupné připojení, čímž blokuje všechna další připojení k serveru. Pokud je SQL Server v tomto stavu, když se pokusíte přivést prostředek agenta SQL Serveru online, může provést převzetí prostředku SQL na jiný uzel, pokud je prostředek nakonfigurován tak, aby ovlivnil 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\<servername>
    
  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.