解决方法
您不必停止sql Server服务来移动数据库文件,但必须使特定数据库脱机.这是因为您在访问文件时无法移动文件并使数据库脱机会阻止sql Server应用程序使用这些文件.
移动它们的过程非常简单.已经描述了Detach / Attach,但它并不是那么复杂.@H_404_3@
使用ALTER DATABASE命令更改文件位置:@H_404_3@
USE master; --do this all from the master ALTER DATABASE foo MODIFY FILE (name='DB_Data1',filename='X:\NewDBFile\DB_Data1.mdf'); --Filename is new location
请注意,您无需在此命令中声明旧位置.更改此路径不会立即生效,但会在下次启动数据库时使用.@H_404_3@
(我使用WITH ROLLBACK IMMEDIATE来踢出所有人并回滚所有当前打开的事务)@H_404_3@
ALTER DATABASE foo SET OFFLINE WITH ROLLBACK IMMEDIATE;
只需使用您喜欢的方法复制文件(单击’拖动,XCopy,复制项,Robocopy)@H_404_3@
ALTER DATABASE foo SET ONLINE;