1

背景:我有一个名为的工作数据库WBPM,我使用 SSMS 中的右键单击功能将其重命名为,WBPM_v20120530因为我想推出一个新版本的数据库。我相信 SSMS 的右键单击重命名功能不会更改物理.MDF.LDF文件,所以当我想使用 SSDT 发布新版本时,我收到错误通知我WBPM存在 LDF 和 MDF 文件。

我使用 Windows 资源管理器重命名了物理文件。这是我遵循的程序:

-- 1. The Database had been renamed using SSMS right click FROM WBPM to WBPM_v20120530.
ALTER DATABASE WBPM_v20120530 SET OFFLINE

-- 2. I have inserted the new string "_v20120530" to the .mdf file using Windows Explorer and then run this command.
ALTER DATABASE WBPM_v20120530
MODIFY FILE (NAME = WBPM, 
FILENAME = 
'C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\WBMD_v20120530_Primary.mdf')
GO

-- 3. I have inserted the new string "_v20120530" to the .ldf file and run this command.
ALTER DATABASE WBPM_v20120530 
MODIFY FILE (NAME = WBPM_log, 
FILENAME ='C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\WBPM_v20120530_Primary.ldf')
GO

-- 4. I can not bring the database Online?
ALTER DATABASE WBPM_v20120530 SET ONLINE
GO

这是我从 SSMS 收到的错误消息:

消息 5120,级别 16,状态 101,第 1 行
无法打开物理文件“C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\WBMD_v20120530_Primary.mdf”。
操作系统错误 2:“2(无法检索此错误的文本。
原因:15105)

消息 945,级别 14,状态 2,第 1 行
数据库“WBPM_v20120530”由于无法访问文件或内存或磁盘空间不足而无法打开。有关详细信息,请参阅 SQL Server 错误日志。

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

任何帮助将不胜感激,因为我想恢复数据库?

非常感谢和亲切的问候,

伯蒂。

4

1 回答 1

3

我遵循了您的确切程序,并且能够做到这一点没问题。

请验证 SQL Server 服务帐户对该文件夹是否具有完全权限,是否已禁用 UAC,并且 Windows 资源管理器中的两个文件名的拼写是否与您的 alter 语句中的文件名匹配。

还可以尝试使用稍短的文件名(例如,尝试将 v2 注入文件路径而不是 v20120530 - 你不应该在那里达到上限,但它可能值得一试。

于 2012-05-31T01:15:19.123 回答