MS SQL 迁移数据库文件
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_nameFROM sys.master_filesWHERE 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: 删除原来的数据文件。
本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接.
MS SQL 迁移数据库文件的更多相关文章
- MS SQL Server数据库修复/MDF数据文件数据恢复/MDF质疑/mdf无法附加
微软的SQL Server 数据库最常用的有两种类型的文件: 1.主要数据文件,文件后缀一般是.MDF: 2.事务日志文件,文件后缀一般是.LDF. 用户数据表.视图.存储过程等等数据,都是存放在MD ...
- (火炬)MS SQL Server数据库案例教程
(火炬)MS SQL Server数据库案例教程 创建数据库: CREATE DATABASE TDB //数据库名称 ON ( NAME=TDB_dat,//逻辑文件名 在创建数据库完成之后语句中引 ...
- 【MS SQL】数据库维护计划之数据库备份(一)
原文:[MS SQL]数据库维护计划之数据库备份(一) 在做数据库备份之前,一定会听到:完整备份.差异备份.增量备份.事务日志备份...等词:下面配图进行说明. 完整备份:完整数据库备份包含数据库中的 ...
- 【MS SQL】数据库维护计划之数据库备份(二)
原文:[MS SQL]数据库维护计划之数据库备份(二) 上篇[MS SQL]数据库维护计划之数据库备份(一) 说了数据库备份的一些概念后,这篇以HRP_KQYY数据库备份为例,进行备份计划设置. 考虑 ...
- 在易语言中调用MS SQL SERVER数据库存储过程方法总结
Microsoft SQL SERVER 数据库存储过程,根据其输入输出数据,笼统的可以分为以下几种情况或其组合:无输入,有一个或多个输入参数,无输出,直接返回(return)一个值,通过output ...
- 人人都是 DBA(V)SQL Server 数据库文件
SQL Server 数据库安装后会包含 4 个默认系统数据库:master, model, msdb, tempdb. SELECT [name] ,database_id ,suser_sname ...
- MS SQL Server数据库在线管理工具
MS SQL Server数据库以其优异的性能,被广泛使用,特别是政务,医疗行业.但是远程维护挺不方便的,目前有一款基于WEB的工具TreeSoft数据库管理系统. 免安装,直接解压就可以用了.直接通 ...
- MS SQL Server数据库查询优化技巧
[摘 要]本文主要是对MS SQL Server数据库查询优化技巧进行了说明和分析,对索引使用.查询条件以及数据表的设计等进行了阐述.中国论文网 http://www.xzbu.com/2/view- ...
- sql server数据库文件的迁移(mdf&ldf文件)
mdf 源文件 ldf 日志文件 在服务器不同磁盘目录内做迁移.移动用户数据库文件的情况大致有下面一些: ① 没有设计规划好,贪图方便,,,,数据库文件和日志文件增长过快,导致存放数据库文件的磁盘空间 ...
随机推荐
- android中的back键处理
Back键是手机上的后退键,一般的软件不捕获相关信息可能导致你的程序被切换到后台,而回到桌面的尴尬情况,在Android上有两种方法来获取该按钮的事件. 1.直接获取按钮按下事件,此方法兼容Andro ...
- 检测含有挖矿脚本的WiFi热点——果然是天下没有免费的午餐
见:http://www.freebuf.com/articles/web/161010.html 本质上是在开放wifi热点,自己搭建挖掘的网页,让接入的人访问该网页. 802.11无线协议本身特点 ...
- B1257 [CQOI2007]余数之和 数学,分块
这个题想明白之后很好做,但是不好想.我根本没想出来,上网看了一下才知道怎么做... 这个题其实得数是一个等差数列,然后一点点求和就行了. 上次NOIP就是没看出来规律,这次又是,下次先打表找规律!!! ...
- PCB C# 连接MongoDB 数据库
一.C# MongoDB 驱动下载 1.百度网盘:nuget下载地址(V2.7版本) https://pan.baidu.com/s/1VDsVcH1TMrXqhRCZVewZgA 2.VS 中NUg ...
- ride关键字
定义变量:set variable 打印 :log 列表:create list 字符转数字型:evaluate 随机数:evaluate random.randint 日志截图:先导入screens ...
- 想要学好C/C++,我到底要看多少书才能成为一个合格的C/C++工程师?
如何学好C语言 这可能是很多朋友的问题,我以前也有这样的感觉,编程编到一定的时候,发现能力到了瓶颈,既不深,也不扎实,半吊子.比如:你长期地使用Java和.NET ,这些有虚拟机的语言对于开发便利是便 ...
- BZOJ 4562 搜索...
思路: 统计入度&出度 每搜到一个点 in[v[i]]--,f[v[i]]+=f[t]; if(!in[v[i]])if(out[v[i]])q.push(v[i]);else ans+=f[ ...
- 5.14JDBC
一.##JDBC 1. 概念:Java DataBase Connectivity Java 数据库连接, Java语言操作数据库. JDBC本质:其实是官方(sun公司)定义的一套操作所有关系型数 ...
- Laravel5.1学习笔记3 HTTP中间件
HTTP 中间件 简介 建立中间件 注册中间件 可终止中间件 简介 HTTP 中间件提供一个方便的机制来过滤进入应用程序的 HTTP 请求,例如,Laravel 默认包含了一个中间件来检验用户身份验证 ...
- MVC5+EasyUI+EF6+Linq通用权限系统出炉--登录(2)
1.输入验证码后 自动识别验证码并登录.