![如果只有一个 Windows 服务为多个用户执行所有 SQL 查询,那么一个 CAL 是否足够?](https://linux22.com/image/566580/%E5%A6%82%E6%9E%9C%E5%8F%AA%E6%9C%89%E4%B8%80%E4%B8%AA%20Windows%20%E6%9C%8D%E5%8A%A1%E4%B8%BA%E5%A4%9A%E4%B8%AA%E7%94%A8%E6%88%B7%E6%89%A7%E8%A1%8C%E6%89%80%E6%9C%89%20SQL%20%E6%9F%A5%E8%AF%A2%EF%BC%8C%E9%82%A3%E4%B9%88%E4%B8%80%E4%B8%AA%20CAL%20%E6%98%AF%E5%90%A6%E8%B6%B3%E5%A4%9F%EF%BC%9F.png)
可能重复:
您能帮助我解决软件许可问题吗?
我在服务器上安装了 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
用户 = n
CAL。如果您不知道,n
则必须选择“每个处理器”
答案3
上次我阅读 SQL Server 的许可证时,它明确指出,任何使用来自 SQL Server 的数据的用户都需要拥有 CAL,无论他们是直接还是间接连接到 SQL Server。(我在这里解释一下。)换句话说,您需要为每个用户或 CPU 许可证持有者获得一个 CAL。