SQL Server授权购买简单介绍
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授权购买简单介绍的更多相关文章
- SQL SERVER数据库的简单介绍
一.数据库技术的发展 数据库技术是应数据管理任务的需求而产生的,先后经历了人工管理.文件系统.数据库系统等三个阶段. 二.关系型数据库 SQL Server属于关系型数据库. 关系模型 以二维表来描述 ...
- 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 ...
- 总结SQL Server窗口函数的简单使用
总结SQL Server窗口函数的简单使用 前言:我一直十分喜欢使用SQL Server2005/2008的窗口函数,排名函数ROW_NUMBER()尤甚.今天晚上我在查看SQL Server开发的相 ...
- SQL Server 2014 各版本介绍
SQL Server 2014 各版本介绍 目前,SQL Server 2014 分为主要版本和专业版. 在选择版本的时候可以根据您具体的需要进行抉择,如果你需要一个免费的数据库管理系统,那么就选择 ...
- SQL Server中约束的介绍
SQL Server中约束的介绍(转载收藏) Posted on 2010-09-03 11:05 grayboy 阅读(8501) 评论(0) 编辑 收藏 作者:GrayBoy 出处:http:// ...
- SQL Server系统表sysobjects介绍与使用(转)
SQL Server系统表sysobjects介绍与使用 关于SQL Server数据库的一切信息都保存在它的系统表格里.我怀疑你是否花过比较多的时间来检查系统表格,因为你总是忙于用户表格.但是,你可 ...
- SQL Server系统表sysobjects介绍
SQL Server系统表sysobjects介绍 sysobjects 表结构: 列名 数据类型 描述 name sysname 对象名,常用列 id int 对象标识号 xtype char(2) ...
- SQL Server 2005 系统数据介绍:dm_exec_connections
原文:SQL Server 2005 系统数据介绍:dm_exec_connections 转载:http://msdn.microsoft.com/zh-cn/library/ms181509(SQ ...
- 转载--SQL Server 2005的XQuery介绍
原文地址: http://bbs.51cto.com/thread-458009-1-1.html 引用: 摘要 本文介绍了SQL Server 2005能够支持的XQuery的各方面特性如FLW ...
随机推荐
- Laravel 5 框架性能优化技巧
性能一直是 Laravel 框架为人诟病的一个点,所以调优 Laravel 程序算是一个必学的技能. 接下来分享一些开发的最佳实践,还有调优技巧,大家有别的建议也欢迎留言讨论 1.配置缓存信息 使用l ...
- iOS 处理socket粘包问题
1.什么是粘包? 粘包通常出现在TCP的协议里面,对于UDP来说是不会出现粘包状况的,之所以出现这种状况的原因,涉及到一种名为Nagle的算法. Nagle算法通过减少必须发送的封包的数量,提高网络应 ...
- msf入门学习笔记
msf-------------------------------------- service postgresql startservice metasploit startmsfconsole ...
- Guice之IOC教程
Guice 在上一篇博客中, 我们讲解了Spring中的IOC示例与实现, 本文着重介绍Guice注入以及与Spring中的差异. Guice是Google开发的, 一个轻量级的依赖注入框架, 跟Sp ...
- Java----list常用方法汇总
package ListTest; import java.util.ArrayList; import java.util.Iterator ; import java.util.List; /** ...
- hdu4416 Good Article Good sentence (后缀数组)
题意:问a串中有多少种字符串集合B中没有的连续子串. a的长度10^5,B中的总长度为不超过10^5. 解法:后缀数组题目:后缀数组能够非常easy算出来一个串中有多少种子串. 把a和B集合连起来.求 ...
- 解决EJB本地调用“java.lang.ClassCastException: $Proxy96 cannot be cast to com.tgb.ejb.UserManager”异常
EJB本地调用方式:把Webclient和EJB服务端部署到同一个JBoss,client和server通过一个JVM进行通信. Web客户端本地调用时.需引用EJB服务端打包的jar,不需引用JBo ...
- 柯塔娜(Cortana):从科幻虚构到真实人生
依照商业法理.7月29日.随着Win10公布的东风."小娜"与"小冰"两姊妹相会于中国北京. 在"小娜"眼中,"小冰"仅 ...
- 苹果新的编程语言 Swift 语言进阶(三)--基本运算和扩展运算
一 基本操作运算 1. 赋值操作 在Swift 中,能够使用赋值操作为一个常量或一个变量赋值,也能够使用多元组一次为多个常量或变量赋值. Swift 的赋值操作与其他语言最大的不同是赋值操作除了可以为 ...
- python自动化--文件处理
文件处理 格式 打开 f=open('a.txt',mode='r',encoding='utf-8') 读写 data=f.read() print(data) 关闭 f.close() 流程分析: ...