可能重复:
您能帮助我解决软件许可问题吗?
据我所知,运行 SQL Server 时,每个连接到数据库服务器的用户都需要一个 CAL。
但是,如果唯一访问 SQL Server 的计算机是运行业务层的服务器,会发生什么情况?
例如,如果您有 1 个 SQL Server 和 1 个业务逻辑服务器,并且有 100 个客户端都只是查询和使用业务逻辑服务器。没有客户端直接使用 SQL Server,甚至不允许任何人联系它。
那么,由于只有一台计算机使用 SQL Server,我是否只需要 1 个 CAL???
我不知何故无法相信这会算作 SQL Server 所需的仅有 1 个 CAL,但我想知道为什么不行。
答案1
您需要为业务逻辑服务器的每个用户提供 CAL,即使他们与 SQL 服务器之间没有直接连接。Microsoft 使用术语“多路复用”来描述您描述的场景。
这是针对 SQL 2005 的但我不认为其他版本有什么不同:
对于多路复用或池化软件或硬件前端,每个不同的设备或用户都需要 CAL。无论运行 SQL Server 的服务器与最终使用其数据、服务或功能的客户端设备之间存在多少层硬件或软件,这一点都是正确的。例外情况包括员工之间的手动数据传输。例如,如果一名员工将 Microsoft Excel 版本的报告发送给另一名员工,则接收员工不需要 CAL。另一个例外是仅在运行 SQL Server 的服务器之间进行通信。
使用您的应用程序的任何人都必须受到 CAL 的保护,包括仅使用它来生成 Excel 报告的人员,但仅通过电子邮件收到其中一份 Excel 报告副本的人员则不受 CAL 保护。
编辑添加这只是 SQL Server 许可的众多方面之一,并且只有在您选择 Server+CAL 许可模式时才有意义。如果您想全面了解所有替代方案,那么权威文档是微软的 63 页 SQL Server 2008 许可指南涵盖所有许可模式和方法。
答案2
Helvick 已经说得很清楚了,但我只想补充一点,对于您的情况,最好采用处理器许可模式,因此您需要为数据库服务器上的每个处理器付费,而不是为访问服务器的每个客户端付费。根据您的服务器有多少个核心以及您预计流量会增加多少,按处理器路由可能会更便宜。
编辑:根据 Microsoft 的说法,处理器许可是按处理器而不是按内核收费的。因此,如果您有 8 核处理器,您仍然只需要一个许可证,只要它是单个芯片/插槽即可。(在 SQL 2008 的白皮书中,他们实际上将其作为卖点,称 Oracle 和其他公司通常按内核收费。)
答案3
最重要的是,请注意,面向互联网的系统有不同的许可 - 因此您不必限制用户。您可以获取互联网许可证(适用于外部用户),或者在这些情况下通过 SPLA(服务提供商许可协议)进行实际许可。
在您的特定情况下,您将需要(如果要求准确)恰好 100 个许可证。
但是,如果您可以在 SQL Server Express 上运行它,则 100 个用户可能不需要任何 CAL。对于大多数情况来说,限制都很好……对于许多情况来说,每个数据库 4gb 是相当多的。