SQLServer不停機(jī)移動鏡像數(shù)據(jù)庫方案和應(yīng)用場景

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

創(chuàng)新互聯(lián)主營洪湖網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,成都App制作,洪湖h5微信小程序開發(fā)搭建,洪湖網(wǎng)站營銷推廣歡迎洪湖等地區(qū)企業(yè)咨詢

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

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

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

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

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

對于鏡像實(shí)例:

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

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

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

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

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

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

對于主實(shí)例:

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

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

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

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

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

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

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

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

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

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

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

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

在以下應(yīng)用場景下會移動鏡像數(shù)據(jù)庫的數(shù)據(jù)或日志文件的位置:

  1. 磁盤空間不足

    數(shù)據(jù)庫服務(wù)器上,配置了鏡像的數(shù)據(jù)庫所在磁盤空間不足,可以遷移MDF或LDF文件到新的磁盤。

  2. 加速鏡像數(shù)據(jù)庫追上主庫

    在主庫從宕機(jī)中恢復(fù)后,成為了新主庫的鏡像數(shù)據(jù)庫,為了加速鏡像數(shù)據(jù)庫追上主庫,可以將數(shù)據(jù)和日志文件移動到性能更優(yōu)的磁盤,如SSD上。

文章標(biāo)題:SQLServer不停機(jī)移動鏡像數(shù)據(jù)庫方案和應(yīng)用場景
網(wǎng)站鏈接:http://www.muchs.cn/article42/geheec.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供服務(wù)器托管企業(yè)網(wǎng)站制作、、用戶體驗(yàn)、定制開發(fā)、小程序開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站制作