现有数据库的Sql Server更改数据和日志路径

10

我正在使用SQL Server 2008,其中运行着近15个数据库。由于空间不足,我希望将数据路径移动到另一个驱动器上。请问这样做的最佳实践是什么?如果需要包括任何SQL命令,请详细说明,因为我对SQL Server管理相对较新。

注意 - 我已经从SQL Management Studio 2008更改了SQL Server属性的路径,以便使用新路径。但我也希望现有的数据库驻留在新路径中

2个回答

12

首先,分离数据库:

USE master;
GO
-- Important! We need to drop the existing connections.
ALTER DATABASE DBName SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
GO
EXEC sp_detach_db @dbname = N'DBName';
GO

接下来,复制此数据库的 .mdf 和 .ldf 文件到新位置。

然后附加数据库:

USE master;
EXEC sp_attach_db @dbname = N'dbName', 
@filename1 = N'',  --path do .mdf
@filename2 = N'';  --path to .ldf
GO
如果您不想逐个附加和分离数据库,可以使用在sys.databases动态管理视图中搜索的游标生成SQL脚本来附加和分离您所需的所有数据库(当然除了系统数据库),但别忘了复制数据库文件。

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接