簡體   English   中英

SQL Server 2008 Express 上的 SQL 依賴

[英]SQL Dependency on SQL Server 2008 Express

我有一個成功地將 SqlDependency 與 SQL Server 2008 Standard Edition 一起使用的應用程序。 但是,如果我將連接字符串切換到 SQL Server 2008 express(啟用了 Broker),它就會停止工作。

我不確定它是否特定於 SQL Server Express,但是我應該遵循哪些步驟來找出問題的原因?

更新。 “停止工作”是指 SqlDependency 不會引發通知

要了解 SQL Dependency 的工作原理,我建議您閱讀The Mysterious Notification 要對其進行故障排除,請按照正常的故障排除對話框步驟操作。 正如您在這篇文章中發現的那樣,典型的罪魁禍首確實是 Service Broker 消息傳遞所需的EXECUTE AS上下文。 您可以從sys.transmission_queue通知消息的transmission_status輕松看到這sys.transmission_queue ,並將數據庫所有者更改為有效登錄名( ALTER AUTHORIZATION ON DATABASE::[<dbname>] TO [sa] )將修復它。 但是,可能還有其他問題。 我鏈接中的故障排除步驟將幫助您找到它們。

正如@Remus 指出的那樣,我基於誤導性文檔的假設是錯誤的:SQL Server Express 在某種程度上確實支持 Service Broker,盡管許多在線資源表明它並不完全支持 SSB。 把它放在這里,這樣搜索可能會產生隨后的對話。

似乎 SqlDependency 依賴於查詢通知。 查詢通知又依賴於 Service Broker。 SQL Server Express 不支持 Service Broker。 此頁面未明確列出查詢通知:

http://msdn.microsoft.com/en-us/library/cc645993(SQL.100).aspx

但是從那里你可以看到 Express 僅作為 客戶端支持 Service Broker,從下一頁你可以看到 Service Broker 是一個依賴項(沒有雙關語):

http://msdn.microsoft.com/en-us/library/ms130764(v=SQL.100).aspx

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM