iT邦幫忙

0

請問使用SQL Profiler追蹤到卡住的地方後請問該怎麼解決?

sql

win2k srv + sql2000 每次跑都odbc timeout 調連線數秒數都失敗
使用kill unlock 也不能解決這個問題.
使用SQL Profiler追蹤到卡住的地方後請問該怎麼解決?
是刪除資料表嗎?怎看懂圖表的這個意思?
第一次碰SQL的我....

2
summertw
iT邦好手 1 級 ‧ 2014-05-22 17:09:01

可否再貼上該電腦的【工作管理員】並顯示SQL SERVER吃CPU的狀態..
另外,你是這個資料庫的原始創建人嗎??
這個分析看起來是用STP的寫法,沒有呼叫Stored Procedure的樣子...

joe0204 iT邦新手 4 級 ‧ 2014-05-22 17:20:13 檢舉

dear summertw
我是接手的@@不是原始創建人

2
rogeryao
iT邦高手 6 級 ‧ 2014-05-22 18:28:13

把那段 sql 貼上來看看吧.
或許是 sql 內某個 table 筆數非常大的關係.
你也可以針對那些 table 去 select count(*) from xxx

4
sam0407
iT邦高手 1 級 ‧ 2014-05-23 12:04:14

1.如果程式有人維護,就請程式設計師看一下這段SQL是來自那支程式,看有沒有比較不吃資源的作法,ex.不要一次Join太多Table、一個查詢改成分多次查詢、看那些Table需要加Index。

2.如果程式沒人維護,您就看分析一下這段SQL,看看查詢條件用到那些Table的欄位,有些Table的資料筆數多,徧徧您又要用沒有作Index的欄位查詢,速度當然慢,加上必要Index效能就會有改善。

3.如果您也不會分析SQL,就用SQL Server的Database Engine Tuning Advisor工具調,最後應該也是會給您加些INDEX的建議,就照他的建議作試試看吧!

看更多先前的回應...收起先前的回應...
joe0204 iT邦新手 4 級 ‧ 2014-05-28 16:48:17 檢舉

小弟終於找到有問題的資料表,目前想全部刪除後,減少資料庫容量,回復成原來的樣子。

sam0407 iT邦高手 1 級 ‧ 2014-05-29 10:19:57 檢舉

....
確定用這麼殺的處理方式,anyway,只要您確定刪除後不會有人跳腳就好!

sam0407 iT邦高手 1 級 ‧ 2014-05-29 10:22:00 檢舉

良心建議,刪之前先作個備份或將Table資料滙出一份比較保險~~

slime iT邦大師 1 級 ‧ 2014-05-29 14:03:39 檢舉

印象中 MS SQL Server 某些版本可以設定"實體分割資料表",
雖然 SQL 邏輯上還是同一個資料表, 不過實體上是切成不同檔案(可選擇存在不同硬碟),
配合資料表查詢語法的調整(例如只查最近幾年, 則實體上依年切割), 這樣也許異動較少.

我要發表回答

立即登入回答