SQL Server数据库的兼容级别

http://www.cnblogs.com/sosoft/archive/2017/07/08/sqljrjb.html

改天尝试一下 在SQLSERVER2008R2 里面修改兼容级别成SQL2005的情况下 能否再现date字段类型的问题。

以及验证一下兼容级别的特点。

今天白天 尝试了下 在SQLSERVER2008r2 以及SQLSERVER2005的数据库里面

结论:

SQLSERVER的兼容性级别 应该是针对执行的SQL语句来的 不是针对数据结构,
尝试了下 :
在SQL2008R2的环境上面创建一个兼容性  的数据库 也可以创建 date类型的列数据结构的表.

SQL2005下面创建的数据库实例才无法创建新的列.

所以支持的列数据类型 应该是 数据库的引擎来决定的
而不是兼容级别来决定

创建数据库

使用sql2005的查询分析器创建表

只有在SQLSERVER2005上面的数据库才会报错.

将sqlserver 2005的数据文件备份到sql2008上面去 就能够创建相应的列了.

SQL Server 是Microsoft 公司推出的关系型数据库管理系统。具有使用方便可伸缩性好与相关软件集成程度高等优点,可跨越从运行Microsoft Windows 98 的膝上型电脑到运行Microsoft Windows 2012 的大型多处理器的服务器等多种平台使用。

Microsoft SQL Server 是一个全面的数据库平台,使用集成的商业智能 (BI)工具提供了企业级的数据管理。Microsoft SQL Server 数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,使您可以构建和管理用于业务的高可用和高性能的数据应用程序。

这次何问起收集了一些SQL Server数据库的兼容级别和命名规则的内容分享给大家。这个一道相关的练习题:http://hovertree.com/tiku/bjag/evktshym.htm

随着时间的推移,Sql Server发布有不少版本,如2000、2005、2008、2008R2、2012、2014、2016等。比如HoverTreeTop项目最开始用的是Sql Server 2008。那么2008的兼容级别是什么呢?答案是100。如图:

兼容级别有60、65、70、80、90、100、110等。兼容级别和版本号是有某种联系的。通过SSMS连接Sql servr,查看实例的版本就能知道当前SQL Server的版本号了。这里何问起收集了一个对应关系的表格:

  RTM (no SP) SP1 SP2 SP3 SP4
 SQL Server 2014
     codename Hekaton SQL14
12.00.2000.8        
 SQL Server 2012
     codename Denali
11.00.2100.60 11.00.3000.0 11.00.5058.0    
 SQL Server 2008 R2
     codename Kilimanjaro
10.50.160010.50.1600.1 10.50.2500.0
or 10.51.2500.0
10.50.4000.0
or 10.52.4000.0
   
 SQL Server 2008
     codename Katmai
10.00.1600.22 10.00.2531.0 10.00.4000.0 10.00.5500.0  
SQL Server 2005
     codename Yukon
9.00.1399.06 9.00.2047 9.00.3042 9.00.4035 9.00.5000
 SQL Server 2000
     codename Shiloh
8.00.194 8.00.384 8.00.532 8.00.760 8.00.2039
 SQL Server 7.0
     codename Sphinx

Sql Server 7.0使用70级别,Sql Server 2000使用80级别,Sql Server 2005使用90级别,Sql Server 2008使用100级别,Sql Server 2012使用110级别。如下表:

另外何问起要说的是Sql Server 2016的兼容级别是130,Sql Server 2017的兼容级别是140。

若要设置与指定的 Microsoft SQL Server 早期版本兼容的特定数据库行为,请使用 ALTER DATABASE SET COMPATIBILITY_LEVEL。兼容级别只影响指定数据库中的行为,而不会影响整个服务器上的行为。

在 SQL Server 的早期版本中,sp_dbcmptlevel 用于设置兼容级别。不推荐使用 sp_dbcmptlevel。

COMPATIBILITY_LEVEL { 140 | 130 | 120 | 110 | 100 | 90 | 80 }

参考:

转自:http://hovertree.com/h/bjag/5et0oydn.htm

推荐:http://www.cnblogs.com/sosoft/category/413157.html

[转帖]SQLSERVER的兼容级别的更多相关文章

  1. SQLSERVER的兼容级别

    今天采用SQL Mannager 2008连接远程的sqlserver数据库,之后弹出一个对话框,修改SQL兼容级别,当时每太注意,一下点击了确定按钮,结果导致两个系统SQL只想全部出错,幸亏发现的早 ...

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

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

  3. 学习SQL的点点滴滴(三)-修改数据库的兼容级别

    语法 ALTER DATABASE database_name SET COMPATIBILITY_LEVEL = { 80 | 90 | 100 } 参数 database_name 要修改的数据库 ...

  4. SQLSERVER性能监控级别步骤

    SQLSERVER性能监控级别步骤 下面先用一幅图描述一下有哪些步骤和顺序 1.识别瓶颈 识别瓶颈的原因包括多个方面,例如,资源不足,需要添加或升级硬件: 工作负荷在同类资源之间分布不均匀,例如,一个 ...

  5. SQL Server数据库的兼容级别

    SQL Server 是Microsoft 公司推出的关系型数据库管理系统.具有使用方便可伸缩性好与相关软件集成程度高等优点,可跨越从运行Microsoft Windows 98 的膝上型电脑到运行M ...

  6. SQL点点滴滴_修改数据库的兼容级别

    语法 ALTER DATABASE database_name SET COMPATIBILITY_LEVEL = { 80 | 90 | 100 } 参数 database_name 要修改的数据库 ...

  7. SQL Server 兼容级别

    ALTER DATABASE (Transact-SQL) 兼容级别 适用对象:SQL Server(从 2008 版开始)Azure SQL 数据库Azure SQL 数据仓库并行数据仓库 将某些数 ...

  8. sqlserver默认隔离级别下并发批量update同一张表引起的死锁

    提到死锁,最最常规的场景之一是Session1 以排它锁的方式锁定A表,请求B表,session2以排它锁的方式锁定B表,请求A表之类的,访问顺序不一致导致死锁的情况本文通过简化,测试这样一种稍显特殊 ...

  9. SQLServer 事务隔离级别与锁的申请和释放

    脏读:当一个事务开始更新数据,但是这个事务并没有完全提交,这个时候第二个事务开始读取数据,把第一个事务所更改的数据读了出来, 第二个事务读取的数据时临时的,因为有可能第一个事务最终有可能做回滚操作 不 ...

随机推荐

  1. 14 [网络编程]-socket

    1.互联网协议 博客:http://www.cnblogs.com/linhaifeng/articles/6129246.html 2.socket层 Socket是应用层与TCP/IP协议族通信的 ...

  2. 17-[JavaScript]- 内置对象 Array,String,Date,Math

    1.Array数组 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> < ...

  3. 为什么Python类成员的调用和声明必须有"this"?

    Python的这种设计是作者从Modula-3中借鉴来的,在后面使用的情况看来,这个设计也是比较成功的.我们对比Python和C++讨论一下这个问题: Modula-3是上世纪80年代末数字设备公司( ...

  4. Flutter - Stateful(有状态) 和 stateless(无状态) widgets

    Stateful(有状态) 和 stateless(无状态) widgets 有些widgets是有状态的, 有些是无状态的 如果用户与widget交互,widget会发生变化,那么它就是有状态的. ...

  5. flask中的宏

    对于flask中的宏编程.我们使用 macro 来对宏起个名称 宏编程 对于我们来说是减少了代码的重用.以及简化了标签的操作,对与开发效率有很大的提升, 在html中.相信大多数都用到了.input ...

  6. 【SIKIA计划】_10_Unity5.1UI系统-UGUI笔记

    Canvas——TextEventSystem 事件系统 0.滚动文本列表(隐藏背景)/Scroll/maskimage[Scroll Rect][Mask]——text(拉伸到显示全部)Scroll ...

  7. d-ary heap实现一个快速的优先级队列(C#)

    d-ary heap简介: d-ary heap 是泛化版本的binary heap(d=2),d-ary heap每个非叶子节点最多有d个孩子结点. d-ary heap拥有如下属性: 类似comp ...

  8. shell中与运算 cut切分行 if while综合在一起的一个例子

    前言: 公司要统计 treasury库hive表磁盘空间,写了个脚本,如下: 查询hive仓库表占用hdfs文件大小: hadoop fs -du -h  /user/hive/warehouse/t ...

  9. birt 访问频繁报错Cannot create JDBC driver of class '' for connect URL 'null' java.sql.SQLException: No suitable driver

    一般birt项目都是部署tomcat启动.这个问题大概率是因为没有配置JNDI数据源的原因. 参考链接: https://www.cnblogs.com/xdp-gacl/p/3951952.html

  10. 【Kubernetes】基于角色的权限控制:RBAC

    Kubernetes中所有的API对象,都保存在Etcd里,对这些API对象的操作,一定都是通过访问kube-apiserver实现的,原因是需要APIServer来做授权工作. 在Kubernete ...