Profiler是SQL Server 2005開始提供的工具,一直以來都是我們診斷案件錄製SQL內部過程的好幫手,她可以讓我們建立和管理追蹤交易過程,蒐集到資訊後也能直接進行分析並且重新執行追蹤結果,我們來試試看捕捉DeadLock事件。
[SQL Server][DeakLock]觀察死結的工具(三)SQL Profiler
- 13567
- 0
- SqlDeadlock
Profiler是SQL Server 2005開始提供的工具,一直以來都是我們診斷案件錄製SQL內部過程的好幫手,她可以讓我們建立和管理追蹤交易過程,蒐集到資訊後也能直接進行分析並且重新執行追蹤結果,我們來試試看捕捉DeadLock事件。
Trace flag是老牌但超實用的系統診斷及暫時關閉特定伺服器功能的工具,從SQL Server 2000的前一代SQL 7.0就出道了,
如果想把Deadlock的資訊儲存在SQL Server紀錄檔中,我們可以啟用Trace flag 1222以及1204。
最近的案子中,在測試及正式環境都碰到了幾次資料庫交易死結(DeadLock)而有交易被犧牲,有一次還碰上了查詢交易的死結(內部平行查詢死結intra-Query Parallel Deadlock),由於SQL Server發生死結(DeadLock)的原因很多,因為經驗不足,自己沒碰過的碰過的多,踏出解問題的第一步就是紀錄死結資訊。
來筆記幾種觀察死結問題的工具。
這週請同事幫忙修改一支ASP.NET 網站程式,但同事準備進入偵錯時出現了無法啟動IIS Express Web 伺服器的問題,筆記解決無法啟動IIS Express Web伺服器的辦法。
昨天客戶系統突然有支批次程式執行時發生刪除資料夾失敗,但因為營運環境不能安裝額外的工具程式來觀察,筆記兩個攻城師常用的工具可以調查被誰佔據了:
延續SQL Server儲存Unicode補充字集的話題,因為同事的目標資料庫是既有資料庫,沒辦法採用新建立資料庫的方式,後來同事直接把資料庫改成支援補充字集的定序(*_SC),一開始很順利,但使用到tempdb,像是join #table 或是union all #table時發現了定序衝突(collation conflict)問題。
來筆記另外兩種解決定序衝突(collation conflict)的作法:
中文博大精深,剛好負責的資訊系統會儲存客戶的中文姓名和地址,而中文姓名關係著八字五行、三才五格還有市場熱門度,取一個很命中缺什麼補什麼的名字是命理老師的專業,所以系統中時常會出現許多特別的古文字或是自創字也是相當合理自然的一件事。
上禮拜從iThome看一篇新聞,英國研究人員只花6秒就能破解盜刷Visa信用卡,於是想了解更多:新堡大學原文。
最近同事有一個需求要檢查文字檔案中是否有BIG5難字,如果存在BIG5難字,希望可以把這些字碼留下來,讓系統管理單位可以確認及造字。
哈!花了1個小時實作,再花20分鐘寫筆記下來。
前兩篇使用了ASP.NET MVC 內常用的資料容器,這一篇改變方向,不變動後端太多,改從前端這邊下手,(1)組合Partial View (2)使用Jquery AJAX分次呼叫組合。
接續前一篇傳遞多個Model到前端的檢視(View)上,上一篇使用MVC 常用的資料容器,這一篇則使用View Result下的Model來傳遞;由於Model是object 型別,試著變形: return View(TupleModel)、return View(ExpandoObject)、return View(viewmodel)。
Controller Action要將資料傳遞到前端顯示有很多種方式,常透過View Result下的ViewBag、ViewData、Model及Session中的Temp Data。
如果是資料模型通常就直接用Model或View Model再包裹;簡單的資料結構(訊息字串..)則可以用前面幾種;但使用者的頁面總是希望很豐富,要呈現多個資料表Model結構就要轉一下,最近要選擇MVC撰寫方式作為範本,來筆記順便比較幾種作法。
早上同事通報在新環境剛裝好的Visual Studio開啟現有方案下的網站專案想偵錯,但吐出IIS Express異常終止的訊息,但同一個方案下的Console專案可以。
最近把程式佈署到新機器上(Windows Server 2012 R2),但程式使用iTextsharp套PDF時意外出現找不到字型檔的問題:
System.IO.IOException: C:\Windows\Fonts\msjh.ttf not found as file or resource.
最近客戶端的SP準備了幾台新機器(Windows Server 2012 R2)測試新系統功能,但不知道為何,Developer遠端登入後每使用一陣子就Hang住,凡走過必留下痕跡,打開Windows Event log,
果然看到Explorer.EXE Application Hang!
大致的作法是利用.NET反射(Reflection)載入.NET System.Data組件,建立SqlClient實作,然後就是你我熟悉的SqlCommand。
如果管理Windows Server的Developer或是SE/SP剛好也略懂C#,來試試在Powershell裡頭寫C#。
當我們在執行大量資料分析時,資料科學用戶端的本機記憶體及CPU運算能力可能會不足,另外如果也希望資料庫的資料不要走出家門太久,這時候就可以考慮在遠端的SQL Server上執行分佈運算Distributed Computing。
除了SAS、SPSS、Matlab及R語言之外,另外一種很受歡迎的資料科學開發語言就是Python了,Python抓網頁資料很方便,筆記PTVS(Python tool for Visual Studio)的安裝。
Python也有著許多Open source Package,截自2016/11,已經有91760個Package了,這次從PTVS安裝Python Package。