Anslutningspooler i SQL Server Management Studio

Gäller för: SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)

Att öppna anslutningar till en SQL Server kan vara en dyr åtgärd. Därför använder SQL Server Management Studio funktionen Anslutningspooler i drivrutinen ADO.NET SqlClient. Mer information finns i SQL Server-anslutningspooler (ADO.NET).

Den här artikeln innehåller mer information om anslutningspooler i SQL Server Management Studio och sätt att minimera den effekt den kan ha på servern.

Användning och fördelar

SQL Server Management Studio är ett komplext program med många funktioner, varav många kräver information från en databas eller server. Mycket av den här informationen läses in på begäran för att undvika omkostnader när du upprättar en första anslutning och för att undvika onödigt arbete om en funktion inte används.

Anslutningspooler kan minska kostnaderna för att hämta den här informationen. Funktioner i SQL Server Management Studio använder vanligtvis samma basanslutning som användaren angav i anslutningsdialogrutan, och olika funktioner kan återanvända samma fysiska anslutning i stället för att öppna en ny.

Anslutningar som inte är poolade

Alla anslutningar i SQL Server Management Studio är inte poolade. Vissa, till exempel anslutningen som används för varje frågeredigerare, är uttryckligen inte poolade. Det finns flera orsaker till detta, bland annat behovet av att behålla ett specifikt sessions-ID (SPID) som är associerat med funktionen, eller för att säkerställa att ändringar som görs i anslutningsegenskaperna förblir konsekventa i hela användningen.

Kontrollera öppna anslutningar

Även om anslutningspooler förbättrar prestandan resulterar det också i att anslutningarna förblir öppna längre än vad som kan tyckas nödvändigt. När en anslutning returneras till poolen förblir den öppen, men i ett inaktivt (eller vilande) tillstånd. Det här tillståndet kan förhindra att åtgärder vidtas som kräver att alla anslutningar stängs, till exempel att släppa eller ändra en databas.

Det finns några alternativ för att stänga dessa inaktiva anslutningar:

  • Vänta tills ADO.NET stänger anslutningarna. Detta inträffar för anslutningar som inte har använts på mellan fyra och åtta minuter.

  • Vissa åtgärder i SQL Server Management Studio (till exempel DROP DATABASE) ger möjlighet att stänga alla befintliga anslutningar innan åtgärden utförs.

  • Använd kommandot Stäng inaktiva SQL-anslutningarhjälpmenyn . Det här alternativet stänger omedelbart alla inaktiva anslutningar för den aktuella instansen av SQL Server Management Studio. Aktiva anslutningar påverkas inte förutom att omedelbart stängas när de är klara med att användas i stället för att returneras till poolen.

    Anmärkning

    Om du stänger inaktiva anslutningar kan prestandan försämras nästa gång en ny anslutning till servern behövs, eftersom anslutningen måste återupprättas.

  • Stäng SQL Server Management Studio. Om du stänger SQL Server Management Studio stängs omedelbart alla öppna anslutningar som är associerade med databasen eller instansen.

  • Kör KILL-instruktionen för att stänga alla sessioner som blockerar din åtgärd.