


如何將SQL Server 2005遷移至64位平臺
相當長一段時間以來,在64位平臺上運行SQL Server一直是提高數據庫性能和擴展性的一種選擇,不過配置方面的選項有限,而且不是沒有問題。舉例說,SQL Server 2000只能在昂貴的安騰系列處理器上面運行;而且SQL Server的客戶端工具與64位平臺不兼容。另一方面,SQL Server 2005卻提供了新的選項可以充分利用64位架構的強大功能;而且完全沒有在過去導致人們不太需要64位的問題。
使用SQL Server的公司為什么應當改用64位架構?
要解答這個問題,最重要的答案就是,64位平臺與32位系統相比,大大提高了內存訪問能力。32位系統最多只能本地訪問4GB的內存。32位的SQL Server系統使用地址窗口擴展(AWE)及相關技術后,最多可以訪問64GB的內存,不過地址虛擬技術帶來了開銷:AWE需要創建虛擬“窗口”來訪問更高內存。訪問高端內存的每個請求都必須通過這個窗口進行,開銷要比請求訪問本地內存大得多。因而,在高使用率情況下,訪問更大內存的功能實際上妨礙了而不是有助于性能。此外,AWE內存只是被SQL Server用于緩沖器緩存,而不是用于過程緩存,而且不會有助于對利用許多即席查詢(ad-hoc query)的服務器進行優化。AWE內存也不會被用于幫助內存中的排序、散列連接(hash join)或者其他數據密集型操作。
如今的64位系統最多可本地訪問512GB的內存。這意味著,性能不會受到地址窗口的影響,額外內存可以供任何SQL Server緩存而不僅僅是緩沖器緩存使用。這種增加內存的功能在許多情況下直接提高了性能。由于更多的數據保存在緩存里面,勢必會減少磁盤的I/O操作。你還會注意到使用中間排序、散列連接或者指針的查詢在性能上得到提高。所有這些在內存里面進行求值要比換到磁盤上進行求值來得快。
為什么64位采用遲緩?
有人不由得會想:既然好處這么顯著,為什么到目前為止64位SQL Serve的采用似乎很遲緩?SQL Server 2000的64位選項很有限,因為SQL Server 2000惟一支持的64位配置就是安騰服務器運行在Windows Server 2003上面。也沒有哪個SQL Server 2000客戶端工具可在64位服務器上面運行,包括企業管理器、查詢分析器和SQL Profiler。連數據轉換服務(DTS)軟件包也無法在64位服務器上運行,這意味著DTS無法充分利用64位的更強功能。
SQL Server 2005 64位架構有什么優點?
SQL Server 2005為企業帶來了64位架構的優點,而與以往相比價位較低、功能較多。最重要的是,SQL Server 2005支持可以安裝在安騰和價格低得多的x64服務器兩種平臺上。所以,除了節省費用外,數據庫管理員現在就可以使用英特爾處理器或者AMD處理器。
SQL Server 2005客戶端工具與64位服務器完全兼容,所有SQL Server支持服務都可以在64位配置環境下與SQL Server 2005一起使用,這包括:分析服務、SQL Server集成服務、報表服務和通知服務。所有這些服務都能夠利用訪問更多內存的功能,有助于提高安裝的SQL Server的性能、滿足業務集成需求。
哪種安裝環境應當升級至64位?
升級主要有兩個市場:需要向上擴展的32位單服務器安裝環境;以及需要合并的32位多服務器安裝環境。每種場景都有明顯的優點。
表明單服務器安裝配置可能屬于向上擴展類別的最明顯跡象就是,深度查詢磁盤活動、較低的緩沖器緩存命中率以及較短的頁面生命周期。所有這些問題都可以使用性能計數器來評估,可通過能夠訪問更多內存的64位系統來加以解決。
另一方面,確定多服務器安裝環境是不是非常適合合并來得困難一點。應當進行認真測試,評估所有數據庫總共需要多少內存、處理器能不能處理所有數據庫的并發查詢、磁盤系統能不能處理同時讀寫帶來的更大壓力。做出這個決策比升級單一服務器困難得多,不過就整體的管理簡易性而言,會獲得巨大回報。
改用64位會在SQL Server的性能和擴展性方面帶來重大影響。SQL Server 2005提供的選項使得從32位進行升級合理得多。如果你投資新硬件用于新的數據庫管理系統(DBMS),就應當調查分析64位選項,尤其是基于價格較低的x64位處理器的那些選項。
我要不要使用新的XML數據類型把所有XML數據保存在SQL Server 2005里面?
XML酷似CLR用戶定義類型(UDT),它現在是SQL Server 2005中新的第一類數據類型。開發人員現在可能會忍不住使用這種數據類型,以免編寫代碼把XML數據“分割”到表里面(即不是使用OPENXML往表里面批量載入數據)。
遺憾的是,像這樣使用XML數據類型存在與使用用戶定義類型表示數據同樣的許多問題。開發人員應當把性能記在心頭,因為對XML列的一個節點進行查詢需要引擎對表中每一行的不同XML查詢進行求值。與使用CLR UDT一樣,還存在規范化問題。在過多使用XML數據類型的數據庫里面,要確保數據完整性極其困難。
關鍵字:SQL Server、數據庫
新文章:
- CentOS7下圖形配置網絡的方法
- CentOS 7如何添加刪除用戶
- 如何解決centos7雙系統后丟失windows啟動項
- CentOS單網卡如何批量添加不同IP段
- CentOS下iconv命令的介紹
- Centos7 SSH密鑰登陸及密碼密鑰雙重驗證詳解
- CentOS 7.1添加刪除用戶的方法
- CentOS查找/掃描局域網打印機IP講解
- CentOS7使用hostapd實現無AP模式的詳解
- su命令不能切換root的解決方法
- 解決VMware下CentOS7網絡重啟出錯
- 解決Centos7雙系統后丟失windows啟動項
- CentOS下如何避免文件覆蓋
- CentOS7和CentOS6系統有什么不同呢
- Centos 6.6默認iptable規則詳解