將主要資料庫從 Always On 可用性群組移除
適用於:SQL Server
本主題描述如何在 SQL Server 中,使用 SQL Server Management Studio、Transact-SQL 或 PowerShell,同時移除 AlwaysOn 可用性群組中的主要資料庫與相應的次要資料庫。
必要條件和限制
- 只有在主要複本上才支援這個工作。 您必須連接到裝載主要複本的伺服器執行個體。
權限
需要可用性群組的 ALTER AVAILABILITY GROUP 權限、CONTROL AVAILABILITY GROUP 權限、ALTER ANY AVAILABILITY GROUP 權限或 CONTROL SERVER 權限。
使用 SQL Server Management Studio
若要移除可用性資料庫
在 [物件總管] 中,連接到裝載要移除資料庫之主要複本的伺服器執行個體,然後展開伺服器樹狀目錄。
依序展開 [Always On 高可用性] 節點和 [可用性群組] 節點。
選取可用性群組,然後展開 [可用性資料庫] 節點。
此步驟取決於您要移除多個資料庫群組或只要移除一個資料庫,如下所示:
若要移除多個資料庫,請使用 [物件總管詳細資料] 窗格檢視及選取您要移除的所有資料庫。 如需詳細資訊,請參閱使用物件總管詳細資料監視可用性群組 (SQL Server Management Studio)。
若要移除單一資料庫,請在 [物件總管] 窗格或 [物件總管詳細資料] 窗格中選取它。
以滑鼠右鍵按一下選取的一或多個資料庫,然後在命令功能表中選取 [從可用性群組移除資料庫]。
在 [從可用性群組移除資料庫] 對話方塊中,若要移除所有列出的資料庫,請按一下 [確定]。 如果您不要移除所有列出的資料庫,請按一下 [取消]。
使用 TRANSACT-SQL
若要移除可用性資料庫
連接到裝載主要複本的伺服器執行個體。
使用 ALTER AVAILABILITY GROUP 陳述式,如下所示:
ALTER AVAILABILITY GROUP group_name REMOVE DATABASE availability_database_name
group_name 是可用性群組的名稱,而 database_name 是要移除的資料庫名稱。
下列範例會從
Db6
可用性群組中移除名稱為MyAG
的資料庫。ALTER AVAILABILITY GROUP MyAG REMOVE DATABASE Db6;
使用 PowerShell
若要移除可用性資料庫
變更目錄 (cd) 為裝載主要複本的伺服器執行個體。
使用 Remove-SqlAvailabilityDatabase 指令程式,指定要從可用性群組移除的可用性資料庫名稱。 連接到裝載主要複本的伺服器執行個體時,主要資料庫及其對應的次要資料庫都會從可用性群組中移除。
例如,下列命令會將
MyDb9
可用性資料庫從名為MyAg
的可用性群組中移除。 因為此命令是在裝載主要複本的伺服器執行個體上執行,所以系統會從可用性群組中移除主要資料庫及其所有對應的次要資料庫。 系統將不再針對任何次要複本的這個資料庫進行資料同步處理。Remove-SqlAvailabilityDatabase ` -Path SQLSERVER:\Sql\PrimaryComputer\InstanceName\AvailabilityGroups\MyAg\AvailabilityDatabases\MyDb9
注意
若要檢視 Cmdlet 的語法,請在 SQL Server PowerShell 環境中使用 Get-Help Cmdlet。 如需詳細資訊,請參閱 Get Help SQL Server PowerShell。
若要設定和使用 SQL Server PowerShell 提供者
待處理:從可用性群組中移除可用性資料庫之後
從可用性群組中移除可用性資料庫,會結束先前主要資料庫和對應的次要資料庫之間的資料同步處理。 先前主要資料庫會保持上線狀態。 每個對應的次要資料庫處於 RESTORING 狀態。
此時有替代方法可處理移除的次要資料庫:
如果您不再需要給定的次要資料庫,可將它卸除。
如需詳細資訊,請參閱 刪除資料庫。
從可用性群組中移除次要資料庫之後,若要存取移除的次要資料庫,可以復原資料庫。 不過,如果復原移除的次要資料庫,線上將會有兩個名稱相同但內容不同的獨立資料庫。 您必須確定用戶端只能存取其中一個資料庫 (通常是最新的主要資料庫)。
如需詳細資訊,請參閱復原資料庫而不還原資料 (Transact-SQL)。