poniedziałek, 4 kwietnia 2016

DAC - Dedicated Administrator Connection

DAC - Dedicated Administrator Connection
Funkcjonalność SQL Server od wersji 2005. Umożliwia nawiązanie sesji awaryjnej z serwerem przez użytkownika z uprawnieniami sysadmin w czasie, gdy serwer nie odpowiada na zwykłe próby nawiązania sesji. Połączenie to jest możliwe dzięki temu, że SQL Server ma specjalnego schedulera dedykowanego tylko do tego połączenia.
 select   
 scheduler_id,   
 cpu_id,   
 status,   
 is_online,   
 is_idle,current_tasks_count,   
 current_workers_count   
 from sys.dm_os_schedulers  

Polecenia wykonywane w czasie sesji DAC mogą wykorzystywać tylko jeden wątek (nie będzie równoległości)

Jak użyć
Z połączenia możemy skorzystać nawiązując tylko jedną sesję. Możemy to zrobić
1. Przez Management Studio - wybierając z menu polecenie File \ New \ Database Engine Query
 
i dopisując w ekranie uwierzytelniania opcję ADMIN: przed nazwą instancji
2. Przez SQLCMD - dodając opcję -A do składni.
Składnia polecenia: SQLCMD -S [SQL Server Name] -U [User Name] -P [Password] -A

Problemy z podłączeniem
1. Nie może być wiele połączeń DAC w tym samym czasie. Jeśli będziemy chcieli nawiązać drugie połączenie, dostaniemy komunikat błędu:


2. Nie możemy połączyć się podczas uruchamiania SSMS - dozwolone są tylko pojedyncze sesje DAC
3. Możemy się połączyć jedynie przy użyciu połączenia RDP - nie można połączyć się zdalnie.
Wykorzystanie połączeń zdalnych wymaga zmiany konfiguracji SQL Servera.


Sprawdzenie bieżących sesji DAC
Korzystając z sys.endpoints oraz sys.dm_exec_endpoints możemy ustalić, czy i skąd nawiązane jest połączenie DAC:
 select   
 dmes.session_id,   
 dmes.login_name,   
 dmes.login_time,   
 e.name as Endpoint_Name,   
 dmes.host_name  
 from sys.dm_exec_sessions dmes  
 join sys.endpoints e  
 on dmes.endpoint_id = e.endpoint_id  

Włączenie możliwości połączeń zdalnych przy użyciu DAC
Sprawdzenie bieżących ustawień:
 Use [master]  
 GO  
 sp_configure 'remote admin connections'  
 GO  
Ustawienie:
 Use [master]  
 GO  
 sp_configure 'remote admin connections', 1  
 GO  
 RECONFIGURE with OVERRIDE  
 GO  
Można to też wykonać przy użyciu interfejsu graficznego w Management Studio:
Na poziomie instancji wyświetlamy "Facets", zmieniamy aspekt na "Surface Area Configuration" i ustawiamy opcję "RemoteDACEnabled" na "true".


Dodatkowo - konieczne jest odblokowanie portu w firewall'u (domyślnie to port 1434)

Dodatkowe informacje
1. Info o schedulerach https://msdn.microsoft.com/en-us/library/ms177526.aspx

1 komentarz:

  1. Play casino - No.1 for the Casino Guru
    No longer have งานออนไลน์ the opportunity to 도레미시디 출장샵 go communitykhabar to the casinos or read the reviews of the slots you https://sol.edu.kg/ love. But they're not always the same. Sometimes you have https://deccasino.com/review/merit-casino/ a new online

    OdpowiedzUsuń