所以我们服务器上数据库的默认位置是
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:\...\data
到d:\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
工作正常