0

我想建立一個Windows服務,將通知公司的一些管理員在主數據庫中更改數據庫。有人可以建議如何構建它,它不需要維護,並且以一種明智的方式。 (比如在一個表中寫入存儲過程?)。我可以使用哪些技術?(如SQL依賴?) 如果有人已經做了這樣的事情,我會很樂意聽到建議...建議架構模式到Windows服務監視和通知郵件的變化?

+0

什麼是數據庫服務器?請品牌和版本。 – NotMe 2011-03-15 15:27:39

+0

你能否詳細說一下「改變的主要BL」?假設這是商業邏輯,但它目前如何實施?你在監視一張桌子等嗎? – bryanbcook 2011-03-15 15:30:45

+0

SQL server 2008.最重要的是服務的設計,主要不是在任何時候開發人員會想要新的變化規則 – user437631 2011-03-15 15:31:03

回答

2

有3種基本模式可以做到這一點。

  1. 通知事件,正在發生什麼變化引發了一個事件「嗨,有人改變了我」,然後你趕上了這個事件。
  2. 投票,客戶詢問數據庫自從我上次問你發生了什麼後發生了什麼。
  3. 網關,通過網關進行的所有更改,網關報告進行了哪些更改。

你選擇哪一個取決於你有哪些技術可用,以及你的要求是多快,你需要知道有關變化。

0

SQL Server帶有很多方法來捕獲更改(包括特定於數據和特定於架構)。請參閱更改數據捕獲和其他主題,如DDL觸發器,事件通知和SQL跟蹤。就你而言,我認爲這是後面的3個主題。

所有3種方法應該能夠在數據庫範圍甚至服務器範圍內運行(這意味着您可以設置一次並忘記它,因此應該滿足您的免維護要求)。

與SQL Server的數據庫郵件功能相結合,你應該能夠實現這一點,而不必訴諸自定義的Windows服務。

只是一個小心的詞... 人們認爲這是一個好主意,但是如果沒有正確實施,期望一個滿的垃圾郵件,垃圾郵件和更多的垃圾郵件。提示:臨時表操作。