我试图在SQL Server 2005中附加一个数据库,并得到以下错误:
=================================== path中的非法字符。 (mscorlib程序) ------------------------------ 计划地点: 在System.IO.Path.CheckInvalidPathChars(stringpath) 在System.IO.Path.GetFileName(stringpath) 在Microsoft.SqlServer.Management.SqlManagerUI.AttachDatabaseData.PrimaryFile.PopulateAssociatedFiles(String primaryFilePath) 在Microsoft.SqlServer.Management.SqlManagerUI.AttachDatabaseData.PrimaryFile.PopulatePrimaryFileData(String primaryFilePath) 在Microsoft.SqlServer.Management.SqlManagerUI.AttachDatabaseData.PrimaryFile..ctor(SqlManagementUserControl父级,CDataContainer dc,stringfullPath,stringdatabaseOwner,ServerConnection connectionInfo) 在Microsoft.SqlServer.Management.SqlManagerUI.AttachDatabase.IsSelectedFileValid(BrowseFolder dlg)
path是“E:\ Database \ DB_Data.MDF”,所以应该没问题。 我担心数据损坏。 任何方法来深入查看文件,看看我能否得到我的数据?
更新:数据已损坏。 任何方法来检查个别分区或获取一些数据回来? 以下是sp_attach_db的结果:
Msg 5120,Level 16,State 5,Line 1 无法打开物理文件“E:\ Database \ NationalDatabase_Log.LDF”。 操作系统错误2:“2(系统找不到指定的文件)”。 Msg 5120,Level 16,State 5,Line 1 无法打开物理文件“Ѐ”。 操作系统错误2:“2(系统找不到指定的文件)”。 Msg 5120,Level 16,State 5,Line 1 无法打开物理文件“䔀䔀㨀䐀䐀愀愀愀愀猀猀猀愀琀琀漀漀渀愀氀氀愀愀愀愀开开开愀琀琀愀⸀䴀䴀䘀䘀”。 操作系统错误2:“2(系统找不到指定的文件)”。 1813年级,16级,2状态,1号 无法打开新数据库'NationalDatabase'。 CREATE DATABASE被中止。
也许尝试运行SQL Server的存储过程来连接数据库:
来自MSDN :
EXEC sp_attach_db @dbname = N'MyDatabase', @filename1 = N'E:\Database\DB_Data.MDF', @filename2 = N'E:\Database\DB_Data_log.LDF';