簡體   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