如何由Sybase向SQL Server移植数据库

作者:chinaitlab.com 时间:2009-01-20 15:56:00 

最近参与了将一个Sybase数据库移植到Microsoft SQL Server 2000上的项目,我在这一项目上获得的经验,将对Sybase数据库管理员把Sybase数据库移植到SQL Server 2000平台上有一定的帮助。

尽管二者之间的一些差别是相当大的,例如Sybase数据库管理系统中的存储过程在SQL Server就不能被编译,而其它差别则不太大。在完成这一转换前,对脚本文件和存储过程中编程逻辑的行为和结果进行测试是很有必要的。

在下面的部分中,我们将讨论这二种数据库系统之间的一些主要的不同点,在移植的规划阶段,我们必须仔细研究这些区别。

数据兼容模式

对SQL Server 2000和Sybase之间的一些兼容性差别的一个临时性解决方案是改变SQL Server中的数据库兼容性级别,使之与Sybase相符。为此,我们可以使用sp_dbcmptlevel存储过程。

下面表中的语句和结果显示出不同版本数据库之间的差别:

注意:

1、当兼容性模式被设置为70时,下面的词汇不能被用作对象名和标识符:BACKUP、DENY、PRECENT、RESTORE和TOP。

2、当兼容性模式被设置为65时,下面的词汇不能被用作对象名和标识符:AUTHORIZATION、CASCASE、CROSS、DISTRIBUTED、ESCAPE、FULL、INNER、JOIN、LEFT、OUTER、PRIVILEGES、RESTRICT、RIGHT、SCHEMA和WORK。

下面是sp_dbcmptlevel的语法:

sp_dbcmptlevel [[@dbname=] name][,[@new_cmptlevel=]version]

@dbname是用于检查和改变兼容性水平的数据库名字。

@new_cmptlevel决定数据库被设置的兼容性水平(将它设置为70、65、60,缺省值为NULL)。

例如:

sp_dbcmptlevel pubs

这一行代码返回下面的结果:

The current compatibility level is 70.(当前的兼容性级别为70。)

现在我们来看一下另外一个例子:

sp_dbcmptlevel pubs, 65

它返回如下的结果:

DBCC execution completed. (DBCC执行结束。)

如果DBCC打印出错误信息,则需要与系统管理员联系。我们可以使用rerunsp_dbcmptlevel验证pubs数据库是否修改得正确:

sp_dbcmptlevel pubs

它返回下面的结果:

The current compatibility level is 65(当前的兼容性级别为65。)

标签:
0
投稿

猜你喜欢

  • SQL Server查询速度慢原因及优化方法

    2008-12-03 15:19:00
  • asp中Access与Sql Server数据库区别总结

    2007-11-18 15:08:00
  • Access数据库安全问答

    2007-08-23 15:28:00
  • 纯CSS无限级下拉菜单

    2009-09-17 11:29:00
  • JS重现80后儿时经典拼板(模板)游戏

    2011-09-11 18:36:46
  • 用户体验设计答疑对话(半吊子和纯外行)

    2010-11-30 21:27:00
  • SQL Server 2008中有关XML的新功能

    2008-06-04 12:57:00
  • ORACLE LATERAL-SQL-INJECTION 个人见解

    2009-03-04 10:34:00
  • WML初级教程之从实际应用中了解WML

    2008-09-04 11:24:00
  • Request.Servervariables(“HTTP_USER_AGENT“)是什么意思。

    2009-08-21 13:13:00
  • DreamWeaver经典技巧四则

    2007-12-03 11:34:00
  • 腾讯网QQ首页诞生的艰辛历程

    2008-11-06 11:05:00
  • asp如何统计字符串出现的次数?

    2009-11-25 20:36:00
  • 在ASP中使用SQL语句之10:视图

    2007-08-11 13:24:00
  • 建立适当的索引是实现查询优化的首要前提

    2009-01-19 13:11:00
  • asp按关键字查询XML的代码

    2011-04-21 11:10:00
  • xmlhttp中运行getResponseHeader出错,提示:The requested header was not found

    2010-03-27 21:47:00
  • 降低锁竞争 减少MySQL用户等待时间

    2011-03-11 18:58:00
  • AJAX缓存问题的两种解决方法(IE)

    2008-05-02 20:57:00
  • 可以让程序告诉我详细的页面错误和数据库连接错误吗?

    2009-11-01 18:01:00
  • asp之家 网络编程 m.aspxhome.com