溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

SQL Server中怎么不停機移動鏡像數(shù)據(jù)庫

發(fā)布時間:2021-08-03 16:11:42 來源:億速云 閱讀:125 作者:Leah 欄目:數(shù)據(jù)庫

本篇文章為大家展示了SQL Server中怎么不停機移動鏡像數(shù)據(jù)庫,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

SQL  Server數(shù)據(jù)庫鏡像是對于數(shù)據(jù)庫可用性的軟件解決方案。鏡像在每個數(shù)據(jù)庫級別被部署,并只能在完整恢復(fù)模式下工作。由于磁盤空間的問題,需要移動鏡像數(shù)據(jù)庫到一個不同的位置。我們想不停機、不破壞鏡像來完成這個任務(wù)。需要在不同的環(huán)境做測試。

對于啟用了數(shù)據(jù)庫鏡像的數(shù)據(jù)庫的文件移動,我們只有有限的選擇。常規(guī)方法如下:

破壞數(shù)據(jù)庫鏡像會話,通過使用Alter database或Attach Detach移動在線數(shù)據(jù)庫文件到一個新的位置。

備份數(shù)據(jù)庫,并在鏡像服務(wù)器上恢復(fù)備份,然后重建鏡像。

技術(shù)上來講,這是可行的,但是它需要停機時間,并且尤其對于大數(shù)據(jù)庫,移動和恢復(fù)需要大量額外時間。

給定的停機時間是客戶端總是會考慮的,我們得找到一個不停機的方案。以下步驟說明了如何不停機移動數(shù)據(jù)庫文件而不用打擾同步數(shù)據(jù)庫鏡像。

對于鏡像實例:

在主服務(wù)器上暫停鏡像(可選)。

在鏡像服務(wù)器上使用Alter database語句來指向一個新位置。

停止鏡像SQL Server服務(wù)。

移動鏡像數(shù)據(jù)庫文件到一個新位置,并確保文件上的權(quán)限也還在。

啟動鏡像SQL Server服務(wù)。

在主服務(wù)器數(shù)據(jù)庫上恢復(fù)鏡像,并驗證鏡像成功恢復(fù)。

對于主實例:

故障轉(zhuǎn)移數(shù)據(jù)庫到鏡像服務(wù)器,以至于鏡像服務(wù)器現(xiàn)在作為主服務(wù)器。

在新的主服務(wù)器上暫停鏡像(可選)。

在新的鏡像服務(wù)器上使用Alter database語句來指向一個新位置。

停止新鏡像的SQL Server服務(wù)。

移動新的鏡像數(shù)據(jù)庫文件到一個新位置,并確保文件上的權(quán)限也還在。

啟動新鏡像的SQL Server服務(wù)。

在主服務(wù)器數(shù)據(jù)庫上恢復(fù)鏡像,并驗證鏡像成功恢復(fù)。

如果詳細查看以上計劃,可以看到應(yīng)用程序會話在鏡像數(shù)據(jù)庫故障轉(zhuǎn)移期間會重連。當應(yīng)用程序負載在主服務(wù)器上運行時,停止鏡像SQL  Server服務(wù),物理移動數(shù)據(jù)庫文件,然后啟動鏡像SQL Server服務(wù)。所以無需停機時間。

然而,你要確保在主服務(wù)器上有足夠的日志空間,因為鏡像狀態(tài)將會被斷開(不只是一個庫,而是實例上所有鏡像的數(shù)據(jù)庫)。當鏡像狀態(tài)斷開時,日志記錄不會從主服務(wù)器發(fā)送到鏡像服務(wù)器,將會累積在主服務(wù)器。一旦鏡像實例啟動,鏡像狀態(tài)變?yōu)橥街?,主服?wù)器將會開始發(fā)送日志記錄到鏡像服務(wù)器。

我們可以通過以下T-SQL來檢查所有鏡像數(shù)據(jù)庫的文件位置,來驗證是否修改成功:

Select DB_NAME(dbid),name,filename

from sysaltfiles

where DB_NAME(dbid) in (Select DB_NAME(database_id)

from sys.database_mirroring where mirroring_state is not null)

order by 1

總的來講,當移動數(shù)據(jù)庫時可以保持數(shù)據(jù)庫鏡像不用停機。對于見證服務(wù)器無需任何操作,在活動期間一直保持在線狀態(tài)。首先這個方案應(yīng)該在測試環(huán)境驗證后,再在生產(chǎn)環(huán)境實施。非常重要的是,我們注意到在異步鏡像模式,也可以參照這種做法,只是需要在應(yīng)用停機的情況下來實施。

上述內(nèi)容就是SQL Server中怎么不停機移動鏡像數(shù)據(jù)庫,你們學(xué)到知識或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識儲備,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI