共用方式為


如何:從 SQL Server 公用程式中移除 SQL Server 執行個體

使用下列步驟可從 SQL Server 公用程式中移除 SQL Server 的 Managed 執行個體。這個程序會從 UCP 清單檢視中移除 SQL Server 的執行個體,並停止 SQL Server 公用程式資料收集。SQL Server 的執行個體則不會解除安裝。

重要事項重要事項

在您使用這個程序從 SQL Server 公用程式中移除 SQL Server 執行個體之前,請確定 SQL Server 和 SQL Server Agent 服務正在要移除的執行個體上執行。

  1. 從 SQL Server Management Studio 的公用程式總管上,按一下 [Managed 執行個體]。在 [公用程式總管] 內容窗格上,觀察 SQL Server Managed 執行個體的清單檢視。

  2. 在清單檢視的 [SQL Server 執行個體名稱] 資料行中,選取要從 SQL Server 公用程式中移除的 SQL Server 執行個體。以滑鼠右鍵按一下要移除的執行個體,然後選取 [移除 Managed 執行個體]

  3. 針對 SQL Server 執行個體指定具有系統管理員權限的認證:按一下 [連接...],並確認 [連接到伺服器] 對話方塊中的資訊,然後按一下 [連接]。您將會在 [移除 Managed 執行個體] 對話方塊中看到登入資訊。

  4. 若要確認此作業,請按一下 [確定]。若要結束此作業,請按一下 [取消]

從 SQL Server 公用程式中手動移除 SQL Server 的 Managed 執行個體

這個程序會從 UCP 清單檢視中移除 SQL Server 的執行個體,並停止 SQL Server 公用程式資料收集。SQL Server 的執行個體則不會解除安裝。

使用 PowerShell,從 SQL Server 公用程式中移除 SQL Server 的 Managed 執行個體。此指令碼會執行下列作業:

  • 依據伺服器執行個體名稱取得 UCP。

  • 從 SQL Server 公用程式中移除 SQL Server 的 Managed 執行個體。

# Get Ucp connection
$UcpServerInstanceName = "ComputerName\InstanceName";
$UtilityInstance = new-object –Type Microsoft.SqlServer.Management.Smo.Server $UcpServerInstanceName;
$UcpConnection = new-object -Type Microsoft.SqlServer.Management.Sdk.Sfc.SqlStoreConnection $UtilityInstance.ConnectionContext.SqlConnectionObject;
$Utility = [Microsoft.SqlServer.Management.Utility.Utility]::Connect($UcpConnection);

# Now remove the ManagedInstance from the SQL Server Utility
$ServerInstanceName = "ComputerName\InstanceName";
$Instance = new-object -Type Microsoft.SqlServer.Management.Smo.Server $ServerInstanceName;
$InstanceConnection = new-object -Type Microsoft.SqlServer.Management.Sdk.Sfc.SqlStoreConnection $Instance.ConnectionContext.SqlConnectionObject;
$ManagedInstance = $Utility.ManagedInstances[$ServerInstanceName];
$ManagedInstance.Remove($InstanceConnection);

如果所有其他方法都無法從 SQL Server 公用程式中移除 SQL Server 的 Managed 執行個體,請在 SQL Server Management Studio 中使用下列 Transact-SQL 命令。這兩個指令碼都假設使用者是以 sysadmin 身分執行。

  1. 連接到 SQL Server 的 Managed 執行個體,並執行這個預存程序:

    EXEC msdb.dbo.sp_sysutility_mi_remove;
    

    此時,SQL Server 的 Managed 執行個體仍然會出現在公用程式總管中,但是不會將其他資料上傳到 UCP。清單檢視中的狀態為灰色。技術上來說,此執行個體不會在 SQL Server 公用程式中註冊,所以它可以在不同的 UCP 上註冊。

  1. 連接到 UCP,並執行這個指令碼:

    DECLARE @instance_id int;
    SELECT @instance_id = mi.instance_id
    FROM msdb.dbo.sysutility_ucp_managed_instances AS mi
    WHERE mi.instance_name = 'ComputerName\InstanceName';
    
    EXEC msdb.dbo.sp_sysutility_ucp_remove_mi @instance_id;
    

請注意,參考 SQL Server 執行個體名稱時,必須與儲存在 SQL Server 中的形式一模一樣。在區分大小寫的 SQL Server 執行個體中,您必須使用 @@SERVERNAME 傳回的相同大小寫來指定執行個體名稱。若要取得 SQL Server Managed 執行個體的執行個體名稱,請在 Managed 執行個體上執行這個查詢:

select @@SERVERNAME AS instance_name

此時會從 UCP 中完全移除 SQL Server 的 Managed 執行個體。下次當您重新整理 SQL Server 公用程式的資料時,它就會從清單檢視中消失。這個狀態表示使用者順利完成在 SSMS 使用者介面中移除 Managed 執行個體的作業。