欢迎您来到懒之才-站长的分享平台!   学会偷懒,并懒出境界是提高工作效率最有效的方法!
首页 > 经验分享 > 数据库 > 附加SQL2005数据库 出现“Transact-SQL 语句或批处理时发生了异常”

附加SQL2005数据库 出现“Transact-SQL 语句或批处理时发生了异常”

2018-07-21 525 收藏 0 赞一个 0 真差劲 0 去评论

今天在做项目的时候,在附加数据库的时候遇到了问题,因为也不知道之前的库的那个,2000,还是05?不太清楚,目前我自己用的库的08,在附加的时候果然出现了问题。可以看到如下错误,我截图!
下面我们就来解决此问题!
附加数据库出错提示:
执行 Transact-SQL 语句或批处理时发生了异常。 (Microsoft.SqlServer.ConnectionInfo)

201392119148500.jpg

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

未能在 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.

未能打开新数据库 'xiaoche'。CREATE DATABASE 将终止。 (Microsoftsql server,错误: 602)
解决方法:

一、

.select @@version看当前的数据库实例版本,是不是SQL2000在附加SQL2005的数据库。

二、

SQL2000附加SQL2005数据具体方法

如题,若使用SQL2000附加SQL2005的数据库时在附加时会出现了错误602,提示“对sysindexes运行DBCC CHECKTABLE”因为数据库附加到2005的时候, 数据库文件已经自动升级到2005, 所以在2000下是无法再附加的(没有向上兼容的)

直接restore或附加是不行的, 用脚本+导数据肯定没有问题。

2005转到2000的步骤步骤

1.生成for 2000版本的数据库脚本

2005 的manger studio

-- 打开"对象资源管理器"(没有的话按F8), 连接到你的实例

-- 右键要转到2000的库

-- 任务

-- 生成脚本

-- 在"脚本向导"的"选择数据库"中, 确定选择的是要转到2000的库

-- 勾选"为所选数据库中的所有对象编写脚本"

-- 在接下来的"选择脚本选项"中, 找到"为服务器版本编写脚本"项, 选择"SQL Server 2000"

-- 其他选项根据需要设置

-- 最后把脚本保存到一个 .sql 脚本文件

2. 在2000中创建目标数据库

在查询分析器(或2005的manger studio在打开脚本文件), 连接到SQL Server 2000,执行上面生成的脚本.以创建一个新的数据库

3. 将数据从2005导到2000

2005 的manger studio

-- 打开"对象资源管理器"(没有的话按F8), 连接到你的实例

-- 右键要转到2000的库

-- 任务

-- 导出数据

-- 在"SQL Server 导入和导出向导"的"选择数据源"步骤中, 确定选择的是要导出的数据库

-- 在"选择目标"步骤中, 连接到 2000, 并选择步骤2新建的库

-- 在"选择源表和源视图"中, 选择所有的表

-- 最后完成

一、推荐使用迅雷或快车等多线程下载软件下载本站资源。

二、未登录会员无法下载,登录后可获得更多便利功能,若未注册,请先注册。

三、如果服务器暂不能下载请稍后重试!总是不能下载,请点我报错 ,谢谢合作!

四、本站大部分资源是网上搜集或私下交流学习之用,任何涉及商业盈利目的均不得使用,否则产生的一切后果将由您自己承担!本站将不对任何资源负法律责任.如果您发现本站有部分资源侵害了您的权益,请速与我们联系,我们将尽快处理.

五、如有其他问题,请加网站设计交流群(点击这里查看交流群 )进行交流。

六、如需转载本站资源,请注明转载来自并附带链接

七、本站部分资源为加密压缩文件,统一解压密码为:www.aizhanzhe.com

大家评论