黑马程序员技术交流社区

标题: 数据库附加失败 [打印本页]

作者: 卫奔    时间: 2013-5-16 10:56
标题: 数据库附加失败
向数据库附加时出现
标题: Microsoft SQL Server Management Studio
------------------------------
附加数据库时出错。有关详细信息,请单击“消息”列中的超链接。
------------------------------
按钮:
确定
------------------------------
是什么情况,是版本低吗,有什么好的办法解决, 还有我自己先分离出来,再附加也有加不进去的时候,什么情况 求帮助
作者: 田福壮    时间: 2013-5-16 11:08
建议,重新装次会解决很多问题,
作者: 郑丹丹1990    时间: 2013-5-16 11:09
期望看到解决方案。
作者: 卫奔    时间: 2013-5-17 09:59
就是数据库是版本过低,附加那个版本是R2的,我的是R1的,就附加失败了,有什么好的解决办法
作者: 不换了。    时间: 2013-5-17 10:19
如果是数据库版本的问题,参照下边方法,拿sql2000和sql2005举例:

sql 2000 附加数据库 错误602

关于2000附加2005 的数据库问题
错误描述:
未能在 sysindexes 中找到数据库 ID 13 中对象 ID 1 的索引 ID 1 对应的行。请对 sysindexes 运行 DBCC CHECKTABLE。
Could not find row in sysindexes for database ID 13, object ID 1, index ID 1. Run DBCC CHECKTABLE on sysindexes.
未能打开新数据库 'XXXX'。CREATE DATABASE 将终止。 (Microsoft SQL Server,错误: 602)
解决办法:
因为数据库附加到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新建的库
-- 在"选择源表和源视图"中, 选择所有的表
-- 最后完成



作者: 吃肉的小浣熊    时间: 2013-5-17 14:06
你先按照提示所说的打开“消息”列中的超链接。看看具体的说法是什么。
不懂的把链接中的说法复制下来,大家帮你解决。
只凭这些不知道你的错误是什么。
作者: 曾大鹏    时间: 2013-5-17 16:18
只能生成脚本 然后复制到数据库运行




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2