SQL Server
2
0

SQL Server Dedicated Admin Connection (DAC)

De dedicated admin connection (DAC) kan u uit een lastige situatie helpen. Dit is gebouwd om u te helpen verbinding te maken met SQL Server en query’s uit te voeren in gevallen met kritieke prestatieproblemen. Dit werkt door SQL Server een ​​thread te laten reserveren die specifiek is bedoeld voor het verwerken van query’s in noodgevallen. Hoewel het een verbinding voor u reserveert, is het slechts één thread, er vindt hier geen parallellisme plaats, in feite ontvangt u een foutmelding.

DAC inschakelen voor externe verbindingen

Wanneer u voor het eerst over DAC leert, zult u snel zien dat het standaard is ingeschakeld, maar het is alleen voor verbindingen die afkomstig zijn van het lokale systeem. Technisch gezien komt dit omdat het standaard alleen luistert naar het lokale loopback-IP (127.0.0.1). Dit betekent dat als uw server problemen heeft, u eerst verbinding moet maken met de instantie en vervolgens verbinding moet maken met SQL Server. Dit kan een echte tijdverspiller zijn terwijl je baas mogelijk achter je staat.

Gebruik de onderstaande code om verbindingen op afstand toe te staan en deze alleen op de lokale loopback te laten luisteren naar in wezen alle IP-adressen op de lokale computer.

U moet echter ook een RECONFIGURE-opdracht uitvoeren, de reden dat ik deze gescheiden heb, is dat deze opdracht alle lopende wijzigingen zal toepassen. Het is een goede gewoonte om eerst te controleren of er niets anders in behandeling is. Dit kan worden gecontroleerd door de volgende code uit te voeren. markeer de RECONFIGURE en voer alleen die opdracht uit nadat u geen andere wijzigingen hebt bevestigd.

Bevestig dat het is ingeschakeld door een netstat -aon op de SQL Server uit te voeren, ik heb dit naar een findstr-commando geleid om de extra poortinformatie te elimineren.

netstat -aon | findstr 1434

Verbinding maken met de DAC

De DAC kan worden aangesproken met SQLCMD of SSMS. Om te beginnen met SSMS, moet de naam van uw instantie voorafgaan door “ADMIN:”.
Mijn machine zou bijvoorbeeld ADMIN:LT-RSD-01 zijn.

Maar let op, het werkt niet voor de verbindingen in de Object Explorer! Als u dat probeert, wordt de onderstaande fout gegenereerd.

Dedicated administrator connections are not supported via SSMS as it establishes multiple connections by design (Microsoft.SqlServer.Management.SqlStudio.Explorer)

Start in plaats daarvan een nieuw query venster, klik met de rechtermuisknop op een lege plek in het query venster en selecteer Connection | Change Connection.

Vanaf hier krijgt u het bekende verbindingsvenster te zien, dit zal echter slechts één verbinding tot stand brengen die de DAC toestaat.

Voer de volgende opdracht uit om verbinding te maken met de DAC via de opdrachtprompt: (parameters zijn hoofdlettergevoelig)

Voer SQLCMD -? uit om het volledige syntaxoverzicht te tonen

Details over het uitvoeren van SQLCMD-query’s vindt u hier.

Uitzoeken wie verbinding maakt via DAC

Het is belangrijk op te merken dat de DAC slechts door één sysadmin tegelijk kan worden gebruikt. Als u in een noodgeval een verbindingsprobleem tegenkomt, is het belangrijk dat u de foutlogboeken controleert, niet alleen voor mogelijke oorzaken van het probleem dat u heeft ondervonden, maar ook om te zien of de DAC toevallig in gebruik was. Dit kan worden bevestigd door het SQL Server-logboek met fout 17810

Message
Could not connect because the maximum number of ‘1’ dedicated administrator connections already exists. Before a new connection can be made, the existing dedicated administrator connection must be dropped, either by logging off or ending the process.

Om erachter te komen wie de DAC-poort gebruikt, kunt u deze query gebruiken.

Tags:

Soortgelijke Berichten

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *

Fill out this field
Fill out this field
Geef een geldig e-mailadres op.
Je moet de voorwaarden accepteren voordat je het bericht kunt verzenden.

Meest Bekeken Berichten

Menu