笨小孩做开发

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

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 2008SQL Server 2005的转换。

 

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

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

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

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

3)        编写Use DataBase的脚本:True

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

  安装了一台64Windows 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、新建两个连接,可以是远程,也可以是本地,连接名自己定义,现在我们定义两个分别为SQL2008SQL2005

 

6、如提示

打开SQL Server 配置管理器

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

 

然后

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

 

 

 

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

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

 

 

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

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

 

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

 

12、完成之后选择高级

 

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

 

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

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

 
posted on 2013-03-07 13:10  笨小孩做开发  阅读(838)  评论(0编辑  收藏  举报