我想編寫一個查詢到在我的多個SQL版本是SQL 2008 R2,SQL 2012,SQL 2014年,2016年SQL爲SQL 2008 R2使用sys.dm_os_sys_info及以上
由於收集內存統計在sys.dm_os_sys_info列名稱的變化,我試圖繞過這一點,但無論是查詢失敗:
消息207,級別16,狀態1,行7 無效的列名稱physical_memory_kb「。
有什麼建議嗎?
IF (LEFT(cast(serverproperty('productVersion') as varchar(100)),2) = '10')
BEGIN
select physical_memory_in_bytes/1048576 FROM sys.dm_os_sys_info
END
ELSE
BEGIN
select physical_memory_kb/1024 FROM sys.dm_os_sys_info
END
select
CASE LEFT(cast(serverproperty('productVersion') as varchar(100)),2)
WHEN 10 Then physical_memory_in_bytes/1048576
ELSE physical_memory_kb/1024
END
FROM sys.dm_os_sys_info