共用方式為


SQL Server Management Studio 中的連線共用

適用於SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)

開啟 SQL Server 的連線可能是昂貴的作業,因此 SQL Server Management Studio 會利用 sqlClient 驅動程式 ADO.NET 的連線共用功能。 如需詳細資訊,請參閱 SQL Server 連線共用 ADO.NET

本文提供有關 SQL Server Management Studio 中聯機共用的詳細資訊,以及降低它在伺服器上可能產生之效果的方法。

使用方式和優點

SQL Server Management Studio 是一個具有許多功能的複雜應用程式,其中有許多需要來自資料庫或伺服器的資訊。 這項資訊大部分會隨選載入,以避免在建立初始連線時造成額外負荷,並在未使用功能時避免不必要的工作。

線上共用有助於降低擷取此資訊的額外負荷。 SQL Server Management Studio 中的功能通常會使用使用者在連線對話框中輸入的相同基底連線,而不同的功能可以重複使用相同的實體連線,而不是開啟新的連接。

非共用連線

並非所有 SQL Server Management Studio 中的連線都會集區。 某些連線,例如用於每個查詢編輯器的連線,是明確不會進行連線池化的。 有數個原因,包括需要保留與功能相關聯的特定會話識別碼(SPID),或確保對連接屬性所做的變更在使用過程中保持一致。

控制已開的連線

雖然連線共用可改善效能,但也會導致連線保持開啟的時間超過可能所需的時間。 當連線返回集區時,它會保持開啟狀態,但處於閑置狀態(或睡眠中)。 此狀態可防止採取需要關閉所有連線的動作,例如卸載或改變資料庫。

有幾個選項可用來關閉這些閑置連線:

  • 等到 ADO.NET 關閉連線為止。 這發生在未被使用達四到八分鐘的連線中。

  • SQL Server Management Studio 中的某些作業(例如 DROP DATABASE)提供在執行作業之前關閉所有現有連線的選項。

  • 在 [說明] 功能表下,使用 [關閉閑置 SQL 連線] 命令。 此選項會立即關閉目前 SQL Server Management Studio 實例的所有閑置連線。 活動中的連線不會受到影響,會在完成使用時立即關閉,而不是重新歸還到集區。

    備註

    關閉閑置連線可能會導致下次需要新的伺服器連線時效能降低,因為需要重新建立連線。

  • 關閉 SQL Server Management Studio。 關閉 SQL Server Management Studio 會立即關閉與該資料庫或實例相關聯的所有開啟連線。

  • 執行 KILL 指令,以關閉任何阻礙操作的會話。