ALTER DATABASE (Transact-SQL) 兼容级别

适用对象:SQL Server(从 2008 版开始)Azure SQL 数据库Azure SQL 数据仓库并行数据仓库

将某些数据库行为设置为与指定的 SQL Server 版本兼容。 有关其他 ALTER DATABASE 选项,请参阅 ALTER DATABASE

有关语法约定的详细信息,请参阅 Transact-SQL 语法约定

语法

ALTER DATABASE database_name

SET COMPATIBILITY_LEVEL = { 150 | 140 | 130 | 120 | 110 | 100 | 90 }

参数

database_name 要修改的数据库的名称。

COMPATIBILITY_LEVEL { 150 | 140 | 130 | 120 | 110 | 100 | 90 | 80 } 是使数据库与之兼容的 SQL Server 版本。 可以配置以下兼容级别值(并非所有版本都支持所有以上列出的兼容级别):

Product 数据库引擎版本 兼容级别指定 支持的兼容级别值
SQL Server 2019(预览版) 15 150 150、140、130、120、110、100
SQL Server 2017 (14.x) 14 140 140、130、120、110、100
Azure SQL Database 单一数据库/弹性池 12 130 150、140、130、120、110、100
Azure SQL Database 托管实例 12 130 150、140、130、120、110、100
SQL Server 2016 (13.x) 13 130 130、120、110、100
SQL Server 2014 (12.x) 12 120 120、110、100
SQL Server 2012 (11.x) 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.x) 9 90 90、80
SQL Server 2000 8 80 80

备注

从 2018 年 1 月起,在 Azure SQL Database 中,新创建的数据库的默认兼容性级别为 140 。 我们不会更新现有数据库的数据库兼容性级别。 这是由客户自行决定的。 不过,强烈建议客户计划转到最新的兼容性级别,以便利用最新的改进。

如果想要对整个数据库利用数据库兼容性级别 140,但有理由优先选择映射到数据库兼容性级别 110 的 SQL Server 2012 (11.x) 的基数估计模型,请参阅 ALTER DATABASE SCOPED CONFIGURATION,尤其是其关键字 LEGACY_CARDINALITY_ESTIMATION = ON 。

有关如何评估 Azure SQL Database上两个兼容级别之间最重要查询的性能差异的详细信息,请参阅 Improved Query Performance with Compatibility Level 130 in Azure SQL Database(在 Azure SQL 数据库中使用兼容级别 130 提高了查询性能)。 注意,本文是指兼容性级别 130 和 SQL Server,但同样的方法也适用于转到 140 的 SQL Server 和 Azure SQL Database。

执行以下查询可确定连接到的数据库引擎的版本。

 
SELECT SERVERPROPERTY('ProductVersion');

备注

Azure SQL Database上并不支持所有功能(因兼容级别而异)。

若要确定当前兼容级别,请查询 sys.databases 的 compatibility_level 列。

 
SELECT name, compatibility_level FROM sys.databases;

SQL Server 兼容级别的更多相关文章

  1. Sql Server隔离级别(2)

    Sql Server2005之后,引入了一个新的隔离级别Snapshot(Read Committed Snapshot Isolation (RCSI))和(Snapshot Isolation ( ...

  2. Sql Server隔离级别(1)

    数据库是一个并发操作的环境,就像多线程一样,这样在高并发的情况下回出现一些问题. 假设我们有一张表Account,表结构和数据如下所示 AccountName Balance jo 100 fo 20 ...

  3. SNF平台从sql server兼容oracle的处理方式和开发方式

    前几天有这样一个需求,就是让SNF平台BS版的基础程序全面支持Oracle数据库. 初一看这是一个很大的工程,因为大家都知道 Sql和Oracle的语法有很多的不一样,如 top .日期获取.类型之间 ...

  4. SQL Server数据库级别触发器

    禁止修改表结构和加表 CREATE TRIGGER [Object_Change_Trigger_DDL] ON DATABASE FOR ALTER_TABLE,DROP_TABLE,CREATE_ ...

  5. SQL Server 隔离级别(RC&RR)

  6. 强强联合 阿里云 RDS for SQL Server 与 金蝶 K/3 WISE 产品实现兼容适配

    强强联合 阿里云 RDS for SQL Server 与 金蝶 K/3 WISE 产品实现兼容适配,原K/3 WISE用户通过简单配置就可以无缝搭配RDS SQL Server使用,不需再费时费力自 ...

  7. SQL server 2005中的锁(1)

    在之前的一片随笔中,简单的说了一下SQL Server中的隔离级别.而SQL Server的隔离级别是通过锁的机制来实现的.现在深入一下,谈谈SQL Server中的锁. 开始之前,先要定义一下前提: ...

  8. sql server 常见错误代码15000 - 15999含义解析

    错误 15000 - 15999 SQL Server 2008 R2 其他版本 错误 严重性 是否记录事件 说明(消息正文) 15001 16 否 对象 '%ls' 不存在或不是此操作的有效对象. ...

  9. [微软官方]SQLSERVER的兼容级别

    ALTER DATABASE (Transact-SQL) 兼容级别 https://docs.microsoft.com/zh-cn/sql/t-sql/statements/alter-datab ...

随机推荐

  1. 并不对劲的bzoj4012:loj2116:p3241: [HNOI2015]开店

    题目大意 有一棵\(n\)(\(n\leq1.5*10^5\))个节点的二叉树,有点权\(x\),边权\(w\),\(q\)(\(q\leq2*10^5\))组询问,每组询问给出\(u,l,r\),求 ...

  2. Junit常用操作

    断言方法: public static void assertEquals(Object[] expected, Object[] actual) // 测试a是否等于b public static ...

  3. 三种实现AJAX的方法以及Vue和axios结合使用的坑

    前言 之前曾经想自己写一个天气的App,并找到了一个免费的天气数据接口的服务商--和风天气,当时也不懂怎么发HTTP请求,而且也只会用Java语言,看到官方文档里面有一个Java代码示例,就复制了一下 ...

  4. NOIp 2014 寻找道路【图的遍历/最短路】By cellur925

    题目传送门 比较裸的图论,结果自己还是没做出来,我真菜. 我们根据题意,只要把不能通向终点的点求出,然后再分别以这些点为起点,求出它们能到达的点,这些点也不能在路径上. 之后跑一个最短路即可. 注意以 ...

  5. 组合数学练习题(二)——Chemist

    题意: 在一个 n 维无限空间中,一开始原点处有一个细胞.细胞每秒都会增殖,每个原有细胞都会消亡,在与它曼哈顿距离恰为 1的所有位置都会新增一个细胞.求 T 秒后,原点处会有多少细胞,答案 mod10 ...

  6. 超级实用的VSCode插件,帮你大幅提高工作效率

    Visual Studio Code是一个轻量级但功能强大的源代码编辑器,可在桌面上运行,适用于Windows,macOS和Linux. 它内置了对JavaScript,TypeScript和Node ...

  7. for循环的阶乘

    方法一: long sum=0; long num=1; for (long i = 1; i <=20; i++) { for(long j=i;j>0;j--){ num=num*j; ...

  8. 473 Matchsticks to Square 火柴拼正方形

    还记得童话<卖火柴的小女孩>吗?现在,你知道小女孩有多少根火柴,请找出一种能使用所有火柴拼成一个正方形的方法.不能折断火柴,可以把火柴连接起来,并且每根火柴都要用到.输入为小女孩拥有火柴的 ...

  9. mysql配置mha高可用防火墙未关闭报错

    ########################################################################## l  问题背景:检查主从复制之后做高可用报错 [r ...

  10. AJPFX:学习JAVA程序员两个必会的冒泡和选择排序

    * 数组排序(冒泡排序)* * 冒泡排序: 相邻元素两两比较,大的往后放,第一次完毕,最大值出现在了最大索引处* * 选择排序 : 从0索引开始,依次和后面元素比较,小的往前放,第一次完毕,最小值出现 ...