精华内容
下载资源
问答
  • 经过查询达梦数据库管理员手册,发现其他数据库兼容模式的参数设置在达梦数据库的配置文件dm.ini文件中配置。 COMPATIBLE_MODE就是设置其他数据库兼容模式的。不同数据库兼容模式对应的参数如图所示。 首先连接...

    经过查询达梦数据库管理员手册,发现其他数据库兼容模式的参数设置在达梦数据库的配置文件dm.ini文件中配置。

    COMPATIBLE_MODE就是设置其他数据库兼容模式的。不同数据库兼容模式对应的参数如图所示。
    在这里插入图片描述
    首先连接数据库,然后执行以下命令查看状态:
    在这里插入图片描述
    可以看到此时为0,表示不兼容其他数据库;

    然后执行以下命令修改参数,修改为对应的数据库兼容模式,比如打开Oracle兼容模式:
    在这里插入图片描述
    注意:SP_SET_PARA_VALUE(scope,para_name,para_value);
    scope:表示范围,有两个取值,1表示动态参数,2表示静态参数;(由上面可知数据库兼容模式是静态参数);
    para_name:表示要修改的参数名称;
    para_value:表示要修改的值;

    然后通过root账户重启数据库服务:
    在这里插入图片描述
    注意:数据库兼容模式是静态参数,设置完成后必须要重启数据库服务才能生效。如果是动态参数,则不需要重启。

    再次查看参数:
    在这里插入图片描述

    修改完成。

    除此之外,还可以通过console工具进入图形化界面进行修改。
    在安装tool目录下启动控制台工具,如下图所示:
    在这里插入图片描述
    在控制台中找到如图所示配置,修改为相应的兼容模式即可。
    在这里插入图片描述

    展开全文
  • oracle数据库兼容问题
  • 2007数据库兼容

    2012-04-05 00:14:26
    2007数据库兼容包,你会有意向不大的惊喜
  • Navicat Premium 多数据库兼容 视图工具,非常好用的数据库视图工具,支持sql server,mysql ,oracal,SQLite,postgreSql,mariaDb等多种数据库
  • TiDB 一个分布式NewSQL数据库兼容MySQL协议
  • SQL Server中数据库兼容级别的重要性

    千次阅读 2019-02-21 10:56:10
    SQL Server中数据库兼容级别的重要性 作者:格伦贝瑞 发表于:2019年1月14日下午2:55 SQL Server 2014之前,用户数据库的数据库兼容级别通常不是您必须关注的重要属性,至少从性能角度来看。与数据库文件级别(在...

    SQL Server中数据库兼容级别的重要性

    作者:格伦贝瑞     发表于:2019年1月14日下午2:55

    SQL Server 2014之前,用户数据库的数据库兼容级别通常不是您必须关注的重要属性,至少从性能角度来看。与数据库文件级别(在将较低级别的数据库还原或附加到运行较新版本的SQL Server的实例时自动升级,并且永远不会返回到较低级别)不同时,可以更改数据库兼容级别使用简单的ALTER DATABASE SET COMPATIBILITY LEVEL = xxx命令到任何支持的级别。

    您不会受到任何特定支持的数据库兼容级别的限制,您可以将兼容级别更改回您希望的任何支持级别。在许多情况下,大多数用户数据库在迁移到新版本的SQL Server后从未改变其兼容级别。除非您确实需要由最新数据库兼容级别启用的新功能,否则这通常不会导致任何问题。

    对于SQL Server 2012及更早版本,数据库兼容级别主要用于控制是否启用了特定版本的SQL Server引入的新功能,以及是否禁用了不受支持的旧功能。数据库兼容性级别还用作维护与旧版SQL Server更好的向后应用程序兼容性的方法。如果您没有时间使用最新的兼容级别进行完全回归测试,则可以使用之前的兼容级别,直到您可以根据需要测试和修改应用程序。

    表1显示了SQL Server的主要版本及其默认和支持的数据库兼容级别。

     

    SQL Server版本数据库引擎版本默认兼容级别支持的兼容级别

    SQL Server 2019 15 150 150,140,​​130,120,110,100

    SQL Server 2017 14 140 140,130,120,110,100

    SQL Server 2016 13 130 130,120,110,100

    SQL Server 2014 12 120 120,110,100

    SQL Server 2012 11 110 110,100,90

    SQL Server 2008 R2 10.5 100 100,90,80

    SQL Server 2008 10 100 100,90,80

    SQL Server 2005 9 90 90,80

    SQL Server 2000 8 80 80

    表1:SQL Server版本和支持的兼容级别

     

    新数据库创建

    当您创建在SQL Server中新的用户数据库,数据库兼容级别将被设置为该版本的SQL Server的默认兼容级别。因此,例如,在SQL Server 2017中创建的新用户数据库的数据库兼容级别为140.例外情况是,如果您已将模型系统数据库的兼容级别更改为不同的受支持的数据库兼容级别,则新的用户数据库将从model数据库继承其数据库兼容级别。

     

    数据库还原或附加

    如果在较旧版本的SQL Server上执行的完整数据库备份还原到运行较新版本的SQL Server的实例,则数据库兼容级别将保持与旧版SQL Server上的相同,除非旧数据库兼容级别低于较新版本SQL Server的最低支持数据库兼容级别。在这种情况下,数据库兼容级别将更改为较新版本的SQL Server支持的最低版本。

    例如,如果要将SQL Server 2005数据库备份还原到SQL Server 2017实例,则已还原数据库的数据库兼容级别将更改为100.如果从旧版本分离数据库,则会出现相同的行为的SQL Server,然后将其附加到较新版本的SQL Server。

    这种一般行为并不新鲜,但新的和重要的是当您将用户数据库更改为数据库兼容级别120或更高版本时会发生什么。这些可能对性能产生巨大影响的其他更改似乎并未在更广泛的SQL Server社区中广为人知。我仍然看到许多数据库专业人员和他们的组织正在做我所谓的“盲目升级”,他们从SQL Server 2012或更早版本到SQL Server 2014或更新版本(特别是SQL Server 2016和SQL Server 2017),他们不这样做任何严重的性能回归测试,以了解他们的工作负载在新的本机兼容级别上的行为以及可用的其他配置选项是否会产生积极影响。

    数据库兼容级别120

    这是在引入“新”基数估算器(CE)时。在许多情况下,使用新的基数估算器时,大多数查询运行得更快,但是使用新的基数估算器遇到一些主要性能回归的查询是相当常见的。使用数据库兼容级别120意味着您将使用“新”CE,除非您使用实例范围的跟踪标志或查询级别的查询提示来覆盖它。

    Joe Sack撰写了经典白皮书“ 使用SQL Server 2014基数估算器优化您的查询计划 ”,该解释了2014年4月此更改的背景和行为。如果您看到使用新CE,SQL Server 2014的某些查询的性能回归没有那么多选择来缓解新CE引起的性能问题。Joe的白皮书非常详细地介绍了这些选项,但实际上,您只能使用实例级跟踪标志或查询级查询提示来控制查询优化器使用哪个基数估算器,除非您想要恢复到数据库兼容级别110或更低。

    之所以我称它为引号中的“新”CE是因为现在没有单一的“新”CE。自SQL Server 2014以来,每个新版本的SQL Server都具有与数据库兼容级别相关的CE和查询优化器更改。与SQL Server 2016及更新版本相关的新的更准确的术语是兼容级别120的CE120,兼容级别130的CE130,兼容级别140的CE140和兼容级别150的CE150。

     

    数据库兼容级别130

    当您使用SQL Server 2016或更高版本时,使用数据库兼容级别130将默认使用CE130,并将启用许多其他与性能相关的更改。使用数据库兼容级别130启用全局跟踪标志1117,1118和2371的效果。对于在SQL Server 2016 RTM之前发布的所有查询优化器修补程序,还将获得全局跟踪标志4199的效果。

    SQL Server 2016还引入了数据库作用域配置选项,使您可以使用ALTER DATABASE SCOPED CONFIGURATION命令控制以前在实例级别配置的某些行为。此讨论的两个最相关的数据库范围配置选项是LEGACY_CARDINALITY ESTIMATION和QUERY_OPTIMIZER_HOTFIXES。

    无论数据库兼容级别设置如何,LEGACY_CARDINALITY ESTIMATION都会启用传统CE(CE70)。它等同于跟踪标志9481,但它只影响有问题的数据库,而不影响整个实例。它允许您将数据库兼容级别设置为130以获得其他功能和性能优势,但使用旧版CE数据库范围(除非被查询级查询提示覆盖)。

    QUERY_OPTIMIZER_HOTFIXES选项等同于数据库级别的跟踪标志4199。当您使用130数据库兼容级别(不启用跟踪标志4199)时,SQL Server 2016将 SQL Server 2016 RTM 之前启用所有查询优化器修补程序。如果您确实启用了TF 4199或启用了QUERY_OPTIMIZER_HOTFIXES,那么您还将获得SQL Server 2016 RTM 之后发布的所有查询优化器修补程序。

    SQL Server 2016 SP1还引入了USE HINT查询提示,这些提示比您必须在SQL Server 2014及更早版本中使用的旧QUERYTRACEON查询提示更易于使用和理解。这使您可以更精细地控制与数据库兼容级别和正在使用的基数估算器版本相关的优化程序行为。您可以查询sys.dm_exec_valid_use_hints以获取正在运行的SQL Server的确切构建的有效USE HINT名称列表。

     

    数据库兼容级别140

    当您使用SQL Server 2017或更高版本时,使用数据库兼容级别140将默认使用CE140。您还可以从130获得所有其他与性能相关的更改,以及此处详述的新更改。SQL Server 2017引入了新的自适应查询处理功能,并且在使用数据库兼容级别140时默认启用它们。这些功能包括批处理模式内存授予反馈批处理模式自适应连接交叉执行

     

     

    数据库兼容级别150

    当您使用SQL Server 2019或更高版本时,使用数据库兼容级别150将默认使用CE150。您还可以获得130和140之间的所有其他与性能相关的更改,以及此处详述的新更改。SQL Server 2019正在添加更多性能改进和行为更改,这些更改在数据库使用兼容模式150时默认启用。一个主要示例是标量UDF内联,它自动内联用户数据库中的许多标量UDF函数。这可能是某些工作负载最重要的性能改进之一。

    另一个例子是智能查询处理功能,它是SQL Server 2017中自适应查询处理功能的超集。新功能包括表变量延迟编译近似查询处理rowstore上的批处理模式

    还有16个新的数据库作用域配置选项(从CTP 2.2开始),它们为您提供了更多项目的数据库级控制,这些项目也受到跟踪标志或数据库兼容级别的影响。它为您提供了对这些更高级别更改的更细粒度控制,这些更改默认情况下启用,数据库兼容级别为150。

     

    结论

    迁移到现代版本的SQL Server(意味着SQL Server 2016或更高版本)比使用旧版SQL Server复杂得多。由于与各种数据库兼容性级别和各种基数估计器版本相关的更改,将一些思考,规划和实际测试放入要在新版本的SQL Server上使用的数据库兼容级别实际上非常重要正在将现有数据库迁移到。

    Microsoft 建议的升级过程是升级到最新的SQL Server版本,但保持源数据库兼容级别。然后,在每个数据库上启用Query Store并收集工作负载上的基准数据。接下来,将数据库兼容级别设置为最新版本,然后使用“查询存储”通过强制执行上次已知的良好计划来修复性能回归。

    您真的希望避免随意的“盲目”迁移,在这种情况下,您幸福地意识到这是如何工作的以及您的工作负载将如何对这些变化做出反应。将数据库兼容性级别更改为适当的版本并使用适当的数据库范围配置选项以及绝对必要的适当查询提示对于SQL Server的现代版本非常重要。

    另一件需要考虑的事情(特别是对于ISV)是微软开始真正推动你应该考虑将数据库和应用程序测试和认证到特定数据库兼容级别而不是特定版本的SQL Server。当新的SQL Server版本(目标)在与之前的SQL Server版本(源)运行的硬件相当的硬件上运行时,Microsoft提供查询计划形状保护,并且在目标SQL Server上使用相同的受支持的数据库兼容级别和源SQL Server。

    这里的想法是,一旦您在特定的数据库兼容级别(如130)上测试和认证了应用程序,如果将该数据库移动到较新版本的SQL Server(例如SQL Server 2017),您将获得相同的行为和性能或者SQL Server 2019)只要您使用相同的数据库兼容级别并且您在相同的硬件上运行。

     

    展开全文
  • Access列车/火车售票信息数据库兼容sql2000-2008 6700多条记录。 3个表
  • 一个简单的离线 Google Keep 克隆(与应用程序中的数据库兼容) 我开始这样做是为了在我离线时可以使用来自 Google Keep 的笔记。 我试图确保它使用的数据库格式与 Android 上的应用程序使用的数据库格式相同,...
  • 我使用的数据库版本是sql sever 2012,学校机房的版本是2005。在学校机房带回的数据库附加后出现如下错误 ![图片说明](https://img-ask.csdn.net/upload/201811/11/1541930770_377095.png) 想问一下,除了通过sql ...
  • MSSQL2008R2升级到2012:“有效的数据库兼容级别和成功的连接”规则失败 规则检查结果: “有效的数据库兼容级别和成功的连接”规则失败。 报表服务器数据库未处于支持的兼容级别或者无法建立连接。请使用 ...

    MSSQL2008R2升级到2012:“有效的数据库兼容级别和成功的连接”规则失败

    规则检查结果:

    “有效的数据库兼容级别和成功的连接”规则失败。

    报表服务器数据库未处于支持的兼容级别或者无法建立连接。请使用 Reporting Services 配置管理器验证报表服务器配置,并且使用 SQL Server 管理工具验证兼容级别。

    处理方法:
    一、确认报表服务器服务开启。
    二、确认报表数据库连接正常。
    三、运行如下CMD命令:
    rsconfig -c -s (local) -d reportserver -a SQL -u sa -p 密码
    rsconfig命令参数解释:
    -s后的参数表示sqlserver实例名称;
    -d表示报表服务所连的数据库,通常都是reportserver;
    -a表示认证方式, windows 或 sql。如果值为 windows,则指定报表服务器在连接到报表服务器数据库时使用。

    参考网文:
    http://blog.csdn.net/wxw_317/article/details/8156093

    展开全文
  • 如果它要作为表值函数或 CHANGETABLE 函数的参数,请确保您的数据库兼容模式设置为 90。”   解决方法:  右键数据库->属性->选项->兼容级别调整为sql server 2005 以上   ...

    问题提示:“sql_handle 不是可识别的表提示选项。如果它要作为表值函数或 CHANGETABLE 函数的参数,请确保您的数据库兼容模式设置为 90。”

     

    解决方法:

     右键数据库->属性->选项->兼容级别调整为sql server 2005 以上

    图片

     

    展开全文
  • 把一个连接postgresql的web项目改成只要写一个数据库名称就能兼容MySQL,sqlserver登数据怎么写??
  • MYSQL版本中国省市区数据库兼容MYSQL5,MYSQL4无错版,直接导入数据库,修改表名称可以使用,非常方便
  • 数据库兼容问题

    2007-02-23 00:00:00
    解决多数据库兼容问题:    解决方案一:(适用于数据库关系复杂,对性能要求高的情况)  1. 大多ANSI-SQL可以兼容各种数据库。 2. 不兼容的地方可以参考hibernate的实现。 一些常见的不兼容的地方包括: ...
  • sql数据库车辆分配系统中的数据库,文件中支持多种版本, 只有数据库没有代码文件 管理的代码https://download.csdn.net/download/WangQQ491815551/20700966
  • 人大金仓数据库兼容oracle参数调整   参数查看: show all select * from sys_catalog.sys_settings where name like 'compatible%';   参数修改: 方式一: kingbase -c compatible_level=oracle 
  • 在分析数据库或者部署数据库的时候,出现了数据库兼容的问题。拿到的是08或者12版本的数据库,结果部署的服务器只装有05或08的sqlserver,一个小小的兼容问题是不是很让有头疼啊。 通用的解决方案是:导出...
  • 把数据库环境从oracle换成mysql以及数据库兼容性的问题 收藏 客户用的数据库是msyql,而作好的产品只支持oracle,为了让客户掏腰包,我们必须把数据库环境从oracle转向mysql。我们在转换的过程中碰到了下面一些问题...
  • 设置数据库兼容级别的两种方法

    万次阅读 2010-06-26 19:19:00
    --设置数据库兼容级别的两种方法   --以设置兼容SQL Serve 2005 为例 --法一: ALTERDATABASEdatabase_nameSETCOMPATIBILITY_LEVEL= 90 GO --法二: EXECsp_...
  • Oracle12c连接问题ORA-28040:没有匹配的验证协议的解决方案 Oracle数据库高版本服务兼容低版本客户端问题 场景: 问题: 原因: 方案: 分析: 场景: 老版本的程序连接数据库,使用的是Oracle提供的...
  • oracle和mysql双数据库兼容总结

    千次阅读 2019-06-25 19:53:12
    可以使用to_char 或者cast 进行转换,但为了更好的数据库兼容性,选择以下方法: CASE WHEN STATE = 'T' THEN '待处理' WHEN STATE = 'H' THEN '已处理' END oracle中的DISTINCT在clob字段长度...
  • 由于框架以前一直是使用的oracle,现在需要做兼容,及是该框架同时支持oracle和mysql版本,oracle和mysql根据用户环境来选择,只需要切换数据库而不需要对代码做任何改动。 1. 自定义sql语句兼容。 这个实际上是...
  • 查看和修改数据库兼容级别

    千次阅读 2012-02-24 15:13:15
    1)查看兼容级别: select * from sys.databASEs 可查看所有库的兼容级别 2)修改兼容级别:  a、使用存储过程EXEC sp_dbcmptlevel '库名', '80';  b、ALTER DATABASE database_name SET COMPATIBILITY_...
  • 场景:在大量的DB操作过程中, 有许多数据库本来是SQL Server 2005 , 但其兼容级别设置为了80(2000), 导致很多操作无法进行(比如, 表值函数里用字段参数)。 如何操作呢? 直接将兼容级别改过来, 还是不大好...
  • FROM sys.databases WHERE name = '数据库名'; 或者 SELECT name ,compatibility_level ,recovery_model_desc FROM sys.databases WITH(NOLOCK) where name = '数据库名'; 修改 EXEC sp_dbcmptlevel 数据库...
  • 1、参考书籍:《PostgreSQL数据库内核分析》 2、参考书籍:《数据库事务处理的艺术:事务管理与并发控制》 3、PostgreSQL数据库仓库链接,点击前往 4、postgresql内核开发之 SYSDATE实现,点击前往 5、参考书籍:...
  • 曾经遇到过一个问题,我们的数据库是高版本的,但是开发商说他们的软件对于高版本的数据库支持的不好。 当时我问了他们有没有使用什么特殊的功能,比如SQL Server旧版本中的功能而在新版本中不支持的,他们确定是...
  • MemSQL宣称这是世界上最快的分布式关系型数据库兼容MySQL但快30倍,能实现每秒150万次事务。 MemSQL由前Facebook工程师Eric Frenkiel和微软SQL Server高级工程师Nikita Shamgunov(CTO)联合创办,MemSQL的高性能...
  • 其他数据库无法执行*/ Select ShangPinBH,A9999900000,E000050000 from (Select * from KuCunMX --(1378 行受影响) Where KuWeiBH in (A9999900000,E000050000) and ShuLiang > 0 ) a

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 350,198
精华内容 140,079
关键字:

数据库兼容