將次要資料庫從可用性群組移除 (SQL Server)

適用於:SQL Server

本主題描述如何在 SQL Server 中使用 SQL Server Management Studio、Transact-SQL 或 PowerShell,從 Always On 可用性群組移除次要資料庫。

必要條件和限制

  • 只有在次要複本上才支援這個工作。 您必須連接到裝載要從中移除資料庫之次要複本的伺服器執行個體。

權限

需要資料庫的 ALTER 權限。

使用 SQL Server Management Studio

若要從可用性群組中移除次要資料庫

  1. 在 [物件總管] 中,連接到裝載您要從中移除一個或多個次要資料庫之次要複本的伺服器執行個體,然後展開伺服器樹狀目錄。

  2. 依序展開 [Always On 高可用性] 節點和 [可用性群組] 節點。

  3. 選取可用性群組,然後展開 [可用性資料庫] 節點。

  4. 此步驟取決於您要移除多個資料庫群組或只要移除一個資料庫,如下所示:

  5. 以滑鼠右鍵按一下選取的一或多個資料庫,然後在命令功能表中選取 [移除次要資料庫]

  6. [從可用性群組移除資料庫] 對話方塊中,若要移除所有列出的可用性資料庫,請按一下 [確定]。 如果您不要移除所有列出的資料庫,請按一下 [取消]

使用 TRANSACT-SQL

若要從可用性群組中移除次要資料庫

  1. 連接到裝載次要複本的伺服器執行個體。

  2. 使用 ALTER DATABASE 陳述式的 SET HADR 子句 ,如下所示:

    ALTER DATABASE database_name SET HADR OFF

    其中 database_name 是次要資料庫的名稱,您要從其所屬的可用性群組移除此資料庫。

    下列範例會將本機次要資料庫 MyDb2 從其可用性群組中移除。

    ALTER DATABASE MyDb2 SET HADR OFF;  
    GO  
    

使用 PowerShell

若要從可用性群組中移除次要資料庫

  1. 將目錄切換到 (cd) 裝載次要複本的伺服器執行個體。

  2. 使用 Remove-SqlAvailabilityDatabase 指令程式,指定要從可用性群組移除的可用性資料庫名稱。 連接到裝載次要複本的伺服器執行個體時,只會從可用性群組移除本機次要資料庫。

    例如,下列命令會從伺服器執行個體 MyDb8 所裝載的次要複本中移除次要資料庫 SecondaryComputer\Instance。 已移除之次要資料庫的資料同步處理會停止。 此命令不會影響主要資料庫或任何其他次要資料庫。

    Remove-SqlAvailabilityDatabase `  
    -Path SQLSERVER:\Sql\SecondaryComputer\InstanceName\AvailabilityGroups\MyAg\AvailabilityDatabases\MyDb8  
    

    注意

    若要檢視 Cmdlet 的語法,請在 SQL Server PowerShell 環境中使用 Get-Help Cmdlet。 如需詳細資訊,請參閱 Get Help SQL Server PowerShell

若要設定和使用 SQL Server PowerShell 提供者

待處理:從可用性群組中移除次要資料庫之後

次要資料庫已移除時,它不再聯結至可用性群組,而且可用性群組會將移除之次要資料庫的所有相關資訊捨棄。 移除的次要資料庫處於 RESTORING 狀態。

提示

在移除次要資料庫後的短暫時間內,您可能可以透過將次要資料庫重新聯結至可用性群組,在資料庫上重新啟動 AlwaysOn 資料同步處理。 如需詳細資訊,請參閱將次要資料庫聯結至可用性群組 (SQL Server)

此時有替代方法可處理移除的次要資料庫:

  • 如果您不再需要此次要資料庫,可將它卸除。

    如需詳細資訊,請參閱 DROP DATABASE (Transact-SQL)刪除資料庫

  • 從可用性群組中移除次要資料庫之後,若要存取移除的次要資料庫,可以復原資料庫。 不過,如果復原移除的次要資料庫,線上將會有兩個名稱相同但內容不同的獨立資料庫。 您必須確認用戶端只可以存取目前的主要資料庫。

    如需詳細資訊,請參閱復原資料庫而不還原資料 (Transact-SQL)

另請參閱

AlwaysOn 可用性群組概觀 (SQL Server)
將主要資料庫從可用性群組移除 (SQL Server)