SQL Server授權購買簡單介紹 之前有同事問我,使用盜版序列號的SQL Server到底有沒有性能限制,之前本人一直沒有深入研究過,後來經過一番資料搜集和查證,彙總成這篇文章 微軟的SQL Server產品分為兩種賣法 1、盒裝 1、盒裝 :Server+CAL授權方式(SQL2017取消了S ...
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
本文版權歸作者所有,未經作者同意不得轉載。