如何将SQLServer 2008数据库文件移动到新的文件夹位置?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (17)

逻辑名称

  • my_Data
  • my_Log

路径:

  • C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA
  • C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA

文件名:

  • my.MDF
  • my_1.LDF

将这些文件移动到新位置的SQL脚本是什么:D:\DATA

数据库是活动的,所以我需要关闭现有的连接。

提问于
用户回答回答于

可以:

ALTER DATABASE my SET SINGLE_USER WITH ROLLBACK IMMEDIATE;

ALTER DATABASE my SET OFFLINE;

ALTER DATABASE my MODIFY FILE 
(
   Name = my_Data,
   Filename = 'D:\DATA\my.MDF'
);

ALTER DATABASE my MODIFY FILE 
(
   Name = my_Log, 
   Filename = 'D:\DATA\my_1.LDF'
);

现在,您必须手动将文件从当前位置移动到D:\data\...然后:

ALTER DATABASE my SET ONLINE;

ALTER DATABASE my SET MULTI_USER;

这假设SQLServer服务帐户对D:\Data\文件夹拥有足够的权限。如果不是,您将在SETOnline命令中收到错误。

用户回答回答于

您可以在SQLServerManagementStudio中使用DECTACH/ATACH选项。

扫码关注云+社区