zoukankan      html  css  js  c++  java
  • 如何挪动数据库文件?

    如何修改数据库文件的路径?

    以SharePoint为例, 很多数据库都是在运行wizard的时候自动创建出来的. 假设我们现有了SQL Server, 后为SQL划分存储, 那么很多SharePoint DB就会存放在SQL Server 2012默认的数据库文件存放路径中.

    C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA

    我们可以通过下面的步骤来修改数据库文件的路径, 从而让SQL适应存储的需要.

    1. 运行下面的命令查询现有文件的名和路径.

    select * from sys.sysaltfiles
    


    从结果中, 我们可以得到数据库的名字, MDF和LDF文件的名字和路径.

    2. 运行下面的命令来修改文件路径.

    alter database [SharePoint_Config] 
    modify file (name = 'SharePoint_Config', filename = 'C:\Mount\AdminConfigData\SharePoint_Config.mdf')
    
    alter database [SharePoint_Config]
    modify file (name = 'SharePoint_Config_log', filename = 'C:\Mount\AdminConfigLog\SharePoint_Config_log.ldf')
    


    之后, 我们在运行一下第一条命令, 来confirm一下路径是否修改正确了.

    3. 使用下面的脚本来让目标数据库变为Single User模式, 否则下面的offline动作会失败.

    alter database SharePoint_Config 
    set single_user with rollback
    immediate
    go
    

    4. 使用下面的脚本, Offline目标database.

    USE master
    GO
    ALTER DATABASE [SharePoint_Config]
    SET OFFLINE WITH ROLLBACK IMMEDIATE
    GO
    

    4. 剪切MDF和LDF文件.

    5. 使用下面的脚本, 让目标database online.

    USE master
    GO
    ALTER DATABASE [SharePoint_Config]
    SET ONLINE
    GO
    

    6. 使用下面的脚本, 恢复数据库为Multi-User模式.

    alter database SharePoint_Config 
    set multi_user
    go
    

    7. 修改完成.

    如果是测试用的话, 那么大可不必麻烦修改single user和offline.

    在Services.msc中停掉SQL Service后剪切文件, 之后再启动SQL Service就可以了.

    感谢Bruce Ye老师倾情指导.

  • 相关阅读:
    Asp.net Mvc中MVCContrib中无法使用Castle的发解决方案
    Asp.net Mvc Framework 十(测试方法及Filter的示例)
    无注册表的COM调用
    Direct3D 9学习笔记(13)网格(Mesh)4
    Direct3D 9学习笔记(11)网格(Mesh)2
    ATL 核心COM继承类之IDispatchImpl及调用
    ATL 核心COM继承类之CComObjectRootEx及CComObjectLock
    Direct3D 9学习笔记(12)网格(Mesh)3
    ATL COM类之激活
    ATL 引用计数线程模型
  • 原文地址:https://www.cnblogs.com/awpatp/p/2937284.html
Copyright © 2011-2022 走看看