如何分离不在数据库列表中的 SQL Server 2008 数据库?

如何分离不在数据库列表中的 SQL Server 2008 数据库?

我在 Windows 7 上安装了 SQL Server 2008。然后创建了一个数据库。两天后,我重新安装了 Windows 和 SQL Server。

现在我正尝试附加我的数据库文件,但遇到了以下错误。

我认为这些文件就像附件一样,但我无法附加它们。附件和非附件之间有什么区别?我该如何附加此文件?请帮帮我。

错误文本:标题:Microsoft SQL Server Management Studio

服务器“AMIR-PC”附加数据库失败。(Microsoft.SqlServer.Smo)

如需帮助,请点击: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=10.50.1600.1+((KJ_RTM).100402-1540+)&EvtSrc=Microsoft.SqlServer.Management.Smo.ExceptionTemplates.FailedOperationExceptionText&EvtID=Attach+database+Server&LinkId=20476

- - - - - - - - - - - - - - - 附加信息:

执行 Transact-SQL 语句或批处理时发生异常。(Microsoft.SqlServer.ConnectionInfo)


无法打开物理文件“F:\Company.mdf”。操作系统错误 5:“5(拒绝访问。)”。(Microsoft SQL Server,错误:5120)

如需帮助,请点击: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=10.50.1600&EvtSrc=MSSQLServer&EvtID=5120&LinkId=20476

答案1

如果您收到该错误,则表示您的数据库未附加,因此不会出现在服务器实例的数据库列表中。因此,由于它一开始就未附加,因此无法分离。

运行 SQL Server 实例的帐户没有文件系统权限来访问要附加的数据文件。您需要先更改数据文件的权限,然后才能附加该数据库。

在 SQL Server 安装期间,会创建多个组,以便适当地设置 SQL Server 文件系统资源的安全性。最有可能的是,F:\Company.mdf 上留下的权限与您之前安装的 Windows 中的帐户/组有关。现在您已经重新安装了 Windows 和 SQL Server,这些帐户已使用新的安全标识符 (SID) 重新创建。即使新的帐户/组的名称与您之前安装的名称相同,SID 也会有所不同,SID 是安全主体的标识方式。

重置 F:\Company.mdf 和相应日志 (.ldf) 文件 (可能是 F:\Company.ldf?) 的权限,然后尝试重新附加该文件。

相关内容