Database
 sql >> Baza danych >  >> RDS >> Database

Używasz nazwanych instancji? Przetestuj połączenie DAC!

Bawiąc się dzisiaj, odkryłem, że nie mogę połączyć się z moją lokalną nazwaną instancją za pomocą dedykowanego połączenia administratora (inaczej znanego jako DAC, ale nie ten DAC):

Nie można połączyć się z ADMIN:PLASKETT\SQL2012.

Wystąpił błąd związany z siecią lub specyficzny dla wystąpienia podczas nawiązywania połączenia z programem SQL Server. Serwer nie został znaleziony lub był niedostępny. Sprawdź, czy nazwa wystąpienia jest poprawna i czy program SQL Server jest skonfigurowany do zezwalania na połączenia zdalne. (dostawca:interfejsy sieciowe SQL, błąd:43 – wystąpił błąd podczas uzyskiwania portu dedykowanego połączenia administratora (DAC). Upewnij się, że przeglądarka SQL jest uruchomiona lub sprawdź w dzienniku błędów numer portu) (Microsoft SQL Server, Błąd:-1)

To jest lokalne, więc oczywiście następujące ustawienie na poziomie serwera, aby umożliwić zdalne połączenia administratora, nie ma wpływu w tym konkretnym scenariuszu:

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

Odkryłem, że mogę się połączyć, jeśli włączyłem flagę śledzenia 7806, mimo że ta flaga śledzenia jest przeznaczona dla programu SQL Server Express (zgodnie z dokumentacją tutaj). Ale wiedziałem, że problem musi być głębszy – Microsoft nie mógł całkowicie zepsuć tej funkcji, prawda?

Okazuje się, że ten objaw dotyczy tylko *nazwanych* instancji. Rozmawiałem o tym z Jonathanem Kehayiasem, który miał domyślną instancję i mógł się dobrze połączyć. Jednak nie mógł się połączyć, jeśli wyraźnie określił numer portu, co doprowadziło go do odkrycia, że ​​protokół TCP/IP jest wyłączony.

Chociaż dotyczy to nazwanych wystąpień Developer Edition, ponieważ protokół TCP/IP jest domyślnie wyłączony, istnieją inne scenariusze, w których może to zaszkodzić, jeśli masz nazwane wystąpienia i…

  • [przypadkowo] wdrożyłeś Developer Edition do produkcji (niegrzeczny niegrzeczny);
  • wyłączyłeś TCP/IP w dowolnej edycji; lub,
  • Usługa przeglądarki SQL Server nie działa.

Aby rozwiązać ten problem, upewnij się, że protokół TCP/IP jest włączony za pośrednictwem Menedżera konfiguracji programu SQL Server> Protokoły sieciowe dla i upewnij się, że usługa przeglądarki SQL Server jest uruchomiona. Będziesz musiał zrestartować SQL Server.

Teraz, gdy jesteś w stanie połączyć się przez DAC, jeśli spróbujesz połączyć się w Management Studio, otrzymasz następujący komunikat o błędzie:

Ten komunikat o błędzie jest łagodny (i uważam, że pochodzi z połączenia IntelliSense w tle). Możesz zobaczyć na pasku stanu, że jesteś połączony, i możesz sprawdzić, czy połączenie jest połączeniem DAC, odrzucając ten komunikat o błędzie i uruchamiając zapytanie.

W każdym razie potwierdzenie, że możesz połączyć się przez DAC, jest absolutnie niezbędnym krokiem w twoim planie odzyskiwania po awarii. Jeśli nie możesz połączyć się z DAC, zaplanuj jedną lub obie z poniższych czynności podczas następnego okna konserwacji (lub wcześniej, jeśli możesz sobie pozwolić na ponowne uruchomienie usługi):

  • włącz TCP/IP
  • włącz flagę śledzenia 7806

W obu przypadkach upewnij się, że usługa przeglądarki SQL Server jest uruchomiona. Upewnij się również, że ustawienie serwera umożliwiające połączenia zdalne jest włączone, ponieważ nigdy nie wiesz, gdzie możesz się znaleźć, gdy potrzebujesz dostępu do nieodpowiadającego serwera.

Kendra Little napisała świetny wpis na blogu o DAC w zeszłym roku. Fajnie jest zakorzenić się i zobaczyć, co możesz zrobić z DAC-em, i naprawdę fajnie jest wiedzieć, że tam jest, ale ważne jest również, aby wiedzieć, jak może nie być w stanie ci pomóc w przypadku rzeczywistych problemów z serwerem.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak uzyskać zapisy z ostatnich 30 dni?

  2. Jak wybrać pierwszy wiersz w każdej GRUPIE WEDŁUG GRUP

  3. Jak używać „Lubię to” w SQL

  4. Popraw wydajność UDF dzięki NULL ON NULL INPUT

  5. Uwagi dotyczące wydajności wystąpienia zarządzanego Azure SQL