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

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

Stack Overflow用户
提问于 2013-10-30 17:16:02
回答 2查看 16.2K关注 0票数 3

目前,我有一个要在当前服务器上移动的数据库列表。

数据:

当前路径:驱动器:\MSSQL\DATA\文件夹

新路径:驱动器:\MSSQL\DATA

日志:

当前路径:驱动器:\MYSSQL\LOGS\文件夹

新路径:驱动器:\MYSSQL\LOGS

是否有SQL脚本可用于将多个数据库设置为离线,分离它们并将它们附加到新位置?这也是一个生产环境,并且是非常大的数据库(备份和恢复需要更长的时间)。总共需要移动9个数据库,只要位置和用户拥有所需的权限,这是一个简单的过程吗?谢谢你的帮助。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-10-30 17:41:37

这是一个简单的过程,您实际上也不需要分离数据库来完成此操作,您只需执行以下操作:

将文件设置为离线文件更改主数据库中的文件位置(使用alter database)

  • physically move
  • set db online

下面的文章描述了这个过程:

Move User Databases

只要移动文件的用户拥有您运行的SQL server as的权限和服务帐户,就可以完全控制新文件夹,这是我已经做过很多次的事情。

对多个数据库执行此操作也很简单,因为您已经制定了执行第一个数据库的步骤。

票数 3
EN

Stack Overflow用户

发布于 2013-10-30 17:50:09

您可以使用此代码更改路径。但您必须手动将文件移动到新位置。WITH ROLLBACK IMMEDIATE通过断开任何当前连接来加快离线过程。

代码语言:javascript
复制
ALTER DATABASE <db-name> SET OFFLINE WITH ROLLBACK IMMEDIATE;
ALTER DATABASE <db-name> MODIFY FILE ( NAME = <db-name>, FILENAME = <db-path\filename.mdf> );
ALTER DATABASE <db-name> SET ONLINE;

有关更多信息,请查看相关的MSDN article

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

https://stackoverflow.com/questions/19678141

复制
相关文章

相似问题

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