可能重複:
How can I determine installed SQL Server instances and their versions?如何檢查是否SQL Server 2008的版本或更高版本在C#Windows窗體
我一直在尋找,並不能找到一種方法,通過註冊表來驗證如果安裝了sql server並且至少是2008版的。 因爲它似乎對於每個版本他們改變路徑中的某些東西,或者我只是沒有看到它。
謝謝你在前進, 米格爾·索薩
可能重複:
How can I determine installed SQL Server instances and their versions?如何檢查是否SQL Server 2008的版本或更高版本在C#Windows窗體
我一直在尋找,並不能找到一種方法,通過註冊表來驗證如果安裝了sql server並且至少是2008版的。 因爲它似乎對於每個版本他們改變路徑中的某些東西,或者我只是沒有看到它。
謝謝你在前進, 米格爾·索薩
您可以在下面的鍵掃描實例名稱:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\Instance Names\SQL\
從那裏,你可以採取每個名稱和數據列(如命名實例'SQL2008' 可能會說 'MSSQL10.SQL2008'),並通過實例標識符( 'MSSQL.SQL2008')追加到該REG路徑找到的版本:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\
MSSQL10.SQL2008\MSSQLServer\CurrentVersion\
在該密鑰中,將會有一個名爲「CurrentVersion」的條目,數據值將具有版本號。
這將返回一個字符串,如11.0.2316.0
。在這種情況下,你只關心小數點後的字符。如果這反映10.0或更高,那是SQL Server 2008或更高版本(10.0 = 2008,10.5 = 2008 R2,11.0 = 2012)。如果這反映了9.0或更少,這是2008年之前(9.0 = 2005年,8.0 = 2000年等)。
這假設有一個活動的數據庫連接;這是確定**是否安裝了SQL Server的幾個步驟。 – CodeCaster
@AaronBertrand對不起,我應該更具體,我沒有訪問服務器,因爲我不知道它的安裝,所以我不能執行T-SQL。 –
啊,我錯過了那部分。好的,是的,你不能使用T-SQL,因爲即使你確定已經安裝了一個實例,你也可能根本無法連接它。我想你會得到足夠的答案,但你需要去http://stackoverflow.com/questions/141154/how-can-i-determine-installed-sql-server-instances-and-their-versions和http://stackoverflow.com/questions/949852/determine-version-of-sql-server-from-ado-net並結合一些答案。 –
即時通訊抱歉,但它不是一回事。 1º我想知道如果SQL Server的版本是10.0(thnx @AaronBertrand)或更新。 2º我沒有登錄訪問實例。所以我不能執行t-sql也不ado.net –