2014-03-19 91 views
0

我們在sqlserver數據庫中有一張表。有一個窗口服務從數據爲空的表中提取記錄。處理記錄並更新當前日期。此服務可能已安裝在多個開發人員的計算機上。這是一種查找運行此服務的db用戶/機器名稱列表的方法。如果服務在任何機器上運行,它將使用相同的數據庫並更新相同的表。如何知道哪臺機器正在運行windows服務

+0

您是否試過SQL Profiler? – AK47

+0

我是新的sql分析器。你能告訴我如何配置它來顯示特定表上的活動嗎? – Akie

+0

請提及您正在使用的完整版本名稱。 – AK47

回答

1

打開SQL事件探查器=>事件選擇選項卡=>列過濾器按鈕。

數據庫名稱:像: 「目標數據庫名稱」, 的TextData:像: 「目標表名」

點擊OK。檢查:顯示所有列=>檢查BatchCompleted,BatchStarting爲HostName列 =>單擊運行

您將能夠觀察目標表上正在進行的每個事務。然而, 您將無法過濾通過應用程序訪問指定表(我相信 應用程序名稱是:SqlClient數據提供程序) 除非您已經添加Application Name="My Application"到應用程序的連接字符串,它是一個Windows服務在你的情況。

+0

好。我懂了。 「事件類=審覈註銷」 「應用程序名稱=隊列讀取器SQL隊列提交者=()」 「NTUserName = SqlSrvReplicationSer \t」 「的LoginName = ASSEENONSCREEN \ SqlSrvReplicationSer」 「ClientProcessId = 8676 \t」 但是我怎樣才能找到Windows進程正在運行的系統? – Akie

+0

如果您完全按照我向您展示的方式進行操作,則會在最後一列「HostName」中找到它。這就是爲什麼我要求在我的回答中檢查HostName操作 –

+0

是的,我也這樣做了。但是HostName列沒有值。我可以看到這一行的空白。 – Akie

相關問題