2013-06-12 20 views
0

我想安裝一個NetScaler(版本9.3)監視器來確定我的數據庫運行在哪個SQL服務器(主要/鏡像)。我正在使用的查詢是:Netscaler MSSQL鏡像監視器查詢沒有得到迴應

select mirroring_role_desc from sys.database_mirroring where database_id = DB_ID('OperationsManager') 

查詢在我創建的用戶憑據下正常運行。問題是,無論何時查詢來自NetScaler,它都沒有完成。在SQL事件探查器跟蹤中,它顯示中止/回滾,我不知道爲什麼。

我已經啓用了字面上的每一個跟蹤事件,包括所有的錯誤,試圖看看它爲什麼沒有完成,我已經無處可去。沒有閱讀和沒有RowCounts。連接看起來正在中止,但沒有出現任何錯誤。

This is what profiler looks like when it runs from the NetScaler

This is what it looks like when I run the same query, as the same user, from SSMS.

我想也許是NS太早關閉連接,所以我從調升2秒到30秒的響應超時。這沒有任何區別。我完全困惑。

回答

0

您可以告訴我們您正在運行的NetScaler代碼版本,並從CLI中粘貼CLI監視器命令? 另外 - 您需要在查詢結尾添加一個分號。

+0

NetScaler的是9.3版本和我們使用命令是: 添加磅監視SQL_MIRROR MSSQL-ECV -userName cswxntsp -LRTM DISABLED -database主-sqlQuery 「從sys.database_mirroring選擇mirroring_role_desc其中database_id的= DB_ID( 'OperationsManager')」 -EvalRule「MSSQL.RES.ROW(0).TEXT_ELEM(0).EQ(\」PRINCIPAL \「)」 –

+0

@Ranan這不符合答案,請保留問題以備註釋。 –

+0

對不起亞歷克 - 沒有真正張貼在此之前。 – Ronan

0

在監控字符串的SQL語句末尾添加一個分號。否則,語句不會執行。

+0

我試過了,沒有影響。 –