因为各类缘由,如磁盘不空不足,须要对主库增长数据库文件到其余磁盘上,而镜像服务器上没有对应盘符,不少人会选择删除镜像,从新完备还原来搭建镜像,这种方式耗时耗力。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