开发者社区> 潇湘隐者> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

MS SQL 迁移数据库文件

简介:
+关注继续查看

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

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

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

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

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

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

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

clip_image002

步骤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: 删除原来的数据文件。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
查看MS SQL最耗时间资源的SQL
查看MS SQL最耗时间资源的SQL
0 0
30分钟学习MS SQL Server的事务与并发
本篇介绍了事务和并发,重点解释了事务是个什么鬼,以及在SQL Server中如何管理事务。演示了在SQL Server中如何把一个事务访问的数据和其他事务的不一致性使用进行隔离,以及如何处理死锁的情况。
807 0
MS SQL 锁与事务
MS SQL 锁与事务加锁的主要目的是为了防止并发操作时导致的数据不一致等问题,锁分为共享锁(S)、更新锁(U)、排他锁(X),共享锁与更新只是单向兼容?传说中的单相思? 事务 事务能保证数据操作的原子性,要么内部操作都提交,要么都回退。
501 0
PostgreSQL 与 MS SQL(SQL Server) 类型映射关系
标签 PostgreSQL , ms sql , SQL Server , 类型映射 背景 PostgreSQL与SQL Server的类型映射: 1、常用类型映射 https://www.codeproject.
665 0
MS SQL统计信息浅析下篇
原文:MS SQL统计信息浅析下篇    MS SQL统计信息浅析上篇对SQL SERVER 数据库统计信息做了一个整体的介绍,随着我对数据库统计信息的不断认识、理解,于是有了MS SQL统计信息浅析下篇。
843 0
MS SQL 统计信息浅析上篇
原文:MS SQL 统计信息浅析上篇 统计信息概念     统计信息是一些对象,这些对象包含在表或索引视图中一列或多列中的数据分布有关的统计信息。数据库查询优化器使用这些统计信息来估计查询结果中的基数或行数。
535 0
MS SQL 监控错误日志的告警信息
原文:MS SQL 监控错误日志的告警信息     SQL Server的错误消息(Error Message)按照消息的严重级别一共划分25个等级,级别越高,表示严重性也越高。但是如果你统计sys.messages,你会发现,实际上只有16(SQL SERVER 2008/2012)或17个(SQL SERVER 2005)个级别。
626 0
作业配置规范文档[MS SQL]
原文:作业配置规范文档[MS SQL] 作业配置规范文档(MS SQL)     文档类型 MS SQL数据库作业配置规范文档 创建日期 2015-07-30 版本变化 V3.
513 0
MS SQL巡检系列——检查数据库上一次DBCC CHECKDB的时间
原文:MS SQL巡检系列——检查数据库上一次DBCC CHECKDB的时间 DBCC CHECKDB检查指定数据库中的所有对象的逻辑和物理完整性,具体请参考MSDN文档。我们必须定期对数据库做完整性检查(DBCC CHECKDB),以便能及时发现一些数据库损坏(Corruption)的情况。
700 0
MS SQL巡检系列——检查重复索引
原文:MS SQL巡检系列——检查重复索引 前言感想:一时兴起,突然想写一个关于MS SQL的巡检系列方面的文章,因为我觉得这方面的知识分享是有价值,也是非常有意义的。一方面,很多经验不足的人,对于巡检有点茫然,不知道要从哪些方面巡检,另外一方面,网上关于MS SQL巡检方面的资料好像也不是特别多。
523 0
+关注
潇湘隐者
网名潇湘隐者/潇湘剑客、英文名Kerry,兴趣广泛,广泛涉猎,个性随意,不善言辞。执意做一名会写代码的DBA,混迹于IT行业
文章
问答
文章排行榜
最热
最新
相关电子书
更多
用SQL做数据分析
立即下载
阿里云流计算 Flink SQL 核心功能解密
立即下载
Comparison of Spark SQL with Hive
立即下载