首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >将SQL Server 2008数据库文件移动到新的文件夹位置

将SQL Server 2008数据库文件移动到新的文件夹位置
EN

Stack Overflow用户
提问于 2011-07-05 23:11:02
回答 5查看 122K关注 0票数 49

逻辑名称

  • my_Data
  • my_Log

路径:

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

FileName:

  • my.MDF
  • my_1.LDF

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

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

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2011-07-05 23:31:35

您忘记了提及数据库的名称(是“my”吗?)。

代码语言:javascript
复制
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\ (如果您在修改文件命令中更改了它们,请记住手动重命名它们) ...然后,您可以使数据库重新联机:

代码语言:javascript
复制
ALTER DATABASE my SET ONLINE;

ALTER DATABASE my SET MULTI_USER;

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

票数 85
EN

Stack Overflow用户

发布于 2011-07-06 00:26:10

可以在SQL Server Management Studio中使用分离/附加选项。

检查这个:Move a Database Using Detach and Attach

票数 17
EN

Stack Overflow用户

发布于 2013-05-13 22:42:23

要向文件添加所需的特权,请添加以下本地用户并授予权限: SQLServerMSSQLUser$COMPUTERNAME$INSTANCENAME,其中COMPUTERNAMEINSTANCENAME必须分别替换为计算机的名称和MSSQL实例的名称。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6584938

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档