MS SQL 数据库迁移文件,这里说的不是将数据库迁移到另外一台服务器,只是在服务器不同磁盘目录内做迁移。移动数据库文件的情况大致有下面一些:

  1: 事先没有规划好,数据库文件或日志文件增长过快,导致某个盘或整个磁盘空间不足,需要移动数据文件或日志文件

  2: 纯粹由于业务需求,数据增长过快。

  3: 为了更好的IO的性能,需要将数据文件、日志文件分布到不同磁盘,减轻IO压力,提供IO性能。

  4:故障恢复。例如,数据库处于可疑模式或因硬件故障而关闭。

案例:现在我在数据库实例中有数据库MyAssistant,(假设)由于事先没有规划好,导致数据文件位于E:\DataBase目录下, 我们需要将数据文件移动到D:\DataBase_Data目录下,

将日志文件移动到F:\DataBase_Log目录下。

步骤1:对数据库中每个要移动的文件(数据文件/日志文件),通过下面命令指定到新的目录

USE master

GO

ALTER DATABASE MyAssistant

MODIFY FILE(NAME='MyAssistant', FILENAME='D:\DataBase_Data\MyAssistant.mdf');

GO

ALTER DATABASE MyAssistant

MODIFY FILE(NAME='MyAssistant_log', FILENAME='F:\DataBase_Log\MyAssistant_log.ldf');

GO

如果有多个数据库的数据文件/日志文件需要移动,可以通过一系列上述命令执行

ALTER DATABASE DATABASE_ID1

MODIFY FILE(NAME='DATABASE_NAME', FILENAME='....mdf');

ALTER DATABASE DATABASE_ID2

MODIFY FILE(NAME='DATABASE_NAME', FILENAME=.....mdf');

.......

步骤2:停止SQL Server实例,你可以在SQL Server Management Studio的配置工具Sql Server Configuration Manager下停止。也可用NET STOP MSSQLSERVER命令实现。

步骤3:将那些数据文件或日志文件手工移动到对应的目录(也就是上面命令中FILENAME对应的目录)

步骤4:重启SQL Server实例,验证数据文件迁移是否成功。

SELECT name, physical_name
 
FROM sys.master_files
 
WHERE database_id = DB_ID('MyAssistant');

二:迁移系统数据库文件

 迁移系统数据库文件与迁移用户数据库文件稍微有些不同,主要是master数据库有点特殊,下面介绍一下迁移master系统数据库的步骤:

步骤1:如果SQL Server实例已经启动,那么停止该实例;这一步也完全可以忽略不做。

步骤2:修改启动参数(配置管理器-高级标签-启动参数)

-dD:\sqldata\master.mdf;

-eC:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Log\ERRORLOG;

-lE:\sqllog\mastlog.ldf

步骤3:关闭实例服务,拷贝master数据库的相关文件到目标文件。如上所示,把master数据的数据文件和日志文件分别从C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA下拷贝到D:\sqldata 和E:\sqllog\目录下。

步骤4:启动服务。检查OK没有问题后,删除master数据库在原C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA下的文件。

迁移model、msdb、tempdb数据库的步骤如下:

步骤1: 执行下面脚步

USE master

GO

ALTER DATABASE msdb
MODIFY FILE(NAME='MSDBData', FILENAME='D:\sqldata\MSDBData.mdf') ;
GO ALTER DATABASE msdb
MODIFY FILE(NAME='MSDBLog', FILENAME='E:\sqllog\MSDBLog.ldf') ; GO ALTER DATABASE model
MODIFY FILE(NAME='modeldev', FILENAME='D:\sqldata\model.mdf') ; GO ALTER DATABASE model
MODIFY FILE(name='modellog' , filename='E:\sqllog\modellog.ldf') ; GO ALTER DATABASE tempdb
MODIFY FILE(name='tempdev', filename='D:\sqldata\tempdb.mdf') ; GO ALTER DATABASE tempdb
MODIFY FILE(name='templog', filename='E:\sqllog\templog.ldf') ; GO

步骤2:停止SQL SERVER服务,移动数据文件到制定路径,需要注意的是:对于临时数据库,由于每次启动 MSSQLSERVER 服务时都会重新创建 tempdb,因此不需要从物理意义上移动数据和日志文件。

步骤3: 启动SQL SERVER服务,验证修改是否生效。

步骤4: 删除原来的数据文件。

作者:潇湘隐者
http://www.cnblogs.com/kerrycode/archive/2013/04/24/3041357.html
本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接.

MS SQL 迁移数据库文件的更多相关文章

  1. MS SQL Server数据库修复/MDF数据文件数据恢复/MDF质疑/mdf无法附加

    微软的SQL Server 数据库最常用的有两种类型的文件: 1.主要数据文件,文件后缀一般是.MDF: 2.事务日志文件,文件后缀一般是.LDF. 用户数据表.视图.存储过程等等数据,都是存放在MD ...

  2. (火炬)MS SQL Server数据库案例教程

    (火炬)MS SQL Server数据库案例教程 创建数据库: CREATE DATABASE TDB //数据库名称 ON ( NAME=TDB_dat,//逻辑文件名 在创建数据库完成之后语句中引 ...

  3. 【MS SQL】数据库维护计划之数据库备份(一)

    原文:[MS SQL]数据库维护计划之数据库备份(一) 在做数据库备份之前,一定会听到:完整备份.差异备份.增量备份.事务日志备份...等词:下面配图进行说明. 完整备份:完整数据库备份包含数据库中的 ...

  4. 【MS SQL】数据库维护计划之数据库备份(二)

    原文:[MS SQL]数据库维护计划之数据库备份(二) 上篇[MS SQL]数据库维护计划之数据库备份(一) 说了数据库备份的一些概念后,这篇以HRP_KQYY数据库备份为例,进行备份计划设置. 考虑 ...

  5. 在易语言中调用MS SQL SERVER数据库存储过程方法总结

    Microsoft SQL SERVER 数据库存储过程,根据其输入输出数据,笼统的可以分为以下几种情况或其组合:无输入,有一个或多个输入参数,无输出,直接返回(return)一个值,通过output ...

  6. 人人都是 DBA(V)SQL Server 数据库文件

    SQL Server 数据库安装后会包含 4 个默认系统数据库:master, model, msdb, tempdb. SELECT [name] ,database_id ,suser_sname ...

  7. MS SQL Server数据库在线管理工具

    MS SQL Server数据库以其优异的性能,被广泛使用,特别是政务,医疗行业.但是远程维护挺不方便的,目前有一款基于WEB的工具TreeSoft数据库管理系统. 免安装,直接解压就可以用了.直接通 ...

  8. MS SQL Server数据库查询优化技巧

    [摘 要]本文主要是对MS SQL Server数据库查询优化技巧进行了说明和分析,对索引使用.查询条件以及数据表的设计等进行了阐述.中国论文网 http://www.xzbu.com/2/view- ...

  9. sql server数据库文件的迁移(mdf&ldf文件)

    mdf 源文件 ldf 日志文件 在服务器不同磁盘目录内做迁移.移动用户数据库文件的情况大致有下面一些: ① 没有设计规划好,贪图方便,,,,数据库文件和日志文件增长过快,导致存放数据库文件的磁盘空间 ...

随机推荐

  1. Codeforces Round #281 (Div. 2) D. Vasya and Chess 博弈

    D. Vasya and Chess   Vasya decided to learn to play chess. Classic chess doesn't seem interesting to ...

  2. ConfigSections配置

    如果配置文件中包含了configSections,那么configSections的下一个节点,必须是configSections里面的元素 <configSections> <se ...

  3. Thinkpad E450c开启Intel virtual technology

    1.重启系统,一直按F12,进入系统设置后,按tab进入App Menu选项卡,选择Setup按回车进入BIOS设置 2.移动到Security选项 3.移动到Virtualization,按ente ...

  4. angular2之pdf文件操作大全

    最近的项目中需要显示pdf内容.下载pdf.甚至是前端生成pdf 适用于angular2.4或者更高版本 情景1.需要将页面的某个部分转成pdf文件并下载(即将页面的部分html内容转成pdf文件) ...

  5. HTML中常用的颜色词汇

    white (白色). black(黑色) . blue(蓝色) . green(绿色) .red(红色) .yellow(黄色) . pink(粉色).gray(灰色).brown(棕色). gre ...

  6. BZOJ 1583

    思路: 维护两个指针pointer_1和pointer_2 代表用算法一走到的位置 和算法2走到的位置 若 算法一<算法2 数组后面就插入算法一的解  pointer_1++ (记得判重) (这 ...

  7. DOM 介绍

    什么时DOM DOM:文档对象模型.DOM为文档提供了结构化表示,并定义了如何通过脚本来范文文档结构.目的起始就是为了能让js操作html元素而指定的一个规范. DOM就是由节点组成的. 解析过程 H ...

  8. sql 系统函数

    --查看表备注SELECT a.column_id AS No, a.name AS 列名, isnull(g.[value],'-') AS 说明 FROM sys.columns a left j ...

  9. 浏览器缓存机制(HTTP缓存机制)

    其机制是根据HTTP报文的缓存标识进行的. 过程:浏览器发起HTTP请求 – 服务器响应该请求.那么浏览器第一次向服务器发起该请求后拿到请求结果,会根据响应报文中HTTP头的缓存标识,决定是否缓存结果 ...

  10. 最简单的多线程死锁案例代码(Java语言)

    package com.thread.test; public class DeadLock { private static Object firstMonitor = new Object(); ...