前些日子, 敞公司的同仁曾經來尋問了一個... SQL Server蠻基本的問題, 就是有關SQL Server版本編號. 這也讓Colin回想起, 在處理不少user site的SQL Server資料庫問題時, 相當多的管理者也不太懂SQL Server版本編號這檔事. 這讓Colin很好奇~~ 也許, 這是微軟的功德一件, 大多數的管理者肯定都知道Service Pack這東西. 只是... 版本編號在很多troubleshooting的案例中, 扮演著相當重要的角色吶!
而在許多站台中, 也分享了有關SQL Server版本的資訊, 來看一下Colin最常使用的一個連結吧.
Microsoft SQL Server 2012, 2008R2, 2008, 2005, 2000 and 7.0 Builds
http://sqlserverbuilds.blogspot.tw/
在此連結中, 不止提及了主要大更新 (service pack), 也提供了增強/修復補丁 (hotfix) 的版本編號資訊. 原則上Colin會熟記下表中的版本編號
RTM (Gold, no SP) | SP1 | SP2 | SP3 | SP4 | |
---|---|---|---|---|---|
SQL Server 2012 codename Denali |
11.00.2100.60 | 11.00.3000 | |||
SQL Server 2008 R2 codename Kilimanjaro |
10.50.1600.1 | 10.50.2500 | 10.50.4000 | ||
SQL Server 2008 codename Katmai |
10.00.1600.22 | 10.00.2531 | 10.00.4000 | 10.00.5500 | |
SQL Server 2005 codename Yukon |
9.00.1399.06 | 9.00.2047 | 9.00.3042 | 9.00.4035 | 9.00.5000 |
SQL Server 2000 codename Shiloh |
8.00.194 | 8.00.384 | 8.00.532 | 8.00.760 | 8.00.2039 |
SQL Server 7.0 codename Sphinx |
7.00.623 | 7.00.699 | 7.00.842 | 7.00.961 | 7.00.1063 |
若是使用者告知版本編號剛好就符合上表中的編號, 那麼就可以對應到該版本. 若不是呢? Colin就舉一個例子好了, 若是使用者回報的版本編號為10.50.2086, 那麼就表示此SQL Server伺服器版本為SQL Server 2008 R2 (10.50) 並且更新至少SP1 (2500+) 的版本, 但不超過SP2 (4000-) 的版本. 所以就可以再向下找看看是否有在其他列表中.
10.50.2806 | 2009.100.2806.0 | Q265969 | KB265969 | 2659694 Cumulative update package 5 (CU5) for SQL Server 2008 R2 Service Pack 1 | February 22, 2012 | Downloadable |
若沒有呢? 例如10.50.2808這個版本, 以相同的方式去尋找, 就可以看到此伺服器已經更新到SP1並加上了2675522 FIX. 可是還差一點點, 就表示可能透過Microsoft支援單位取得非公開的hotfix進行更新過.
10.50.2811 | 2009.100.2811.0 | Q267936 | KB267936 | 2679367 Cumulative update package 6 (CU6) for SQL Server 2008 R2 Service Pack 1 | April 16, 2012 | Downloadable | |
10.50.2807 | 2009.100.2807.0 | Q267552 | KB267552 | 2675522 FIX: Access violation when you run DML statements against a table that has partitioned indexes in SQL Server 2008 R2 | March 12, 2012 | Downloadable |
好啦, 說了這麼多, 趕快檢查一下您的資料庫伺服器版本吧~~
/***** 檢查SQL Server版本編號 *****/
SELECT SERVERPROPERTY('PRODUCTVERSION')
註: Colin本身還是習慣使用古早的語法, 話說微軟一直說 "未來不支援", 但還沒有真的拿掉~~ 這個語法還可以調出系統的版本, 有時在包工具時挺好用的.
/***** 檢查SQL Server版本編號 *****/
--未來版本可能不支援
SELECT @@VERSION
留言列表