今天在做项目的时候,在附加数据库的时候遇到了问题,因为也不知道之前的库的那个,2000,还是05?不太清楚,目前我自己用的库的08,在附加的时候果然出现了问题。可以看到如下错误,我截图!
下面我们就来解决此问题!附加数据库出错提示:执行 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.未能打开新数据库 'xiaoche'。CREATE DATABASE 将终止。 (Microsoft sql 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导到20002005 的manger studio-- 打开'对象资源管理器'(没有的话按F8), 连接到你的实例-- 右键要转到2000的库-- 任务-- 导出数据-- 在'SQL Server 导入和导出向导'的'选择数据源'步骤中, 确定选择的是要导出的数据库-- 在'选择目标'步骤中, 连接到 2000, 并选择步骤2新建的库-- 在'选择源表和源视图'中, 选择所有的表-- 最后完成
新闻热点
疑难解答
图片精选