因爲各類緣由,如磁盤不空不足,須要對主庫增長數據庫文件到其餘磁盤上,而鏡像服務器上沒有對應盤符,不少人會選擇刪除鏡像,從新完備還原來搭建鏡像,這種方式耗時耗力。html
在作此類操做時,須要對主服務器和鏡像服務器的環境鏡進行檢查,依據狀況採用不一樣的方式處理。數據庫
1> 主庫服務器和鏡像服務器配置同樣,且新增長文件的路徑保持同樣
在這種狀況下,只須要保證鏡像服務器上有相同的目錄存在便可,SQL Server會將新增文件操做自動同步到鏡像庫上(鏡像服務器上目錄需手動創建)服務器
2>主庫服務器和鏡像服務器配置不同,或新增文件的路徑須要更改
如新增文件路徑爲F:\DB\DB1.ndf,而鏡像服務沒有F盤,須要放置到E:\DB目錄下,此時便須要進行特殊配置。spa
場景:
對數據庫[RepDB1]增長數據文件「E:\DB1\RepDB1_F1.ndf」,但鏡像服務上沒有磁盤E,須要將新增的數據文件轉移到目錄「F:\DB1」下。日誌
操做步驟:code
1> 斷開鏡像,在主庫上增長新文件htm
USE [master] GO ALTER DATABASE [RepDB1] SET PARTNER OFF GO ALTER DATABASE [RepDB1] ADD FILE ( NAME = N'RepDB1_F1', FILENAME = N'E:\DB1\RepDB1_F1.ndf' , SIZE = 5120KB , FILEGROWTH = 1024KB ) TO FILEGROUP [PRIMARY] GO
2>備份數據blog
BACKUP LOG [RepDB1] TO DISK ='E:\RepDB1_20140210.BAK'
3>在鏡像服務器上,還原數據庫並使用MOVE命令指定新增文件的位置get
RESTORE LOG [REPDB1] FROM DISK=N'E:\RepDB1_20140210.BAK' with norecovery, move N'RepDB1_F1' TO N'F:\DB1\RepDB1_F1.ndf'
4>從新創建鏡像同步
--鏡像服務器運行 ALTER DATABASE [REPDB1] SET PARTNER =N'TCP://192.168.1.29:5023' --主服務器運行 ALTER DATABASE [REPDB1] SET PARTNER =N'TCP://192.168.1.31:5023'
不少人都知道在還原完整備份時能夠修改數據文件的路徑,但不會考慮到在日誌還原時修改文件路徑,因此形成須要完備還原的誤區。
參考:http://www.cnblogs.com/Joe-T/archive/2013/04/08/3008617.html