繁体   English   中英

强制@@ Servername在SQL Server中返回其他内容

[英]Force @@Servername to return something else in SQL Server

免责声明:当我尝试这样做以欺骗许可证执行方案时,该公司倒闭了,我只设置了一个测试服务器。 我不认为这是在偷窃(因为我自己是销售软件的开发人员,所以我不会这样做),因为如果愿意的话,我无法再购买其他许可证。 但是,如果社群不同意,请投票关闭该问题。 只是想对此有所了解。

我们使用服务器应用程序,作为其许可证执行的一部分,确认“ SELECT @@ SERVERNAME”与服务器上安装的许可证匹配。 我正在设置此应用程序的测试实例,但是由于我拥有的许可证已锁定到特定的服务器名,因此我陷入了困境。

有没有办法让我@@ SERVERNAME弄回其他东西? 是否将服务器的内部名称更改为与DNS名称不同的名称? 我知道如果重命名服务器会出现SQL Server问题,也许我可以利用它来完成我所需要的工作(将服务器重命名为许可名称,安装SQL,然后重命名服务器,这样就不会与我们的生产冲突服务器)。

如果还有另一种非骇客的方式来完成此任务(设置隔离的域,使用没有网络连接的虚拟服务器等),我也将考虑这些选择。 社区认为完成此工作的最简单方法是什么?

我可能会设置一个单独的计算机或一个虚拟机,该虚拟机以许可证管理器的期望命名。 设置有些繁琐,但是比寻找hacky解决方案更快地完成了工作。 当然,在安装运行时,我仍然会以防万一。

实际上,似乎可以设置服务器名称属性。

SQL 2000: http://msdn.microsoft.com/en-us/library/aa933172(SQL.80).aspx
SQL 2005: http://msdn.microsoft.com/en-us/library/ms174411(SQL.90).aspx
SQL 2008: http://msdn.microsoft.com/en-us/library/ms187944.aspx

您可以尝试使用测试服务器上存储的sp_addserver proc来告诉SQL Server服务器名称是许可证正在寻找的名称。

MS文档中

SQL Server安装程序在安装过程中将服务器名称设置为计算机名称。 若要更改服务器的名称,请使用sp_addserver,然后重新启动SQL Server。

删除“本地”链接服务器,然后将其添加回您想要的名称。 sp_addserver 'foobar', 'local'将使@@ server返回'foobar'。 参见kb 303774

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM