zoukankan      html  css  js  c++  java
  • Mirror--如何在主库上增加文件

    由于各种原因,如磁盘不空不足,需要对主库增加数据库文件到其他磁盘上,而镜像服务器上没有对应盘符,很多人会选择删除镜像,重新完备还原来搭建镜像,这种方式耗时耗力。

    在做此类操作时,需要对主服务器和镜像服务器的环境镜进行检查,依据情况采用不同的方式处理。

    1> 主库服务器和镜像服务器配置一样,且新增加文件的路径保持一样
    在这种情况下,只需要保证镜像服务器上有相同的目录存在即可,SQL Server会将新增文件操作自动同步到镜像库上(镜像服务器上目录需手动建立)


    2>主库服务器和镜像服务器配置不一样,或新增文件的路径需要更改
    如新增文件路径为F:DBDB1.ndf,而镜像服务没有F盘,需要放置到E:DB目录下,此时便需要进行特殊配置。

    场景:
    对数据库[RepDB1]增加数据文件“E:DB1RepDB1_F1.ndf”,但镜像服务上没有磁盘E,需要将新增的数据文件转移到目录“F:DB1”下。

    操作步骤:

    1> 断开镜像,在主库上增加新文件

    USE [master]
    GO
    ALTER DATABASE [RepDB1] SET PARTNER OFF
    GO
    ALTER DATABASE [RepDB1] ADD FILE ( NAME = N'RepDB1_F1', FILENAME = N'E:DB1RepDB1_F1.ndf' ,
     SIZE = 5120KB , FILEGROWTH = 1024KB ) TO FILEGROUP [PRIMARY]
    GO

    2>备份数据

    BACKUP LOG [RepDB1] TO DISK ='E:RepDB1_20140210.BAK'

    3>在镜像服务器上,还原数据库并使用MOVE命令指定新增文件的位置

    RESTORE LOG [REPDB1]
    FROM DISK=N'E:RepDB1_20140210.BAK'
    with norecovery, move N'RepDB1_F1' TO N'F:DB1RepDB1_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

  • 相关阅读:
    平时十六测
    平时十五测
    平时十四测
    poj 1486 Sorting Slides
    POJ 3621Sightseeing Cows
    POJ 2728 Desert King
    POJ3111 K Best
    NOIopenjudge 407:Heritage
    POJ#2065. SETI
    HDU 4607 Park Visit
  • 原文地址:https://www.cnblogs.com/TeyGao/p/3542994.html
Copyright © 2011-2022 走看看