如果只有一个 Windows 服务为多个用户执行所有 SQL 查询,那么一个 CAL 是否足够?

如果只有一个 Windows 服务为多个用户执行所有 SQL 查询,那么一个 CAL 是否足够?

可能重复:
您能帮助我解决软件许可问题吗?

我在服务器上安装了 Microsoft SQL Server 2008。许可证是 5 CAL

我有一个三层解决方案,即数据库<-> Windows 服务<-> 用户

多个用户(超过 5 个)连接到单个 Windows 服务。然后,Windows 服务连接到 SQL 服务器,获取数据,然后将其传递给用户。

虽然有超过 5 个用户,但实际上只有一个应用程序连接到 SQL 服务器。

这算是 1 CAL 连接吗?

谢谢

答案1

很难说清楚。最好与当地的 Microsoft 代表联系。

但根据以往的经验,如果 Windows 服务仅代理/多路复用连接(听起来是这样),那么您将需要为每个用户提供一个 CAL(或一个 CPU 许可证等)

但是,如果应用程序连接到数据库,执行查询,然后断开连接并将结果保存在内存中,并根据内存缓存中的结果为用户提供服务,那么您只需要一个 CAL。

答案2

许可文件 明确地提到多路复用不会减少最终用户的 CAL 要求。

使用硬件和/或软件来减少直接访问或使用软件的设备或用户的数量(多路复用/池化)并不会减少所需的 CAL 数量。

n用户 = nCAL。如果您不知道,n则必须选择“每个处理器”

答案3

上次我阅读 SQL Server 的许可证时,它明确指出,任何使用来自 SQL Server 的数据的用户都需要拥有 CAL,无论他们是直接还是间接连接到 SQL Server。(我在这里解释一下。)换​​句话说,您需要为每个用户或 CPU 许可证持有者获得一个 CAL。

相关内容