Sql-Server
物理伺服器還是虛擬機 SQL Server?
有沒有辦法通過 SQL 腳本來了解 SQL Server 是在物理伺服器還是虛擬伺服器上執行?
我找到了一個腳本:
SELECT SERVERPROPERTY('computernamephysicalnetbios') AS ServerName ,dosi.virtual_machine_type_desc ,Server_type = CASE WHEN dosi.virtual_machine_type = 1 THEN 'Virtual' ELSE 'Physical' END FROM sys.dm_os_sys_info dosi
如果您配置了 CMS,請從您的 CMS 對多個伺服器執行以下腳本:
SELECT dosi.virtual_machine_type_desc ,Server_type = CASE WHEN dosi.virtual_machine_type = 1 THEN 'Virtual' ELSE 'Physical' END FROM sys.dm_os_sys_info dosi
如果您使用的是 SQL Server 2008 R2 RTM 或更早版本,則有一個 CMD 命令“ SYSTEMINFO ”,其中包含有關係統模型的資訊。
或者
如果在實例上啟用了 cmdshell,那麼您可以從 SQL Server Management Studio 執行它。
DECLARE @result int EXEC @result = xp_cmdshell 'SYSTEMINFO'
系統製造商:VMware, Inc.
系統型號:VMware Virtual Platform
SQL Server 2008 R2 Service Pack 1 中引入了
virtual_machine_type, virtual_machine_type_desc
DMV中的新列 ( )sys.dm_os_sys_info
http://blogs.msdn.com/b/sqlosteam/archive/2011/05/11/more-on-dmv-changes-in-sql-2008-r2-sp1.aspx