久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

SQL Server安裝完成后有哪些需要立即修改的配置選項

158次閱讀
沒有評論

共計 2381 個字符,預計需要花費 6 分鐘才能閱讀完成。

這篇文章給大家介紹 SQL Server 安裝完成后有哪些需要立即修改的配置選項,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

你用安裝向導安裝了全新的 SQL Server,最后你點擊了完成按鈕。哇噢~~~ 現在我們可以把我們的服務器進入生產了!抱歉,那并不是真的,因為你的全新 SQL Server 默認配置是錯誤的。

是的,你沒看錯:SQL Server 的默認安裝在很多方面的配置是錯誤的。在今天的文章里,我想給你展示下,為了更快的性能,在 SQL Server 安裝完成后 3 個你需要立即修改的配置選項。我們開始吧!

最大服務器內存(Max Server Memory)免責聲明:如果這些天你在 32 位系統上運行你的 SQL Server,請扔掉你的硬件,買個 64 位的系統,安裝 64 位的 SQL Server,然后從這里繼續讀。

現在在你面前你應該 i 有個 64 位的 SQL Server。64 位意味著你可以理論上訪問 2^64 的內存大小——那是 16 艾字節(10 億 GB)!因為這些巨量的內存,計算機供應商當前限制 64 位系統的地址總線“只有”48 位——完全 64 位沒有真正意義。用 48 位的地址空間,你可以訪問 256TB 的內存——那還是大量的空間。

你可以使用最大服務器內存配置選項來配置 SQL Server 可以消耗的內存大小。下圖顯示的是在 64 位系統上 SQL Server 默認安裝后的配置選項。

從剛才的圖片你可以看到,SQL Server 默認配置是可以消耗上至 2147483647MB 的內存——那是 2 千兆!嗯,用 48 位的地址總線我們只能物理訪問 256TB 的內存,現在 SQL Server 可以消耗上至 2 千兆的內存?這里有什么東西不對……最大服務器內存設置比 32 位最大整形值還大——2147483647。沒別的。因此 SQL Server 可以消耗比物理地址更多的內存?這是一個很不好的默認配置。SQL Server 默認可以吃光你整個物理內存!

你總應該改變這個配置選項,這樣的話你可以給系統一些內存,讓它可以活著喘氣。一般來說(在服務器上沒有其它程序 / 進程)你應該系統至少 10% 的物理內存。這就是說你需要調低最大服務器內存設置。有 64GB 的物理內存我會配置最大服務器內存為 56GB,這樣的話系統可以用剩下的 8G 來消耗和工作。

并行開銷閥值(Cost Threshold for Parallelism)下一個你需要修改的配置選項是 SQL Server 處理并行開銷的閥值。并行意味著 SQL Server 能透過多個工作線程運行執行計劃里的運算符。并行的目的是提高你查詢的吞吐量。SQL Server 里第 1 個影響并行的配置選項是所謂的并行開銷閥值:

這里你配置的數字定義查詢成本,查詢優化器用它來找更便宜的并行執行計劃。如果找到的并行計劃更便宜,這個計劃會被執行,不然串行計劃會被執行。從剛才的圖你可以看到,SQL Server 默認配置使用 5 的成本閥值。當你的串行計劃查詢成本大于 5,然后查詢優化器再次運行查詢優化來找更便宜并行執行計劃的可能。

遺憾的是,5 的成本值當下來說是個很小的數字。因此 SQL Server 太快嘗試并行你的執行計劃。當你處理更大的查詢并行才有意義——例如報表或數據倉庫情形。在純 OLTP 情形下,并行計劃象征著糟糕的索引設計,因為當你有缺失索引時,SQL Server 需要掃描你的整個聚集索引(在與過濾(Filter)和剩余謂語(residual predicate)組合里),因此你的查詢成本越來越大,它們穿過成本閥值,最后查詢優化器給你并行計劃。當人們看到并行計劃時,總會擔心!但問題根源是缺失非聚集索引。

對于并行的成本閥值,我總推薦至少 20,甚至 50。那樣的話,你確保 SQL Server 只為你對更大的查詢進行并行。即使在你面前有個并行計劃,你也應該考慮下可否通過增加一個支持的非聚集索引來是這個查詢成本更低。另外,CXPACKET 并不象征著在你的系統里你有并行問題!

最大并行度(Max Degree of Parallelism (MAXDOP))當在 SQL Server 里一個執行計劃進入并行,最大并行度定義了執行計劃里每個并行運算符可用工作線程。下圖顯示了這個選項的默認配置。

如你所見,SQL Server 使用默認值 0。這個值意味著 SQL Server 嘗試并行化你的執行計劃穿過分配給 SQL Server 的所有 CPU 內核(默認情況所有內核都分配給 SQL Server!)。你應該能看出這樣的設置沒有意義,尤其當你有大量 CPU 內核的系統。并行化本身帶來負擔,一旦你使用越多的工作線程,這個負擔越大。

一個建議是設置最大并行度為在一個 NUMA 結點里擁有的內核數。因此在查詢執行時,SQL Server 會嘗試在一個 NUMA 結點里保持并行計劃,這也會提高性能。

有時你也會看到建議去設置最大并行度為 1。這個是不好的建議,因為這個使你的“整個”SQL Server 單線程!即使維護操作(例如索引重建)已單線程執行,這會嚴重傷及性能!當然也有一些“獲獎”產品指示你使用 1 的最大并行度(MAXOP)……

將承載 SharePoint 數據庫的 SQL Server 實例的最大并行度 (MAXDOP) 設置為 1 以確保單個 SQL Server 過程能夠為每個請求提供服務。

在你安裝完 SQL Server 后,DBA 的真正工作才開始:你需要配置你的 SQL Server 安裝到你的硬件配置。在這篇文章里你已看到,SQL Server 的默認配置是明顯錯誤的。因此在安裝后立即修改一些配置選項非常重要。我已經見過生產環境里 SQL Server 使用我這里提到的默認選項,因為它們“稍后“會被配置,“稍后”就從未發生了……

關于 SQL Server 安裝完成后有哪些需要立即修改的配置選項就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-07-27發表,共計2381字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 永顺县| 荔波县| 灵武市| 大兴区| 安福县| 寿宁县| 铅山县| 平湖市| 磐安县| 敦煌市| 沙坪坝区| 武宁县| 平罗县| 德惠市| 钦州市| 宁蒗| 泗阳县| 安岳县| 互助| 兴宁市| 天柱县| 永年县| 桐柏县| 沐川县| 宜君县| 怀仁县| 夏邑县| 三亚市| 新邵县| 田林县| 当阳市| 廉江市| 乐安县| 和顺县| 喀喇| 闽侯县| 昌宁县| 容城县| 五家渠市| 丰县| 南靖县|