日前228連假第一天,帶著一家人去烤肉玩漆彈。卻在此時手機收到告警,系統偵測不到一台SQL Server。當下連接一台AP看看,果然發生網頁錯誤。Orz…..連假第一天就得救火,馬上殺回公司看看狀況。
Blocking讓Max Worker Threads爆了,造成SQL Server無法正常的提供服務
- 5884
- 0
- [SQL]TroubleShooting
- 2016-04-23
日前228連假第一天,帶著一家人去烤肉玩漆彈。卻在此時手機收到告警,系統偵測不到一台SQL Server。當下連接一台AP看看,果然發生網頁錯誤。Orz…..連假第一天就得救火,馬上殺回公司看看狀況。
一直以來在寫TSQL時如需要一個暫存資料表,大多會用Table Varible或Temp Table來做
但常常聽到一些講師或看見官方文件都將Table Varible定義成存放小資料量的臨時資料表
但我長期使用Table Varible來做大資料的暫存表也沒遇見什大問題,因此也就沒多注意。
直到某天突然爆了一個大雷......
針對大量資料寫入資料表的動作其很大的副作用就是交易紀錄檔的成長
因此在做樣大量寫入資料的動作時,如何減少交易紀錄的成長變是很重要的課題。
更新統計資料可確保查詢使用最新的統計資料進行編譯。不過,更新統計資料會導致查詢重新編譯。
我們建議您不要太頻繁地更新統計資料,因為改善查詢計畫與重新編譯查詢所花費的時間之間具有效
能權衡取捨。
相信很多時候大家會用字串組成動態的SQL語法然後再用Execute來塞入到資料表中
,或是將一些SP回傳資料寫入到資料表後再作運用。但這樣的作法會耗費較多資源歐
Heap Table 重建時會造成資料表中所有的索引一併重建
新增Identity欄位(Primary Key Clustered)至大資料表的方式比較