如何查看 SQL Server 许可证

如何查看 SQL Server 许可证

我了解 SQL 许可证有三种:http://www.microsoft.com/sqlserver/2005/en/us/pricing-licensing-faq.aspx

SSMS 中是否有对话框、存储过程、注册表项等,我可以在服务器上查看它们来确定许可证的类型和数量?

谢谢

答案1

https://msdn.microsoft.com/en-us/library/ms174396.aspx

LicenseType 为 Unused。SQL Server 产品不保存或维护许可证信息。始终返回 DISABLED。

这对于 2005+ 来说是正确的,所以与前面的答案相反,这并不意味着您正在使用未经授权的版本。

答案2

成立此条目,建议在查询分析器中运行此命令:

select serverproperty('LicenseType'),serverproperty('NumLicenses')

“如果上述查询返回 DISABLED,则在 SQL 服务器文件夹 (C:\Program Files\Microsoft SQL Server\80\Tools\Binn) 中找到此“sqlslic.cpl”文件,右键单击 -> 使用控制面板打开。这将显示所使用的许可类型”

还:

“DISABLED 通常意味着您正在使用 SQL Server 的 MSDN 副本(因此,不是生产许可证 - MSDN 许可证用于开发和测试)。”

答案3

我知道这篇文章比较旧,但是还没有看到提供实际信息的解决方案,所以我想分享我在 SQL Server 2012 及更高版本中使用的内容。下面的链接指向显示信息的屏幕截图。

第一的 (让我们分解一下):

SQL 服务器 2000:

选择 SERVERPROPERTY ('许可证类型')、SERVERPROPERTY ('许可证数量')

SQL Server 2005+:

“选择 SERVERPROPERTY ('许可证类型')、SERVERPROPERTY ('许可证数量')”不再使用。您可以在 MSFT 文档中查看更多详细信息:https://docs.microsoft.com/en-us/sql/t-sql/functions/serverproperty-transact-sql?view=sql-server-2017

SQL Server 2005 - 2008R2 你必须:

使用 PowerShell:https://www.ryadel.com/en/sql-server-retrieve-product-key-from-an-existing-installation/

使用 TSQL(您需要知道注册表项路径):https://docs.microsoft.com/en-us/sql/relational-databases/system-dynamic-management-views/sys-dm-server-registry-transact-sql?view=sql-server-2017

SQL Server 2012+

现在,您可以从 SQL Server 错误日志中提取 SQL Server 许可信息,尽管它可能没有按照您想要的方式格式化,但该信息存在并且可以进行解析,同时还包含您可能没有想到的更多描述性信息。

EXEC sys.sp_readerrorlog @p1=0, @p2=1, @p3=N'licens'

示例输出:

sys.sp_readerrorlog 的示例输出

答案4

我知道这个问题已经过时了,而且有些答案也相当老了,但今天这个问题出现在我的谷歌搜索顶部,所以我想确保这里有正确的信息供下一个人参考。我也想把这个作为评论发布,但缺乏必要的 50 点声誉。

我发现,在 SQL 2000 之后,没有办法从服务器中获取您的许可证信息。我已经仔细查找过了。

您可以通过运行以下命令找到‘应该获得许可的内容’*:

选择@@版本

Josean 的回答中显示了预期的输出。但请注意,这是版本信息,而不是许可证信息。它告诉您应该拥有哪些许可证,甚至告诉您它并不完美。例如:

  1. 如果它返回企业版并显示正在使用 x 个核心 - 那么您应该购买了 x 个企业版许可。这些与安装无关,如果您从未购买过许可证,安装仍然有效 - 您只是拥有一个未经许可的版本。
  2. 有两种方式可以对 SQL 进行授权 - 按核心授权或使用服务器加 cal 许可证 - 我发现没有办法区分特定服务器是通过哪种方式授权的。据说在属性下有一个“每个席位”的选项,但我从未见过。
  3. 还有软件保证,如果您升级版本或具有高可用性或灾难恢复,它可以改变许可要求。
  4. 然后是虚拟化,现在几乎所有服务器都已经虚拟化了。使用 SQL,您可以为主机服务器授予企业许可,然后客户级发生的任何事情都只是障眼法。

重点是 - 许可证由您的许可供应商维护。将您的许可证与您实际安装的 SQL 相匹配是您的责任,而不是软件以任何方式强制执行的。从技术上讲,完全有可能在不购买许可证的情况下运行大量 SQL 实例。这也是违法的,而且是一种让您支付巨额账单的好方法。

相关内容