zoukankan      html  css  js  c++  java
  • SQL Server系列之 在发布复制模式下移动日志文件

    一、问题起因

      随着数据库文件的日益增大,存放的磁盘空间越发显得不足,同时为了提高数据库的性能,数据库日志文件迁移显得尤为重要,即数据库主文件和日志文件分别存放在不同的磁盘上。 

    二、尝试迁移

      迁移日志文件,首先想到的是Detach和Attach方式,可以使用下面任一种方式

    1. 脚本

    SP_DETACH_DB 'DB NAME', 'TRUE'

    你会发现如下错误

    2. 通过SSMS管理器

    注意Status和Message列

    查了下MSDN,发现确实如此,如果数据库存在发布复制情况,则无法通过Detach和Attach方式来完成(除非你先移除发布复制)。

    三、问题解决

    1. 通过以下命令得到数据库基本信息

    SP_HELPDB DB_NAME

    2. 执行以下脚本

    ALTER DATABASE DB_NAME
    MODIFY FILE (NAME =DB_NAME_log, 
                 FILENAME = 'D:\DB_Log\DB_NAME_log.ldf');

    3. Stop the replication log reader agent job and distribution agent job

    4. Offline发布数据库 (如果时间太长,可先停掉SQL Server服务,然后再重启服务,这样可以快速停掉所有的数据库连接和操作)

    ALTER DATABASE DB_NAME SET OFFLINE

    5. 移动log文件至第2步的位置(即目录D:\LMS_DB\)

    6. Online发布数据库

    ALTER DATABASE DB_NAME SET ONLINE;

    7. 启动第3步停掉的两个Job

    作者:舍长
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.
  • 相关阅读:
    linux 安装 Chrome
    J2EE版本
    Java 源码解析之局部变量检查
    /etc/xinetd.conf 和 /etc/xinetd.d/*【新网络服务配置】
    Linux 内核编译
    linux 汇编
    /etc/ethers【地址映射】
    Linux LAMP 搭建
    Linux ftp 使用
    linux apache
  • 原文地址:https://www.cnblogs.com/panchunting/p/SQL_Tech_002.html
Copyright © 2011-2022 走看看