sql >> Databáze >  >> RDS >> Database

Používáte pojmenované instance? Otestujte připojení DAC!

Při dnešním hraní jsem zjistil, že se nemohu připojit ke své místní pojmenované instanci pomocí vyhrazeného připojení správce (jinak známého jako DAC, ale ne tento DAC):

Nelze se připojit k ADMIN:PLASKETT\SQL2012.

Při navazování připojení k serveru SQL došlo k chybě související se sítí nebo specifickou instancí. Server nebyl nalezen nebo nebyl přístupný. Ověřte, zda je název instance správný a zda je SQL Server nakonfigurován tak, aby umožňoval vzdálená připojení. (poskytovatel:SQL Network Interfaces, chyba:43 – Při získávání portu vyhrazeného administrátorského připojení (DAC) došlo k chybě. Ujistěte se, že je spuštěn SQL Browser, nebo zkontrolujte chybový protokol pro číslo portu) (Microsoft SQL Server, Chyba:-1)

Toto je místní, takže samozřejmě následující nastavení na úrovni serveru umožňující připojení vzdáleného správce nemá v tomto konkrétním scénáři žádný vliv:

EXEC sp_configure 'remote admin connections', 1;
GO
RECONFIGURE;
GO

Zjistil jsem, že bych se mohl připojit, kdybych povolil příznak trasování 7806, i když tento příznak trasování je určen pro SQL Server Express (jak je zdokumentováno zde). Věděl jsem však, že problém musí být hlubší než toto – Microsoft nemohl tuto funkci úplně prolomit, že?

Ukázalo se, že tento příznak ovlivňuje pouze *pojmenované* instance. Mluvil jsem o tom s Jonathanem Kehayiasem, který měl výchozí instanci a uměl se dobře připojit. Nemohl se však připojit, pokud výslovně uvedl číslo portu, což ho vedlo k zjištění, že TCP/IP je zakázáno.

I když to konkrétně ovlivní pojmenované instance Developer Edition, protože protokol TCP/IP je ve výchozím nastavení zakázán, existují další scénáře, kdy vám to může ublížit, pokud máte pojmenované instance a…

  • jste [omylem] nasadili Developer Edition do produkce (zlobivá neposlušná);
  • v libovolné edici jste zakázali TCP/IP; nebo,
  • služba SQL Server Browser není spuštěna.

Chcete-li tento problém vyřešit, ujistěte se, že je TCP/IP povoleno prostřednictvím SQL Server Configuration Manager> Network Protocols for a ujistěte se, že je spuštěna služba SQL Server Browser Service. Budete muset restartovat SQL Server.

Nyní, když se můžete připojit přes DAC, pokud se pokusíte připojit v Management Studio, zobrazí se tato chybová zpráva:

Tato chybová zpráva je neškodná (a věřím, že pochází z připojení IntelliSense na pozadí). Ve stavovém řádku můžete vidět, že jste připojeni, a můžete ověřit, že vaše připojení je připojením DAC tím, že tuto chybovou zprávu zrušíte a spustíte dotaz.

V každém případě je potvrzení, že jste schopni se připojit přes DAC, naprosto zásadním krokem ve vašem plánu obnovy po havárii. Pokud se nemůžete připojit k DAC, měli byste si naplánovat jednu nebo obě z následujících akcí během příštího období údržby (nebo dříve, pokud si můžete dovolit restart služby):

  • povolit TCP/IP
  • povolit příznak trasování 7806

V obou případech se ujistěte, že je spuštěna služba SQL Server Browser Service. Také se ujistěte, že je povoleno nastavení serveru pro povolení vzdálených připojení, protože nikdy nevíte, kde se můžete nacházet, když potřebujete získat přístup k nereagujícímu serveru.

Kendra Little napsala minulý rok skvělý blogový příspěvek o DAC. Je zábavné objevovat okolí a vidět, co můžete s DAC dělat, a je opravdu příjemné vědět, že to tam je, ale je také důležité vědět, jak vám nemusí pomoci v případě skutečných potíží se serverem.


  1. Jaký je správný název pro tabulku přidružení (vztah mnoho k mnoha)

  2. Databázová řešení pro stavební management

  3. Váš dokonalý průvodce SQL Join:CROSS JOIN – část 3

  4. Vložit do výběru MySQL