我正在为一个项目寻找建立一个 Web 服务器的方法。
服务器将使用在 VB.Net 中开发的自定义应用程序,使用 SQL Server 进行数据存储。该应用程序使用仅适用于 Windows 的第三方组件 (DLL)。
在以前类似的部署中,我曾使用过带有 SQL Server Standard 的 Windows Server Standard Edition。
由于我不想谈论的原因,服务器不会在内部,而是位于第三方托管服务提供商处。
由于该服务器不属于任何 AD 的一部分,也没有交互式用户,因此我想知道是否需要 MS Windows Server 许可证,因为它的成本相当高。
我可以在 Windows 10 上安装 SQL Server Standard 以及 IIS 和 TeamView(用于监控)并将其用作 Web 服务器吗?或者这是否违反任何许可证?
正如我所说,这不是关于 Linux、Mac 和其他操作系统优劣的问题。我也没有兴趣为非 Windows 解决方案重写该应用程序。
我可以得到有关 Win10 / SQL 许可的答案吗?
答案1
在 Windows 10 Pro 上,连接的设备数量限制为 20 个。Windows 10 许可证状态:
设备连接。您最多可以允许 20 台其他设备访问许可设备上安装的软件,以使用以下软件功能:文件服务、打印服务、Internet 信息服务以及许可设备上的 Internet 连接共享和电话服务。
这种限制会严重限制您网站上的并发用户数,尽管限制语言实际上是限制人或设备,而与并发性无关。
我也建议你仔细考虑是否要在与您的网站相同的机器上托管 SQL Server。
答案2
由于设备数量限制为 20 台,您无法合法使用 Windows 10 通过 IIS/SQL 服务器为公共网站提供服务。另请注意,该限制不是针对并发连接,而是针对指定设备(类似于服务器操作系统的每台设备 CAL)。
您还提到虚拟机将在远程数据中心运行。您不能在虚拟环境中运行 Windows 10 的零售版,您需要购买 Windows 10 VDI 许可证,而这要昂贵得多。
考虑到这些限制,您最好的选择是将 Windows Server Standard 和为 Web Workloads 配置的 SQL Server Standard 组合起来(我之前错误地将其标记为 Windows Web Server)。Web Workloads 允许您运行 Web 服务器软件 (IIS)、数据库服务器 (MS SQL) 以支持 Web 服务器前端,以及 DNS 服务以协助两者,但仅此而已。这种用法不需要任何 CAL,因此您只需要许可基本操作系统和 SQL 服务器,这是一个合理的成本(特别是因为您似乎已经拥有 SQL Standard 许可证)。
免责声明:尽管我每月都要处理 Microsoft 许可问题,因此对它非常熟悉,但我的建议不应视为最终建议,我明确表示不对任何许可错误以及由此造成的任何损失承担任何责任。请咨询您的 Microsoft 许可合作伙伴。MS 许可非常令人困惑。
答案3
计算机的所有者可以根据自己的需要使用它。
如果一款软件产品只能在 Windows Server 上使用,那么它就不会允许自己安装在 Windows 的客户端版本上。几乎所有 Microsoft 产品都是如此。
简而言之,任何你拥有的软件合法安装可以根据“公平使用”原则随意使用。您可以在 Windows 10 计算机上支持尽可能多的 SQL Server 用户,只要硬件和软件能够成功支持即可。
微软已经通过限制 Windows 客户端版本允许的并发连接数来处理 SQL Server 许可证,因此即使您尝试过,您也不能超过指定的最大值,除非您的 Windows 设置遭到非法破解。
编辑:很多人误以为我在提倡软件盗版。请注意,我说的是“合法安装”,意思是为该计算机购买并在许可计算机上使用,而无需进行黑客攻击。
编辑2:虽然许多人都赞同我的回答,但反对的人更多。我不是律师,但我一直遵守美国法院的“合理使用”法令,所以我想在这里列出一些我对批评的回答。
产品的 EULA 可能包含对产品使用的新限制
错误。EULA 不能添加在销售前未传达的新销售条件。一旦 EULA 在销售后显示,产品就不再是制造商的财产,因此制造商无权重写合同。
EULA 中的“继续即表示同意”等条款无效。相反,诸如“撕毁此封条将使保证失效”等条款却有效,因为这些是未来服务的条件。
我在一台 24 核的计算机上安装了一款 4 核产品,并且它占用了所有核。我是否违规了?
不可以。产品供应商不能强迫您购买新电脑!他最多只能限制其产品使用 4 个核心,这是他的权利。用户不能对产品中的此类缺陷负责。
我在 20 台计算机的办公室网络中安装了 10 个连接的产品
这跟之前的情况一模一样,安装的产品可以限制自己的功能,但不能让你解雇10名员工。
微软能够通过强制限制 Windows 客户端计算机的连接数,在客户端 Windows 上强制执行 20 个连接的限制。其他开发人员必须在自己的产品中强制执行自己的限制,但肯定不能强迫客户对其现有硬件进行任何他们自己没有制造的更改。