在sql server 2008中附加mdf文件的问题

我有一个SQL Server 2005数据库的MDF文件,现在我想它附加在SQL Server 2008 R2中,但是当我尝试附加它,它给了我错误说。

Unable to open the physical file "D:\Fraz\Freelance\Database\DBmdf13aug\mbh_pk.mdf". Operating system error 5: "5(Access is denied.)". (Microsoft SQL Server, Error: 5120) 

可能是什么问题以及如何解决? 这个文件夹权限错误或sql server 2008有缺less的东西

我想我们需要更多有关服务器的信息才能正确使用,但是您是否已经尝试了基础知识? 例如

  • VNC服务器服务是否正确安装和configuration,运行时没有logging错误?
  • 你可以ping从客户端到服务器?
  • 有没有防火墙可以阻止混合中的VNCstream量?

通常这意味着SQL Server运行的帐户没有对此位置的访问权限

运行SQL Server实例的帐户对该物理文件没有权限。 修复NTFS权限问题,然后使数据库联机…

 ALTER DATABASE mbh_pk SET ONLINE 

或重新启动SQL实例。

运行SQL实例的帐户需要修改控制文件或更高。

刚才在这里回答了类似的问题。 希望能帮助到你。

欢呼Chirag

可能只是一个文件夹的权限问题。

确保SQL服务帐户用户具有文件path的完整权限。 或将文件复制(不要移动)到默认数据文件夹。

理想的情况是,如果你在卸载SQL 2005之前已经对数据库进行了备份,那么你可以从备份中恢复数据库。 现在更棘手,可能会导致问题。

试试看看它是否适用于你,这应该为你重build日志文件。 请根据您的要求replaceDatabaseName,Filepath和FileName。

 CREATE DATABASE *[DemoSuspect]* ON (NAME = DemoSuspect, FILENAME = *N'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\DemoSuspect.mdf*') FOR ATTACH_REBUILD_LOG; GO 

启动MS SQL Server 2005,在复制之前将数据库分离,然后在MS SQL Server 2008中附加复制的mdf文件。

更新 :你真的不能完全通过卸载过程删除MSSQL服务器组件,特别是有附加的数据库留下。 除了服务器组件,MSSQL Server安装程序还可以安装客户端工具库,BIDS(商业智能开发工作室),MDAC等。

MS SQL Server数据库不仅可以被MS SQL Server使用(和locking) 。 锁可以启动,保持并通过许多工具。

我只能build议您反复检查/清理Windows(例如,由CCleaner)registry,然后手动删除MSSQLServe2005上剩余的硬盘上的文件,然后重复这两个步骤。

但是,我的合格的猜测是你在迁移之前卸载了SS2005,或者至less是分离了数据库。

真的,我不会build议即使没有迁移到另一个版本的附加/分离。 有什么必要这样做?

另外,你为什么不复制LDF文件?