2010-04-21 66 views
5

我在寫一個工具來收集客戶配置信息。我想回答的其中一個問題是,運行的客戶數據庫的操作系統是什麼。用SQL查詢確定數據庫的操作系統?

我還沒有找到一種通用的方法來查找SQL的操作系統,我不能在客戶的數據庫上創建存儲過程。

如果有辦法,它可能是供應商特定的。

對此提出建議?提前致謝。

回答

5

是的,它將是供應商特定的。對於Oracle,您可以通過此查詢獲得它:

SQL> select banner from v$version; 

BANNER 
---------------------------------------------------------------- 
Oracle9i Enterprise Edition Release 9.2.0.8.0 - 64bit Production 
PL/SQL Release 9.2.0.8.0 - Production 
CORE 9.2.0.8.0  Production 
TNS for Solaris: Version 9.2.0.8.0 - Production 
NLSRTL Version 9.2.0.8.0 - Production 

輸出的第4行顯示,我的9i數據庫在Solaris上運行(當然,這表明它正在運行「TNS用於Solaris」,這意味着無論如何OS是Solaris)。

+1

感謝。我找到了SQL Server的答案。 select @@ version 您將得到如下所示的結果: Microsoft SQL Server 2005 - 9.00.3042.00(Intel X86)Feb 9 2007 22:47:07 Copyright(c)1988-2005 Microsoft Corporation Express Edition on Windows NT 5.1(內部版本2600:Service Pack 3) 將Windows版本號與此列表進行比較。 http://www.nirmaltv.com/2009/08/17/windows-os-version-numbers/ – KaizenSoze 2010-04-21 12:21:40

+0

感謝Oracle的答覆。任何人都有對Sybase的想法? – KaizenSoze 2010-04-22 11:00:54

3

對於Oracle,你可以使用

SELECT DBMS_UTILITY.PORT_STRING FROM dual; 

(從Ask Tom

2

怎麼樣:從V $數據庫 選擇PLATFORM_NAME;

1

的Sybase ASE &的Sybase IQ是一樣的SQLSERVER:SELECT @@版本 如

Sybase IQ/12.7.0/090824/P/ESD 7/Sun_Sparc/OS 5.9/64bit/2009-08-24 16:17:12 

Adaptive Server Enterprise/12.5.3/EBF 12455 ESD#2/P/Sun_svr4/OS 5.8/ase1253/1904/64-bit/FBO/Wed Mar 23 03:04:04 2005