2009-07-17 60 views
0

免責聲明:雖然我試圖欺騙許可證強制執行計劃,但公司已停業,我只設置了一個測試服務器。我不認爲這種竊取行爲(作爲一個自己銷售軟件的開發者,我不會這樣做),因爲如果我想要的話,我不能支付另一個許可證。但是,如果社羣不同意,請投票結束此問題。只是想在此前瞻。強制@@ Servername在SQL Server中返回其他內容

我們使用服務器應用程序,作爲其許可證實施的一部分,確認「SELECT @@ SERVERNAME」與安裝在服務器上的許可證相匹配。我正在設置此應用程序的測試實例,但由於我擁有的許可證已鎖定到特定的服務器名稱,因此我被卡住了。

有沒有一種方法可以欺騙@@ SERVERNAME返回其他內容?將服務器的內部名稱更改爲與DNS名稱不同的內容?如果您重命名服務器,我知道存在SQL Server問題,也許我可以利用它來完成我所需的操作(將服務器重命名爲許可名稱,安裝SQL,然後重命名服務器以便它不會與我們的產品衝突服務器)。

如果還有另一種非破解的方式來完成這個任務(建立一個隔離的域,使用一個沒有網絡連接的虛擬服務器等),我也會接受這些選項。社區認爲最簡單的方法是什麼?

+1

我想我可以在Delphi源代碼付款前支付12.5萬美元,但機會錯過了。我們對軟件擁有「永久許可」,但如果它們停業,這對我來說並不是很好,是嗎? – SqlRyan 2009-07-17 23:36:54

回答

2

實際上看起來可以設置服務器名稱屬性。

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 
2

我可能會建立一個單獨的機器或虛擬機,以許可證管理器的預期命名。有點繁瑣的設置,但它可能比尋找hacky解決方案更快完成工作。當然,在安裝過程中,我仍然在尋找以防萬一...

+0

這可能是我必須去的 - 但後來我不能遠程桌面到它,因爲它將與生產服務器位於同一LAN上,並且會使DNS崩潰... – SqlRyan 2009-07-17 23:33:21

+1

另一個好處這裏是通過與虛擬機一起使用,如果未來操作系統的/ etc可能引入系統級不兼容的情況下,您可能會延長軟件的時間。例如,我爲我的(非常)小型企業使用QuickBooks 2006。它在我的Vista工作站上無法使用,所以它現在在我的Hyper-V'ed XP安裝中幸福地生活着。 – 2009-07-17 23:49:26

1

您可能會嘗試在測試服務器上使用sp_addserver存儲過程來告訴SQL Server服務器名稱是許可證尋找。

MS docs

SQL Server安裝程序將 安裝在服務器 名計算機名稱。要更改服務器的名稱 ,請使用sp_addserver,然後 重新啓動SQL Server。

1

刪除「本地」鏈接的服務器,然後將其添加回您想要的名稱。 sp_addserver 'foobar', 'local'將使@@服務器返回'foobar'。請參閱kb 303774

相關問題