首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >SQL Server r2向后兼容性msi与下载的sql server2005向后兼容性msi有什么不同?

SQL Server r2向后兼容性msi与下载的sql server2005向后兼容性msi有什么不同?
EN

Stack Overflow用户
提问于 2011-07-09 17:51:11
回答 2查看 2.5K关注 0票数 2

我刚刚安装了sql server2008SQL server2008 r2并选择了安装向后兼容性的选项(添加删除程序显示安装了向后兼容性),然后我运行我的sql脚本来升级旧的数据库,但它抛出了异常,如“查询使用非ANSI外部连接”(确切错误请参见图片)。(SQL profiler说: SQLDMO_1抛出错误)。

但是当我显式地安装SQLServer向后兼容性(从站点下载的SQLServer2005_BC.msi)并进行相同的升级时,它成功地工作了。

我不知道为什么会这样?

我比较了两种SQLDMO.DLLs (Sql servere安装版和SQL server安装版),但两者似乎都很好。有没有人收到类似的问题或建议?

更新:不,这不是与安装向后兼容性有关的问题。最近,同样的错误发生了,我以为可以通过安装bakward兼容的msi来解决它,但它没有解决。

因此,原因仍然悬而未决。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-07-27 20:19:38

SQL Server 2008+不支持旧式的ANSI89连接,即*==*。在升级到SQL Server 2008或更高版本之前,需要将这些连接替换为左连接和右连接。任何包含这些内容的代码在编译时都会引发错误。

SQL Server2005是支持旧式联接的最高版本。

兼容模式80/90/100主要用于遗留数据库使用新关键字时。这将导致语法错误,通过降低兼容模式从解析器中删除新的功能/保留关键字,从而有时间将它们从数据库中删除。

票数 1
EN

Stack Overflow用户

发布于 2011-07-11 00:13:06

我不认为您得到的错误与向后兼容性组件有任何关系;当您正在运行查询的数据库设置为兼容模式80vs 90或100时,这听起来更像是一个问题,正如错误所暗示的那样,运行的查询将在设置为80而不是90或100的情况下运行;如果您重新安装了sql,则所有数据库都将设置为100;如果您进行了升级,则它们将保留为旧版本,如果是从SQL 2000升级的,则为80。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6634045

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档