SQL Server授权购买简单介绍

之前有同事问我,使用盗版序列号的SQL Server到底有没有性能限制,之前本人一直没有深入研究过,后来经过一番资料搜集和查证,汇总成这篇文章

微软的SQL Server产品分为两种卖法

1、盒装

1、盒装 :Server+CAL授权方式(SQL2017取消了Server+CAL授权方式,盗版序列号,一般电脑城有卖光盘、盗版光盘、代理商,CAL方式最多只能用20个逻辑核,超线程只能用40核,SQL2014之后找不到盗版序列号)
select serverproperty('Edition')
Enterprise Edition (64-bit)

2、授权

2.1、授权:Core-based 授权方式(按逻辑核心授权,SQL2012及之后,没有盗版序列号,只能找正规代理商买,至少要买四核心,超线程也按照正常核心计算)
select serverproperty('Edition')
Enterprise Edition: Core-based Licensing (64-bit)

2.2、授权:Processor-based 授权方式(按物理核心授权,SQL2012以前,没有盗版序列号,只能找正规代理商买,一个物理核心只能对应一个逻辑核心,也就是即使一个物理核心有多个逻辑核也无法利用)


分清授权模式和edition

SQL Server有很多版本,而有一些版本是不需要购买授权的,例如express 版和Developer版
而有些版本没有Core-based 授权,例如Web版和Standard 版,但是也有最大CPU和内存限制
edition版本
express edition:免费,只能用1逻辑核CPU,可以用于生产环境。
Enterprise edition:Core-based 授权/Server+CAL授权
Standard edition:没有企业版的关键特性
Web edition:没有企业版的关键特性
Developer edition:免费,无功能限制,不能用于生产环境。

详见

https://docs.microsoft.com/zh-cn/sql/sql-server/editions-and-components-of-sql-server-2016


Server+CAL授权方式的限制

限制CPU=20核/40核(超线程)
限制内存=当前物理内存/NUMA数量*(总核数/20)
限制内存的解释:如果设置了SQL Server的最大使用内存超过限制内存,则当使用内存大于限制内存而需要再向操作系统申请内存时,则会产生跨NUMA处理的情况,导致大量消耗系统资源,引起性能下降

举个栗子
硬件配置
8核 64G内存的机器
限制内存=当前物理内存/NUMA数量*(总核数/20)=64G/1*(8/20)=25.6G 内存
超过26G内存就会出现性能下降

证明
虚拟机硬件配置
OS:win2012r2 datacenter
cpu:32核
内存:128g
数据库:SQL2008/SQL2012

select serverproperty('Edition') SQL2008/SQL2012
Enterprise Edition (64-bit)

sp_readerrorlog SQL2012、SQL2014、SQL2016。。。
2018-01-02 18:13:04.510 Server SQL Server detected 2 sockets with 16 cores per socket and 16 logical processors per socket, 32 total logical processors; using 20 logical processors based on SQL Server licensing. This is an informational message; no user action is required.

sp_readerrorlog SQL2008(SQL2008虽然探测到当前机器的所有逻辑核,但是实际上只能使用20个逻辑核)
2018-01-02 17:32:36.600 服务器 Detected 32 CPUs. This is an informational message; no user action is required.

如果是购买了 Core-based授权的用户,执行select @@version命令会显示如下结果

SELECT @@VERSION
Microsoft SQL Server 2014 - 12.0.2000.8 (X64)
Feb 20 2014 20:04:26
Copyright (c) Microsoft Corporation
Enterprise Edition: Core-based Licensing (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1) (Hypervisor)


Oracle和SQL Server支持Core-based 授权的版本对比

SQL Server
2012年3月7日发布2012版SQL Server数据库

Oracle
2009年9月发布Oracle 11G R2(11.2.0.1)

所以对于Oracle来说,SQL Server还是有差距


总结

最后总结一句话:天下没有免费的午餐,使用收费软件之前请搞清楚软件的授权方式,想解除限制还是老老实实买Core-based 授权或者用开源数据库吧

如有不对的地方,欢迎大家拍砖o(∩_∩)o 

本文版权归作者所有,未经作者同意不得转载。

SQL Server授权购买简单介绍的更多相关文章

  1. SQL SERVER数据库的简单介绍

    一.数据库技术的发展 数据库技术是应数据管理任务的需求而产生的,先后经历了人工管理.文件系统.数据库系统等三个阶段. 二.关系型数据库 SQL Server属于关系型数据库. 关系模型 以二维表来描述 ...

  2. Centos 7.3下 Linux For SQL Server安装及配置介绍

    Centos 7.3下 Linux For SQL Server安装及配置介绍 高文龙关注13人评论2828人阅读2017-03-05 21:46:21 Centos 7.3下Linux For SQ ...

  3. 总结SQL Server窗口函数的简单使用

    总结SQL Server窗口函数的简单使用 前言:我一直十分喜欢使用SQL Server2005/2008的窗口函数,排名函数ROW_NUMBER()尤甚.今天晚上我在查看SQL Server开发的相 ...

  4. SQL Server 2014 各版本介绍

    SQL Server 2014 各版本介绍 目前,SQL Server 2014 分为主要版本和专业版. 在选择版本的时候可以根据您具体的需要进行抉择,如果你需要一个免费的数据库管理系统,那么就选择 ...

  5. SQL Server中约束的介绍

    SQL Server中约束的介绍(转载收藏) Posted on 2010-09-03 11:05 grayboy 阅读(8501) 评论(0) 编辑 收藏 作者:GrayBoy 出处:http:// ...

  6. SQL Server系统表sysobjects介绍与使用(转)

    SQL Server系统表sysobjects介绍与使用 关于SQL Server数据库的一切信息都保存在它的系统表格里.我怀疑你是否花过比较多的时间来检查系统表格,因为你总是忙于用户表格.但是,你可 ...

  7. SQL Server系统表sysobjects介绍

    SQL Server系统表sysobjects介绍 sysobjects 表结构: 列名 数据类型 描述 name sysname 对象名,常用列 id int 对象标识号 xtype char(2) ...

  8. SQL Server 2005 系统数据介绍:dm_exec_connections

    原文:SQL Server 2005 系统数据介绍:dm_exec_connections 转载:http://msdn.microsoft.com/zh-cn/library/ms181509(SQ ...

  9. 转载--SQL Server 2005的XQuery介绍

    原文地址: http://bbs.51cto.com/thread-458009-1-1.html   引用: 摘要 本文介绍了SQL Server 2005能够支持的XQuery的各方面特性如FLW ...

随机推荐

  1. 算法(Python)

    算法就是为了解决某一个问题而采取的具体有效的操作步骤 算法的复杂度,表示代码的运行效率,用一个大写的O加括号来表示,比如O(1),O(n) 认为算法的复杂度是渐进的,即对于一个大小为n的输入,如果他的 ...

  2. Java集合(2)一 ArrayList 与 LinkList

    目录 Java集合(1)一 集合框架 Java集合(2)一 ArrayList 与 LinkList Java集合(3)一 红黑树.TreeMap与TreeSet(上) Java集合(4)一 红黑树. ...

  3. mysql的explain

    explain 一般用于分析sql.  如下 [SQL] 纯文本查看 复制代码 ? 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 2 ...

  4. 树的平衡 AVL Tree

    本篇随笔主要从以下三个方面介绍树的平衡: 1):BST不平衡问题 2):BST 旋转 3):AVL Tree 一:BST不平衡问题的解析 之前有提过普通BST的一些一些缺点,例如BST的高度是介于lg ...

  5. Android注解方式实现表单校验

    在开发中总会遇到输入框的输入规则限制 比如 电话输入框电话号码的校验,密码规则的校验等 ,我们通常做法是提交操作时对每个输入框的输入内容进行校验,很多的if else ,代码看起来很乱,其实我们可以用 ...

  6. iscroll使用之页面卡顿问题

    最近在开发项目时,遇到一个问题,使用iscroll实现的页面滚动,测试时发现在chrome浏览器中的模拟移动设备页面不能平滑滚动,有卡顿现象,在android手机端也有同样的问题. 在github上搜 ...

  7. JAVA-----基于POI实现对Excel导入

    在日常项目开发中, 数据录入和导出是十分普遍的需求,因此,导入导出也成为了开发中一个经典的功能.数据导出的格式一般是excel或者pdf,而批量导入的信息一般是借助excel来减轻工作量,提高效率. ...

  8. Android - include属性用法

    include属性用法 本文地址: http://blog.csdn.net/caroline_wendy Android的layout中, 能够使用include属性样式, 这样能够把不同的layo ...

  9. 解决EJB本地调用“java.lang.ClassCastException: $Proxy96 cannot be cast to com.tgb.ejb.UserManager”异常

    EJB本地调用方式:把Webclient和EJB服务端部署到同一个JBoss,client和server通过一个JVM进行通信. Web客户端本地调用时.需引用EJB服务端打包的jar,不需引用JBo ...

  10. Nginx平台构架

    深入理解Nginx模块发开与架构解析读书笔记. nginx在启动后,在unix系统中会以daemon的方式(能够手动关闭 nginx.conf daemon off)在后台执行,后台进程包括一个mas ...