小编ado*_*ic 的帖子

尝试重新启动移动的数据库后:无法打开物理文件“D:\Data\MYDBNAME.MDF”

所以我们服务器上数据库的默认位置是

c:\program files\microsoft sql server\mssql11.mssqlserver\mssql\DATA
Run Code Online (Sandbox Code Playgroud)

但由于空间限制,我们改为使用

d:\data
Run Code Online (Sandbox Code Playgroud)

我现在已将默认位置更正为d:\data

但是,我无法将在错误位置创建的数据库移动c:\...\datad:\data

ALTER DATABASE MYDATABASE set offline

ALTER DATABASE MYDATABASE 
MODIFY FILE ( NAME = 'MYDATABASE', FILENAME = 'D:\Data\MYDATABASE.MDF')

ALTER DATABASE MYDATABASE 
MODIFY FILE ( NAME = 'MYDATABASE_LOG', FILENAME =  'D:\Data\MYDATABASE_LOG.LDF')

ALTER DATABASE MYDATABASE SET ONLINE
Run Code Online (Sandbox Code Playgroud)

失败并显示以下错误消息

消息 5120,级别 16,状态 101,第 1 行
无法打开物理文件“D:\Data\MYDATABASE.MDF”。操作系统错误2:“2(系统找不到指定的文件。)”。文件激活失败。物理文件名“D:\Data\MYDATABASE_log.lDF”可能不正确。

消息 5181,级别 16,状态 5,第 1 行
无法重新启动数据库“MYDATABASE”。恢复到之前的状态。

消息 5069,级别 16,状态 1,第 1 行
ALTER DATABASE 语句失败。

服务器肯定可以访问新位置,因为所有其他数据库都d:\data工作正常

sql-server-2012

1
推荐指数
1
解决办法
6595
查看次数

标签 统计

sql-server-2012 ×1