Sql server 在SQL Server 2000中附加由SQL Server 2008创建的.MDF文件

Sql server 在SQL Server 2000中附加由SQL Server 2008创建的.MDF文件,sql-server,sql-server-2000,mdf,Sql Server,Sql Server 2000,Mdf,我在SQLServer2008中创建了一个数据库。我分离了数据库,并将.mdf复制到运行SQL server Enterprise Manager(SQL server 2000)的服务器上 当我尝试连接MDF时,我得到 Microsoft SQL-DMO(ODBC SQL状态:HY000)错误602:找不到 数据库ID 13、对象ID 1、索引ID 1的sysindexes中的行。跑 系统索引上的DBCC CHECKTABLE 这是什么意思?这是因为数据库是在较新的版本中创建的吗?在(我相信已

我在SQLServer2008中创建了一个数据库。我分离了数据库,并将
.mdf
复制到运行SQL server Enterprise Manager(SQL server 2000)的服务器上

当我尝试连接MDF时,我得到

Microsoft SQL-DMO(ODBC SQL状态:HY000)错误602:找不到 数据库ID 13、对象ID 1、索引ID 1的sysindexes中的行。跑 系统索引上的DBCC CHECKTABLE

这是什么意思?这是因为数据库是在较新的版本中创建的吗?

在(我相信已折旧,但在SQL Server 2000中使用)sp_attach_db存储过程中:

无法删除由较新版本的SQL Server创建的数据库 附在早期版本中

我认为您必须为数据库的模式和数据编写脚本

Pinal Dave有一个很好的教程介绍如何进行此操作-请记住,确保选择以下设置:

一般而言:

  • 服务器版本的脚本:SQL server 2000
在“表/视图选项”下:

  • 脚本数据:True

请记住仔细检查您可能感兴趣的任何其他设置,如外键、触发器等。

这是可以做到的,但您需要先将其转换为SQL 2000格式,然后再将其分离并附加到旧服务器上。以下是步骤:

在Enterprise manager中,右键单击数据库

选择属性

在左侧,单击“选项”

将“兼容性级别”更改为SQL Server 2000(80)


然后在旧服务器上重新连接之前保存并分离

在任何情况下,都不能将SQL Server 2008上创建的数据库重新连接或还原到SQL Server的早期版本。这是不可能的-没有技巧,没有解决方法,没有工具-无法完成。您需要(1)在SQL Server 2000中创建新数据库,(2)将所有数据库对象脚本化为2008数据库中的SQL脚本,(3)在2000版本中运行这些脚本,以及(4)此外,还可以使用脚本或SQL data Diff工具(如SQL Server 2008)将数据从SQL Server 2008移动到2000.thx。为了您的帮助,我生成了.SQL文件,其中包含在SQL Server 2000下创建数据库的说明。我只是想知道如何在SQLServer2000中执行它,我试着复制所有文件,粘贴文件的一部分copied@younesfaqri生成的文件可能相当大,因此我建议使用OSQL: