您好,登錄后才能下訂單哦!
做好日常巡檢是數據庫管理和維護的重要步驟,而且需要對每次巡檢日期、結果進行登記,同時可能需要出一份巡檢報告。
本系列旨在解決一些常見的困擾:
不知道巡檢哪些東西
不知道怎么樣便捷體檢
機器太多體檢麻煩
生成報告困難,無法直觀呈現結果
實例的參數對系統性能和穩定的影響很重要,系統級別的參數可能會根據業務的變化而變化,但防止系統參數設置不合理或被意外修改,系統參數檢查也是巡檢中的必要項。
1.在【檢查項】-【全部】頁面檢查是否有設置不合理的參數,當參數設置未通過檢查,會有警告。
在【參數】頁查看具體的參數配置。
注:合理參數與不合理參數為平臺計算公式所得,個人針對系統特點進行的調整可能會被列入不合理范圍(此情況可忽略警告)。
參數設置不合理帶來的影響:
參數設置不佳可能導致系統硬件無法發揮最大性能,或造成性能問題。例如:最大內存的設置,設置過小會導致系統無法利用內存而使性能出現嚴重問題,反之不設置或過大會導致在操作系統內存壓力時強制釋放SQL Server內存導致SQL Server無法工作。
1.最大并行度(max degree of parallelism)
一般建議系統如果超過32個CPU 那么設置成8或者4,如果系統中都是特別短小且頻繁的語句建議設置成1(取消語句并行,要慎重真的符合你的場景才好)
注:很多時候并行度設置和你的服務器CPU配置有關,比如有幾路、幾核、是否超線程,一般來說不要跨物理CPU為好。
并行度的設置是針對實例級別的設置(SQL2016中可以對單獨數據庫設置)
微軟官方建議:https://support.microsoft.com/zh-cn/kb/329204
2.并行開銷的閥值(cost threshold for parallelism) 僅當運行同一查詢的串行計劃的估計開銷高于在“并行的開銷閾值”中設置的值時,SQL Server 才創建和運行該查詢的并行計劃。 開銷指的是在特定硬件配置中運行串行計劃估計需要花費的時間(秒)。 “并行的開銷閾值”選項可設置為 0 到 32767 之間的任何值。 默認值為 5。
在某些情況下,即使查詢的開銷計劃小于當前“并行的開銷閾值”的值,也有可能選擇并行計劃。 出現這種情況,是因為使用并行還是串行計劃是根據完成完全優化之前所提供的開銷估計確定的。
注:主要控制SQL優化器何時選用并行計劃,建議默認值,此值設置的越小優化器越容易選擇并行計劃。
3.服務器內存( min server memory 和 max server memory)
max server memory (建議設置): 一般推薦如果內存較小操作系統預留3G-4G ,如果內存大256或512以上在數據庫內存無壓力時預留5%-10%給操作系統,剩下給SQL SERVER ,如果服務器還有其他應用還要在SQL 中減掉應用所占的內存。
min server memory(服務器存在多個實例建議設置):當計算機上存在其他占用大量內存的進程時,這種方法也十分有用,因為它可確保 SQL Server 至少獲得合理的內存量。 這種方法的缺點是:當啟動新的實例(或任何其他進程)時,運行的實例可能會花費一些時間來釋放內存,如果實例必須將修改后的頁寫回到數據庫中來釋放內存,則花費的時間可能會更長。
帶有工作負荷的第一個實例通常分配所有的內存。 空閑實例或稍后啟動的實例最終可能會只使用最少的可用內存量運行。 SQL Server 不會嘗試均衡分配各個實例的內存使用量。 但是,所有實例均將響應 Windows 內存通知信號以調整它們內存需求量的大小。 Windows 不會使用內存通知 API 來平衡各個應用程序使用的內存。 它只提供有關系統內存可用性的全局反饋。
注:最大服務器內存控制 SQL Server 內存分配,包括緩沖池、編譯內存、所有緩存、QE 內存授予、鎖定管理器內存和 CLR 內存(實際上是 sys.dm_os_memory_clerks 中找到的任何內存分配器)。 線程棧的內存、內存堆、除 SQL Server 之外的鏈接服務器提供程序以及由非 SQL Server DLL 分配的任何內存都不受最大服務器內存控制。
注:SQL Server 不會在啟動時立即分配 min server memory 中指定的內存量。 不過,除非降低 min server memory 的值,否則當內存使用量由于客戶端負荷而達到該值后,SQL Server 不能釋放內存。
4. xp_cmdshell 使SQL SERVER可以使用cmdshell功能應用
xp_cmdshell 屬于外圍應用配置在新安裝的 SQL Server的默認配置中,功能并未啟用。以最大限度地減少可能受到惡意用戶***的功能數。
注:部分客戶使用腳本備份數據庫時開啟xp_cmdshell功能,可以使用master.dbo.xp_delete_file 等系統過程代替。
參數設置不佳可能導致系統硬件無法發揮最大性能,或造成性能問題。例如:最大內存的設置,設置過小會導致系統無法利用內存而使性能出現嚴重問題,反之不設置或過大會導致在操作系統內存壓力時強制釋放SQL Server內存導致SQL Server無法工作。
在巡檢中及時發現系統參數配置變化與是否合理,這也是重要的巡檢項。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。