欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

正确理解SQL Server的许可证(转)

程序员文章站 2022-06-13 13:53:50
...

今天在论坛上看到有人讨论如果使用SQL Server作为SEPM的后台数据库,需要多少个CAL的问题: If I do have to use SQL Server what type of licensing is required in terms of user CALs.Is it a one-to-one relationship where each client that checks int

今天在论坛上看到有人讨论如果使用SQL Server作为SEPM的后台数据库,需要多少个CAL的问题:

If I do have to use SQL Server what type of licensing is required in terms of user CALs. Is it a one-to-one relationship where each client that checks into a SEP 11 management server needs a SQL Server CAL? Or do only the management agents on the SEPM server need a CAL since client machines technically check-in via HTTP and not directly to the database?

参与讨论的人持两种观点:

第一种认为SEP客户端不支持访问数据库,所以不需要许可,只有直接访问数据库的Manager才需要许可:

The SEP clients do not acess the DB directly. You'll just need to license the SQL DB for the SEPM, since the client talks to the SEPM, and then the SEPM talks to the Database.

另一种说法认为只要是使用了SQL服务的用户,都要购买CAL,因为客户端需要SQL的服务,需要为每个客户端购买CAL:

Microsoft are very clear on SQL Licensing:

A SQL Server CAL is required for a user or device to access or use the services or functionality of either edition of SQL Server.

This statement effectively means that if you purchase user or device CAL's you MUST purchase enough CAL's to cover all your users or clients, NOT just for SEPM's. I will leave you to do the math, but once you hit a certain number, processor licensing is MUCH cheaper!

呵呵,有意思的讨论,售前的工作参与得少,咋一看我也没了主意,于是到MS的官方网站查查吧:

SQL Server的许可分为三种:基于处理器的,基于用户的,基于客户端设备的。

用户或设备数量较大时或者说SQL服务器的负载较重时,使用processer许可比较划算。反正就使用user或device许可,如果user share device,就用device的,如果一个user多个device,就用user的。

关于间接使用SQL服务的客户端是否需要CAL的问题,MS的说法是:

In most cases, Microsoft requires a CAL for every device that accesses or uses the services of SQL Server 2005. If you are unsure whether a CAL is required, you should contact your Microsoft sales representative or account manager. Inquires can be directed to the Microsoft Sales and Partner Information line by calling (800) 426-9400.

有意思,In most cases是什么意思呢?不清楚就联系销售?呵呵,看来还有的商量。

按照我的经验,如果SQL作为前端Web服务器的后端,则Web服务器的用户需要购买许可,但是对于绝大多数Web服务器来说,用户是不固定的,所以这种情况都应该购买processor许可,我想其它使用SQL作为后台数据库的应用也应该是一样的。

-----------------------------------------------

客户端访问许可证模型

Microsoft 服务器产品主要使用三种 CAL 模型:每用户、每设备和每服务器。并非所有 CAL 类型都可用于所有产品,特定产品可能提供其他类型的 CAL。有关特定 CAL 许可证的详细信息,请参阅 Microsoft CAL 指南,网址为 ?LinkId=91230(页面可能为英文)。

每用户 CAL

对于每用户 CAL 模型,访问服务器的每个用户都需要一个单独的 CAL。如果用户使用多台计算机,则此用户可以从每台计算机访问服务器,并只使用一个 CAL。但是,如果其他用户登录其中一台计算机,则该用户将需要单独的每用户 CAL 来访问服务器。

一家有 200 名员工的公司在 220 台计算机上使用两个 Exchange Server 是每用户 CAL 的典型示例。这样将需要两个服务器许可证(以便在服务器上安装产品)和 200 个每用户 CAL。由于 CAL 被分配给每个用户,访问服务器的计算机数量并不重要。

每设备 CAL

对于每设备 CAL 模型,访问服务器的每个设备都需要一个单独的 CAL。如果多人使用特定计算机,则一个 CAL 允许他们从该计算机访问服务器。但是,如果这些用户之一也使用另一台计算机来访问服务器,则另外这台计算机也将需要每设备 CAL。

一家有 200 名员工的公司在 150 台计算机上使用两个 Exchange Server 是每设备 CAL 的典型示例。这样将需要两个服务器许可证(以便在服务器上安装产品)和 150 个每设备 CAL。由于 CAL 被分配给每个设备,访问服务器的用户数量并不重要。

每服务器 CAL

对于每服务器 CAL 模型,同时访问服务器的每个设备均需要单独的 CAL。安装时,服务器管理员将输入为特定服务器购买的 CAL 数量。如果此数量设置为 30,则只允许 30 台计算机同时连接到该服务器。但是,如果该服务器服务于 100 台计算机,则所有这些计算机都可以访问服务器,只要同时不超过 30 个连接。在计算机与服务器断开连接后,将释放 CAL,以便另一台计算机可以连接到服务器。如果多台计算机用于负载平衡,则每个服务器需要单独的 CAL。例如,如果您正在使用两个 Exchange Server,并且购买了 200 个每服务器 CAL,则要为每台服务器分配 100 个 CAL。

如何计算资产智能报告的 CAL 计数

如果对客户端计算机启用了硬件清单,则 Configuration Manager 2007 硬件清单客户端代理分析运行 Windows Server 操作系统的计算机上的安全审核日志。然后,将与服务器发生联系的用户和 IP 地址列表包含在客户发送的硬件清单报表中。当资产智能 CAL 报表运行时,将根据之前描述的 CAL 模型合并从客户端收集的信息。报表为各个版本的 Windows 单独累计 CAL 使用情况。此外,连接到运行 Exchange Server 的 Windows 服务器的用户和计算机数量将被编译并报告为 Exchange CAL。

对用户和设备 Exchange CAL 以及 Windows Server 设备 CAL 作出了下列特定假设。

  • Exchange CAL 计算假设 Exchange Server 安装在单一工作负载计算机上。如果同一计算机上运行其他服务器产品,则仅连接到其他那些产品的用户或设备才被报告为 Exchange CAL。

  • 设备 CAL 报表根据 IP 地址识别计算机。因此,当列出设备 CAL 使用情况的清单时,可能会观察到下列情况:

  • 如果某些客户端位于带网络地址转换的路由器后面,则通过单一 IP 地址连接的所有计算机将被计为一个。

  • 如果一台计算机由于使用多个网络接口卡而具有多个 IP 地址,则每个 IP 地址将被计为一个单独的设备 CAL。

  • 注意

    用户 CAL 不基于 IP 地址,因此不受这些与 IP 相关的限制所影响。