2010-06-22 62 views
0

我有一個行爲異常的數據庫升級工具。我想捕獲它發送給數據庫的查詢之一,並在執行之前對其進行更改。使用SQL Server 2000監控和更改SQL查詢

該工具通過ODBC連接。

該工具和SQL Server位於相同的Windows 2003 Server框中。

任何想法?

編輯:(更多信息) 當工具運行時,它會在第100步的第12步中死掉。它會發出一些用於創建視圖的錯誤SQL。我需要抑制錯誤消息或更正SQL執行之前。我不能只是創建視圖,因爲它做的第一件事就是放棄視圖。即使這樣,它也會出錯,因爲視圖已經存在。

+0

你可以詳細說明不好的SQL嗎?這只是一個缺陷,還是與SQL版本或其他內容有關?你可以發佈細節嗎? – SqlACID 2010-06-22 17:43:10

+0

@SqlACID - 該工具使用select語句創建視圖。選擇缺少一些列,所以...從wfrProcess中選擇PoId ,, ArgId,App ,, Process。 sql是動態生成的,所以我不確定問題出在哪裏。這約有300種不同的選擇。我之前看過這個工具,所以我不認爲它是該工具的缺陷。 – NitroxDM 2010-06-22 18:30:33

+0

我找到了工具從中選擇以生成不良SQL的位置!無論如何,我現在的問題已經解決了。我仍然有能力做中間想法的人會很有用。也許像一個自定義ODBC驅動程序? – NitroxDM 2010-06-22 19:00:01

回答

2

當然 - 使用SQL事件探查器攔截並記錄查詢。

非常有用的小工具,...

+0

我可以使用Profiler(我喜歡該工具)觀看查詢,但是我需要在運行之前將其更改。該工具正在創建帶有需要修復的語法錯誤的SQL。我想在中間設置中做一個男人,在那裏我可以用這個工具做的每件事情都能做到。或者設置服務器來替換查詢。 – NitroxDM 2010-06-22 15:48:27

+0

我錯過了Profiler中的選項嗎? – NitroxDM 2010-06-22 15:49:07

+0

@NitorxDM:不,你不能在profiler中改變它。你可以將它複製到SSMS中,並更改它並運行它 – gbn 2010-06-22 16:10:03