【转帖】Sql2008数据库转到sql2005

Sql2008数据库转到sql2005

这个问题耽误了一天时间,从网上找了好多方法,终于可以搞定了。现在把我收集的方法给大家分享一下。建议先使用第四个方法,可能是数据库太大了,前三个方法我的都没有成功,第四个方法虽然也有失败的,但总算转换过去了。

解决方法一:脚本生成(笨方法)sql08导出的脚本在05下兼容性不行,执行的时候会报错。

1、  点击“开始 > 程序 > Microsoft Sql Server 2008 > SQL Server Management Studio”

2、  在出现的“连接到数据库服务器”对话框,服务器类型选“数据库引擎”,服务器名称选择本机的SQL Server(一般是主机名/SQL服务器),点击下拉框可以找到,身份验证选“Windows 身份验证”(一般本地SQL Server都是这种验证,如果选“SQL Server身份验证”,需要用户名及密码,互联网上的数据库是这种身份验证,主机服务提供商会提供用户名及密码)

3、  SSMS界面出来,在对象资源管理器中的“数据库”目录中查找你要转换的数据库,如果没有,右击“数据库”目录,在出来的快捷菜单中点击“附加...”,新出现一个对话窗口,点击右边窗格中的“添加...”按钮,找到你要转换的数据库,点击“确定”

4、  在要转换的数据库上右击,出现的快捷菜单中点击“任务 > 生成脚本”,在“脚本向导”中点击“下一步”,选中你要转换的数据库(如果前边已经选中,这次就是选中状态),勾选下部的“为所选数据库的所有对象编写脚本”。

5、  点击下一步,现在进入配置的最关键阶段:

由于生成的脚本最后是在主机提供商已经建好的数据库中生成表,所以注意按照如下的配置进行:

编写数据的脚本:True (因为有用的数据要一并生成)

编写Use DataBase的脚本:False

编写创建数据库的脚本:False (主机提供商已经有数据库,这里只生成表,不再生成数据库)

为服务器版本编写脚本:SQL Server 2005 (生成2005的脚本,而不是默认的2008脚本,见下图)

 

6、  按照下边图片的选项设定,点击“完成”,即可完成数据库由SQL Server 2008到SQL Server 2005的转换。

 

后注:然后根据主机提供商给的数据库,直接到网络数据库上导入脚本;或者再次使用本SSMS连接到主机提供商的数据库上(这时肯定是SQL Server身份验证,需要提供用户名及密码),通过网络数据库“新建查询”的方法将刚才生成的脚本粘贴到新建查询窗口,点击“运行”,即可将全部数据表、存储过程、约束关系等导入主机提供商的数据库中,更具体问题,要与主机提供商联系。

7、  另外,如果是把数据库类似于备份一样生成脚本,以后再完整地生成这个数据库,那么第5步应该这样做:

1)        编写创建数据库的脚本:True (数据库一并生成)

2)        编写数据的脚本:True (包含有用的数据)

3)        编写Use DataBase的脚本:True

解决方法二:SQL Server 2008R2 数据库降级为 SQL Server2005 (sql2005还原sql2008数据库备份)不知道为什么,我的不可以转换,有问题

  安装了一台64位Windows Server 2008 R2 ,然后安装SQL 2005 再安装SQL 2008 R2,最后通过sql08R2 任务-导出数据导到sql2005中的同名数据库,这才解决。

SQL2005中还原报错信息:

 

以下在SQL2008R2数据库引擎中操作:先在SQL2005中新建个同名数据库,就可以选择导入到哪个数据库中

 

 

 

 

 

然后根据提示,完成。

解决方法三:右击数据点,点属性,在“选项”中选择数据库兼容级别为SQL2005,备份或分离后即可还或附加在SQL2005上。还是不行

解决方法四:这个方法可以,只是报了很多错误,但终究是转过去了。

1、准备好两个数据库,远程的或者本地的都可以。

2、准备Navicat9_premium_9.1.9工具

3、安装好Navicat9_premium_9.1.9会出现

4、打开Navicat Premium

5、新建两个连接,可以是远程,也可以是本地,连接名自己定义,现在我们定义两个分别为SQL2008和SQL2005

 

6、如提示

打开SQL Server 配置管理器

选择SQL Server 网络配置-->MSSQLSEVER的协议-->在右边把TCP/IP协议启用

 

然后

选择SQL Server 服务-->找到SQL Server (MSSQLSERVER)右键,属性,将内置账号选择成Network Service,然后重启服务即可。

 

 

 

7、错误排除了,现在就要开始接下来的步骤了

8、选择工具-->数据传输

 

 

9、现在假设定义了两个数据源,SQL2008与SQL2005现在我们要将SQL2008源中的某个数据库复制到SQL2005源中的另一个数据库(包括数据和函数方法)

10、那么现在在源连接中选择SQL2008,下面选择数据库,模式选择dbo,选择需要的表,视图,函数......

 

11、目标连接选择SQL2005,数据库最好事前准备一个空的数据库,模式也选择dbo

 

12、完成之后选择高级

 

13、在其他选项中勾选遇到错误继续

 

最后点击开始,然后开始等待。

这样就将SQL2008的数据库完整的转到SQL2005中了。