Ved at lege rundt i dag opdagede jeg, at jeg ikke kunne oprette forbindelse til min lokale navngivne instans ved hjælp af den dedikerede administratorforbindelse (også kendt som DAC, men ikke denne DAC):
Kan ikke oprette forbindelse til ADMIN:PLASKETT\SQL2012.
Der opstod en netværksrelateret eller instansspecifik fejl under oprettelse af en forbindelse til SQL Server. Serveren blev ikke fundet eller var ikke tilgængelig. Kontroller, at instansnavnet er korrekt, og at SQL Server er konfigureret til at tillade fjernforbindelser. (udbyder:SQL Network Interfaces, fejl:43 – Der opstod en fejl under hentning af den dedikerede administratorforbindelse (DAC). Sørg for, at SQL Browser kører, eller kontroller fejlloggen for portnummeret) (Microsoft SQL Server, Fejl:-1)
Dette er lokalt, så selvfølgelig har følgende indstilling på serverniveau for at tillade fjernadminforbindelser ingen effekt i dette specifikke scenarie:
EXEC sp_configure 'remote admin connections', 1; GO RECONFIGURE; GO
Jeg fandt ud af, at jeg kunne oprette forbindelse, hvis jeg aktiverede sporingsflag 7806, selvom det sporingsflag er beregnet til SQL Server Express (som dokumenteret her). Men jeg vidste, at problemet skulle være dybere end dette – Microsoft kunne ikke have brudt denne funktion fuldstændigt, vel?
Det viser sig, at dette symptom kun påvirker *navngivne* tilfælde. Jeg talte om dette med Jonathan Kehayias, som havde en standardinstans og kunne forbinde fint. Han kunne dog ikke oprette forbindelse, hvis han eksplicit specificerede portnummeret, hvilket fik ham til at opdage, at TCP/IP var deaktiveret.
Selvom dette påvirker navngivne forekomster af Developer Edition specifikt, fordi TCP/IP-protokollen er deaktiveret som standard, er der andre scenarier, hvor dette kan skade dig, hvis du har navngivet forekomster og...
- du har [ved et uheld] implementeret Developer Edition til produktion (frækt fræk);
- du har deaktiveret TCP/IP på enhver udgave; eller,
- SQL Server Browser-tjenesten kører ikke.
For at løse dette skal du sørge for, at TCP/IP er aktiveret via SQL Server Configuration Manager> Netværksprotokoller for
Nu, når du er i stand til at oprette forbindelse via DAC'en, hvis du prøver at oprette forbindelse i Management Studio, vil du få denne fejlmeddelelse:
Denne fejlmeddelelse er godartet (og jeg tror kommer fra baggrunden IntelliSense-forbindelsen). Du kan se på din statuslinje, at du er tilsluttet, og du kan bekræfte, at din forbindelse er DAC-forbindelsen ved at afvise denne fejlmeddelelse og køre en forespørgsel.
Under alle omstændigheder er bekræftelse af, at du er i stand til at oprette forbindelse via DAC'en, et absolut vigtigt trin i din katastrofegenopretningsplan. Hvis du ikke kan oprette forbindelse til DAC'en, bør du planlægge en eller begge af følgende handlinger under dit næste vedligeholdelsesvindue (eller tidligere, hvis du har råd til en genstart af service):
- aktiver TCP/IP
- aktiver sporingsflag 7806
I begge tilfælde skal du sikre dig, at SQL Server Browser Service kører. Sørg også for, at serverindstillingen til at aktivere fjernforbindelser er aktiveret, da du aldrig ved, hvor du kan være, når du skal have adgang til en server, der ikke reagerer.
Kendra Little skrev et godt blogindlæg om DAC sidste år. Det er sjovt at rode rundt og se, hvad du kan gøre med DAC'en, og det er virkelig rart at vide, at det er der, men det er også vigtigt at vide, hvordan det måske ikke kan hjælpe dig i tilfælde af faktiske serverproblemer.