情景:公司有一个数据库,把数据库文件和事务日志文件全都存储在D盘,可是由于业务扩展,需要使用到更多D盘的磁盘空间,CIO让你把数据库文件从D盘移动到F盘。
此时,你该怎么办呢?由于白天很多用户会访问到你的数据库,要移动需要挑选夜间无人时进行!
转移之前请先做个完整备份,以便发生任何意想不到的事情可以拯救回来!
下面让我们开始来移动咯!
方法一:使用T-SQL语句实现移动数据库
--首先让你的数据库状态变成脱机状态
ALTER DATABASE Test SET OFFLINE WITH ROLLBACK IMMEDIATE;
--执行这个命令之后,SQL Server立即断开所有的连接并回退它们的事务(此时如果有执行未完的事务就容易让数据库丢失)
--所有正在执行事务的用户都会接收到一个连接错误,而且他们不能再连接数据库。
--查看Test数据库是否存在,对对看数据库名字是否正确
SELECT name ,
physical_name AS CurrentLocation ,
state_desc
FROM sys.master_files
--移动数据文件和事务日志文件到新位置。运行以下T-SQL语句:(此处数据库名字为Test)
ALTER DATABASE Test MODIFY FILE(NAME=Test,FILENAME='F:\Test.mdf');
ALTER DATABASE Test MODIFY FILE(NAME=Test_Log,FILENAME='F:\Test_Log.ldf');
ALTER DATABASE Test SET ONLINE
方法二:使用SSMS界面操作:
详细步骤:
(1)首先把数据库分离:(此时保证没人使用数据库)
(2)将此数据库的两个文件:DBTest.MDF、DBTest_Log.LDF移动到新的硬盘上;
(3)附加数据库:
这样就行了。
《本文为王瓒原创博文,需要转载,请联系本人!http://www.cnblogs.com/ITGirl00》
交流QQ:392989505