当前位置:  数据库>sqlserver

SQL Server 2005 数据库转 SQL Server 2000的方法小结

    来源: 互联网  发布时间:2014-10-14

    本文导语:  今天有朋友推荐个活就是把Sql Server 2005的数据库转到Sql Server 2000里,但实际操作起来遇到的问题还不少,网上搜了一些办法,在此陈列出来,并把我使用时遇到的问题及解决方案一并记录下来,以备后期查阅 前几步和网上说...

今天有朋友推荐个活就是把Sql Server 2005的数据库转到Sql Server 2000里,但实际操作起来遇到的问题还不少,网上搜了一些办法,在此陈列出来,并把我使用时遇到的问题及解决方案一并记录下来,以备后期查阅

前几步和网上说的一样,先生成2000的脚本,然后再到2000里面执行。操作如下:

打开 SQL Server 2005 的Manger Studio

-- 打开"对象资源管理器"(没有的话按F8), 连接到你的实例

找到你要转换的数据库(建议先将此数据库里的登录名清空,否则转换会出现问题)

-- 右键选择要转成 SQL Server2000 的数据库

-- 选择 任务

-- 选择 生成脚本

-- 在"脚本向导"的"选择数据库"中, 确定选择的是要转到2000的库

-- 勾选"为所选数据库中的所有对象编写脚本" (这个勾不要其实也可以的,根据你的需要来。)

-- 在接下来的"选择脚本选项"中, 找到"为服务器版本编写脚本"项, 选择"SQL Server 2000"

-- 其他选项根据需要设置

-- 最后把脚本保存到一个 .sql 脚本文件

代码如下:

有可能会遇到的问题:
目标服务器版本不支持该对象或不支持该对象的一个属性。 (Microsoft.SqlServer.Smo)
脚本无法成功生成。此问题是由于“数据库兼容性级别”导致的。
解决方案:
server有个改兼容性级别的语句:
sp_dbcmptlevel [ [ @dbname = ] name ] [ , [ @new_cmptlevel = ] version ]
语句如下:
EXEC sp_dbcmptlevel '你的数据库名', '80';
GO
这个80就是各个版本对应的版本号
60 = SQL Server 6.0
65 = SQL Server 6.5
70 = SQL Server 7.0
80 = SQL Server 2000 ——8.0
90 = SQL Server 2005 ——9.0
由于是转到2000于是兼容性级别就要调到80

2. 在2000中创建目标数据库
在查询分析器(或2005的manger studio在打开脚本文件), 连接到SQL Server 2000,执行上面生成的脚本.以创建一个新的数据库 。

代码如下:

有可能会出现的问题:
max附近有语法错误
server2000里面没有max这种用法,所以建议大家把SQL脚本里的MAX改成一个很大的数就是了,比如4000(4000好像是上限)。
odb问题
其他数据库我不知道,但是不论你用server什么数据库,只要不是你自己的,通常管理员是不会给你配odb权限的,所以把所有的odb檫掉就可以了。另外还有个办法,用你的远程数据库登录名可以改成那个用户的所有者,在本地也修改一下,然后再运行,就OK啦。

3. 将数据从2005导到2000

首先打开SQL Server 2005 的Manage Studio
-- 打开"对象资源管理器"(没有的话按F8), 连接到你的实例
-- 右键选择要转成 SQL Server2000 的数据库--选择 任务 --导出数据
(注意,如果你的Manage Studio 为 Express版本,那任务里是没有导出数据选项的,你可以直接找到你的数据安装目录里的Binn文件夹,例如 C:Program FilesMicrosoft SQL Server90DTSBinn 然后执行DTSWizard.exe文件即可。)
-- 在"SQL Server 导入和导出向导"的"选择数据源"步骤中, 确定选择的是要导出的数据库
-- 在"选择目标"步骤中, 连接到 2000, 并选择步骤2新建的库
-- 在"选择源表和源视图"中, 选择所有的表(注意,如果表中有标识的话,要在此处选中表,然后单击下方的“编辑映射”按钮,新开窗口中勾选“使用标识插入”,每个有标识的表都要这样选择一次。还有,此处导入数据如果牵扯到主外键关系或者其他约束的话,一定要分批次按照关系的先后顺序导入,否则会报错。)
-- 最后完成

代码如下:

最后注意下2000的select top 后跟的不可以是表达式,所以如果你的分页里有用到类似
declare @pageIndex int
select top (@pageIndex-1)*12 newsID from News
的话,请一律改成字符串拼接方法,例如下面的例子:
declare @strSql varchar(1000)
declare @pageIndex int
set @pageIndex= (@pageIndex-1)*12
set @strSql='select top '+str(@pageIndex)+'  newsID from News'
exec (@strSql)

sql server 2005转到2000的步骤(简易版,一路不错形式)

2005转到2000的步骤
1. 生成for 2000版本的数据库脚本
2005 的manger studio
-- 打开对象资源管理器(没有的话按F8), 连接到你的实例
-- 右键要转到2000的库
-- 任务
-- 生成脚本
-- 在脚本向导的选择数据库中, 确定选择的是要转到2000的库
-- 勾选为所选数据库中的所有对象编写脚本
-- 在接下来的选择脚本选项中, 将”编写创建数据库的脚本”设为True,找到为服务器版本编写脚本项, 选择SQL Server 2000
-- 其他选项根据需要设置
-- 最后把脚本保存到一个 .sql 脚本文件

2. 在2000中创建目标数据库
在查询分析器(或2005的manger studio在打开脚本文件), 连接到SQL Server 2000,执行上面生成的脚本.以创建一个新的数据库

3. 将数据从2005导到2000
打开SQL Server 2000的企业管理器
-- 右键要导入数据的数据库
-- 任务
-- 导入数据
-- 在SQL Server 导入和导出向导的选择数据源步骤中, 确定选择的是要导出的数据库
-- 在选择数据源步骤中, 连接到 2005, 并选择源数据库
-- 在选择源表和源视图中, 选择所有的表
-- 最后完成


    
 
 

您可能感兴趣的文章:

  • SQL Server 2008如何进行数据库分离和附加详细介绍
  • 微软网站下载的Ms SQL Server2000 JDBC Driver,必须用英文版的SQL server2000吗?
  • 请问,这是什么错误!java.sql.SQLException: [Microsoft][ODBC SQL Server Driver][Named Pipes]??????? SQL Server?虽然分少,但一定给,只要您是前5名回复者中最好的以为!
  • 安装sql server 2008 management提示已安装 SQL Server 2005 Express的解决方法
  • SQL Server 2008 事件探查器(SQL SERVER Profiler) 列的说明
  • (X86/X64)安装sql server 2005 过程中提示“无法启动sql server的 启动”的解决方法
  • SQL Server降权运行 SQL Server 2000以GUESTS权限运行设置方法
  • MS SQL Server2014链接到MS SQL Server 2000的解决方案及问题处理
  • SQL语句实现SQL Server 2000及Sql Server 2005日志收缩(批量)
  • sql server不存在 sql server拒绝访问第1/3页
  • SQL Server误区30日谈 第5天 AWE在64位SQL SERVER中必须开启
  • 一定得帮我看看sql server2000通过sql server2000jdbc driver的代码
  • SQL Server统计SQL语句执行时间的脚本
  • SQL Server误区30日谈 第21天 数据损坏可以通过重启SQL Server来修复
  • SQL Server误区30日谈 第3天 即时文件初始化特性可以在SQL Server中开启和关闭
  • 创建 sql server 链接服务器的sql代码
  • jsp jdbc为什麽不能把数据insert到sql server 中,也不能从sql server中提取数据?!
  • 如何处理此错误:java.sql.SQLException: [Microsoft][ODBC SQL Server Driver]没有执行可选特性
  • sql server 2005 三个常用的小sql
  • 谁用过sql server 2000?做jsp的数据库服务器? iis7站长之家
  • 推荐SQL Server 重新恢复自动编号列的序号的sql代码
  • oracle SQL解析步骤小结
  • SQL Server SQL Agent服务使用教程小结
  • SQL对时间处理的语句小结
  • SQL 重复记录问题的处理方法小结
  • SQL Server复制功能要避开缺陷的干扰小结
  • 有关SQL Server SA权限问题的小结
  • sql server中default value默认值的用法小结
  • PL/SQL编程经验小结开发者网络Oracle
  • SQL查询效率注意事项小结
  • Oracle9iPL/SQL编程的经验小结
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • SQL Server数据库的修复SQL语句
  • 如何实现连接一次数据库,提交多个sql语句。(sql的批处理)
  • 查询SQL Server中所有数据库的数据文件位置的sql脚本
  • 取数据库前几条数据(sql server、oracle、mysql)的sql写法
  • 使用php语句将数据库*.sql文件导入数据库
  • SQLServer中用T—SQL命令查询一个数据库中有哪些表的sql语句
  • 请问Linux数据库编程是否也可以支持通用的SQL语言进行数据库编写.
  • sql数据库多用户模式修改方法
  • sql数据库如何查询修改数据库恢复模式?
  • 数据库前端 SQL Workbench-J
  • 在Java中以MS SQL2000为后端数据库?
  • Oracle 数据库开发工具 Oracle SQL Developer
  • Java 数据库工具类库 sql2o
  • PHP SQL数据库开发框架 Medoo
  • sql语句获取数据库服务器上所有数据库的名字
  • Linux下能装SQL server 2000数据库吗?
  • linux中把a.sql文件还原数据库a,在线等
  • 谁用过sql server 2000?做jsp的数据库服务器?
  • sql server 2005删除用户时“数据库主体在该数据库中拥有架构,无法删除”错误的解决办法
  • sql 语句 取数据库服务器上所有数据库的名字
  • java命名空间java.sql接口statement的类成员方法: executeupdate定义及介绍
  • SQL查询分析工具 SQL Workbench/J
  • java命名空间java.sql接口connection的类成员方法: nativesql定义及介绍
  • oracle导出sql语句的结果集和保存执行的sql语句(深入分析)
  • java命名空间java.sql接口preparedstatement的类成员方法: executeupdate定义及介绍
  • SQL客户端软件 PKLite SQL Client
  • java命名空间java.sql接口rowid的类成员方法: getbytes定义及介绍
  • SQL客户端管理工具 SQuirreL SQL Client
  • java命名空间java.sql接口ref的类成员方法: getbasetypename定义及介绍
  • sql2005 大数据量检索分页的sql代码
  • java命名空间java.sql接口databasemetadata的类成员方法: getsqlkeywords定义及介绍


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3