SQL Server不同的版本有不同的功能,不仅价格颇有差异,获得许可的方式也不尽相同。SQL Server有两种基本的授权(License)模式。
一、“Server+CAL”模式
CAL即客户端访问许可(Client Access License),分为设备访问许可(Device CAL)和用户访问许可(User CAL)两类。SQL Server及其组件(例如报表服务)提供服务,客户端则是访问这些服务的设备或用户。
购买CAL时需要考虑有多少客户端需要访问SQL Server并从中获取数据,客户端的计算方式与中间层无关,只与最终有多少客户端能够获取(包括浏览、修改、删除数据等)SQL Server服务器中的数据有关。
在计算客户端时,需要特别注意以下场景:
(1)前端多路复用(即用户通过前端应用服务器去连接后端SQL Server数据库)或池化方式不会减少所需要的CAL数量。例如,企业中的客户端不直接访问SQL Server而是集中通过一台Web服务器间接访问,这时候仍应该为每个客户端单独购买CAL。
(2)员工和员工之间手工传输数据,对于接收方的员工不需要CAL。例如,一个员工访问SQL Server并生成Excel版本的报表,然后发送给另一个员工,那么接收Excel版本报表的员工不需要CAL(只要该Excel报表不再去访问SQL Server服务)。
选用“Server+CAL”模式的用户,需要在服务器端采购SQL Server服务器许可,并为客户端购买CAL。每个客户端只需要一份CAL就可以访问本企业中数量不限的SQL Server数据库。
这种授权模式适用于以下场景:
(1)可以计算出用户、设备数量。
(2)用户/设备数量足够少,使用该授权模式的成本低于“每处理器”或“每核”模式。
(3)用户需要访问多个SQL Server数据库。
二、“每处理器”或“每核”模式
“每处理器”(Per Processor)授权模式只计算物理处理器的数量,与物理处理器的内核数量无关。这种授权模式一直沿用到SQL Server 2008 R2。
SQL Server 2012开始,授权模式进行了调整。按“每核”(Per Core)计数,同时还需要计算物理处理器(插槽)的数量,单个插槽最低需要购买4核。
这一授权模式可以很好的简化授权的复杂程度,不用统计有多少用户(或者设备)会访问SQL Server,以及是防火墙内部还是来自Internet的外部连接。
这种授权模式适用于以下场景:
(1)不能或不想计算用户/设备数量。
(2)用户/设备数量足够多,“每处理器”或“每核”方式比“服务器/客户端访问许可”的方式更有成本效益。
(3)SQL Server用于对外的Web站点或应用程序,用户数量无法统计。
计算示例:
1.某台服务器有 4 个CPU,每个CPU有10核,启用了“超线程”,合计共有80个逻辑处理器。这台服务器在2010年时购买SQL Server 2008 R2时购买了4个“每处理器”授权,这样的授权覆盖了这台服务器所有的CPU。
2.硬件配置同上例,在2012年购买SQL Server 2012时需要购买40个“每核”授权。
3.某台服务器有2个CPU,每个CPU只有2核。“每核”授权时,为了覆盖全部的CPU,需要购买8个“每核”授权。因为每个CPU插槽最低需要购买4核。
4.某台服务器有2个CPU,每个CPU有6核。“每核”授权时,为了覆盖全部的CPU,需要购买12个“每核”授权。
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。