SQL2005附加数据库问题

name_hq 2010-03-05 10:37:07
执行 Transact-SQL 语句或批处理时发生了异常。 (Microsoft.SqlServer.ConnectionInfo)

------------------------------

未能在 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.
未能打开新数据库 'newGenius'。CREATE DATABASE 将终止。 (Microsoft SQL Server,错误: 602)


请大侠指教如何搞!!!!!!!!!!!
...全文
95 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
Ellis_wong 2010-03-06
  • 打赏
  • 举报
回复
说的无错~只能在2005生成建库脚本再在2000上运行
sum_binary 2010-03-06
  • 打赏
  • 举报
回复
引用 2 楼 lijunfeng 的回复:
你是2005的库往2000上附加吗?
如果是这样只能在2005里生成建库脚本然后在2000里运行以生成数据库对象,然后再导入数据
2楼说的不错.只能这样
xray2005 2010-03-05
  • 打赏
  • 举报
回复
2005的不能直接导入到2000里面去,你还是SQL运行脚本吧。
lijunfeng 2010-03-05
  • 打赏
  • 举报
回复
你是2005的库往2000上附加吗?
如果是这样只能在2005里生成建库脚本然后在2000里运行以生成数据库对象,然后再导入数据
特别安静 2010-03-05
  • 打赏
  • 举报
回复
2005的不能直接导入到2000里面去
//附加数据库 sp_attach_db 当使用 sp_attach_db 系统存储过程附加数据库时。 sp_attach_db:将数据库附加到服务器。 语法 sp_attach_db [ @dbname = ] 'dbname' , [ @filename1 = ] 'filename_n' [ ,...16 ] 参数 [@dbname =] 'dbname' 要附加到服务器的数据库的名称。该名称必须是唯一的。dbname 的数据类型为 sysname,默认值为 NULL。 [@filename1 =] 'filename_n' 数据库文件的物理名称,包括路径。filename_n 的数据类型为 nvarchar(260),默认值为 NULL。最多可以指定 16 个文件名。 参数名称以 @filename1 开始,递增到 @filename16。文件名列表至少必须包括主文件,主文件包含指向数据库中其它文件的系统表。 该列表还必须包括数据库分离后所有被移动的文件。 返回代码值:0(成功)或 1(失败) eg:下面的示例将 pubs 中的两个文件附加到当前服务器。 EXEC sp_attach_db @dbname = N'pubs', @filename1 = N'c:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs.mdf', @filename2 = N'c:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs_log.ldf' EXEC sp_attach_db @dbname = N'Ty20051029101451aaa', @filename1 = N'd:\5屏幕\Ty20051029101451aaa_data.mdf', @filename2 = N'd:\5屏幕\Ty20051029101451aaa_log.ldf' ---解决问题了 //删除数据库 DROP DATABASE 从Microsoft? SQL Server? 删除一个或多个数据库。删除数据库将删除数据库所使用的数据库文件和磁盘文件。 语法 :DROP DATABASE database_name [ ,...n ] 参数 :database_name 指定要删除的数据库名称。从 master 数据库中执行 sp_helpdb 以查看数据库列表。 eg: exec sp_helpdb database_name exec Drpo DataBase [Ty20051029101451aaa] //分离数据库 可以使用 sp_detach_db 存储过程分离该数据库,然后使用带有 FOR ATTACH 子句的 CREATE DATABASE 重新附加。 sp_detach_db Archive GO CREATE DATABASE Archive ON PRIMARY (FILENAME = 'c:\program files\microsoft sqlserver\mssql\data\archdat1.mdf') FOR ATTACH GO //显示当前数据库信息 --select * from Master..sysDatabases //新建---不行啊 CREATE DATABASE TestOA ALTER DATABASE TestOA SET OFFLINE WITH ROLLBACK IMMEDIATE RESTORE DATABASE TestOA From disk='C:\Documents and Settings\Administrator\桌面\帐套\data\Template.Dat' ALTER DATABASE TestOA SET OFFLINE WITH ROLLBACK IMMEDIATE exec sp_detach_db Km20051030011601 --分离数据库 exec sp_attach_single_file_db km20051030011601,'D:\TestDatabase\Km20051030011601.mdf'--只附加.mdf文件

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧