日期:2014-05-18  浏览次数:20440 次

sql2005附加时出错
系统重装了,sql也是重装的,数据库是未重装前分离出来的!现在的计算机名改了。登录密码变成了空!
下面是错误信息:
附加数据库 对于 服务器“FYU1ZT1OVKNTHHV”失败。 (Microsoft.SqlServer.Smo)
===================================

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

------------------------------
程序位置:

在 Microsoft.SqlServer.Management.Common.ServerConnection.ExecuteNonQuery(String sqlCommand, ExecutionTypes executionType)
在 Microsoft.SqlServer.Management.Common.ServerConnection.ExecuteNonQuery(StringCollection sqlCommands, ExecutionTypes executionType)
在 Microsoft.SqlServer.Management.Smo.ExecutionManager.ExecuteNonQuery(StringCollection queries)
在 Microsoft.SqlServer.Management.Smo.Server.AttachDatabaseWorker(String name, StringCollection files, String owner, AttachOptions attachOptions)
在 Microsoft.SqlServer.Management.Smo.Server.AttachDatabase(String name, StringCollection files, String owner)

===================================

未能在 sysindexes 中找到数据库 ID 7 中对象 ID 1 的索引 ID 1 对应的行。请对 sysindexes 运行 DBCC CHECKTABLE。
Could not find row in sysindexes for database ID 7, object ID 1, index ID 1. Run DBCC CHECKTABLE on sysindexes.
未能打开新数据库 'OADATA'。CREATE DATABASE 将终止。 (.Net SqlClient Data Provider)

------------------------------
有关帮助信息,请单击: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&EvtSrc=MSSQLServer&EvtID=602&LinkId=20476

------------------------------
服务器名称: FYU1ZT1OVKNTHHV
错误号: 602
严重性: 21
状态: 50
行号: 1

------解决方案--------------------
估计是MDF文件被损坏了
------解决方案--------------------
那个数据库是你这个MSSQL版本的吗?
------解决方案--------------------
只附加數據庫文件試試
------解决方案--------------------
SQL code
create database db_test
  on(name = 'db_test_data,FILENAME = N'c:\db_test.mdf'')
for attach_rebuild_log ;

------解决方案--------------------
估计是文件损坏了
------解决方案--------------------
是文损害了。找找其他的备份文件。试试
------解决方案--------------------
索引错误,重建一下,如果不行,加我QQ发你的一个小工具,检测MDF文件是不是有损坏的。QQ:156817731