小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

轉(zhuǎn)貼:使用SqlDependency時提示當(dāng)前數(shù)據(jù)庫未啟用Service broker 百...

 昵稱5164533 2011-03-14
使用SqlDependency時提示當(dāng)前數(shù)據(jù)庫未啟用Service broker

昨晚遇到的這個問題,也知道Notifications service依賴底層的Service broker的。本以為只需要執(zhí)行以下腳本對數(shù)據(jù)庫啟用Service broker即可。

alter database DBNAME set enable_broker

但是,執(zhí)行后,腳本一直處于執(zhí)行狀態(tài),不以為然,正好在忙其它事情就沒有查看運(yùn)行結(jié)果,結(jié)果到今早一看,居然運(yùn)行還沒有結(jié)束。雖然是在一個生產(chǎn)數(shù)據(jù)庫上執(zhí)行的,數(shù)據(jù)庫也只有30G的樣子,但也不至于執(zhí)行一個晚上也未結(jié)束,只好終止執(zhí)行,使用

SELECT is_broker_enabled FROM sys.databases WHERE name = 'DBNAME'

查看is_broker-enabled為0,依然未啟用Service broker

后google下,在一個國外論壇里面找到了解決辦法:

ALTER DATABASE DatabaseName SET NEW_BROKER WITH ROLLBACK IMMEDIATE;
ALTER DATABASE Databasename SET ENABLE_BROKER;

執(zhí)行以上2條語句,未做任何等待,就提示命令執(zhí)行完成。

SELECT is_broker_enabled FROM sys.databases WHERE name = 'DBNAME'

查看is_broker-enabled為1

NEW_BROKER選項,SQL SERVER聯(lián)機(jī)叢書上的解釋:

每個數(shù)據(jù)庫都包含一個 Service Broker 標(biāo)識符。sys.databases 目錄視圖的 service_broker_guid 列顯示該實(shí)例中每個數(shù)據(jù)庫的 Service Broker 標(biāo)識符。Service Broker 路由使用 Service Broker 標(biāo)識符來保證一個會話的所有消息都傳遞到同一個數(shù)據(jù)庫。因此,Service Broker 標(biāo)識符在同一網(wǎng)絡(luò)上的所有實(shí)例中應(yīng)是唯一的。否則,消息可能被誤傳。

SQL Server 為每個新數(shù)據(jù)庫生成新的 Service Broker 標(biāo)識符。由于標(biāo)識符是新的,因此 SQL Server 可以安全地激活新數(shù)據(jù)庫中的 Service Broker 消息傳遞。網(wǎng)絡(luò)上的其他數(shù)據(jù)庫應(yīng)該不會有與之相同的 Service Broker 標(biāo)識符。

NEW_BROKER。此選項用于激活 Service Broker 消息傳遞,同時為數(shù)據(jù)庫創(chuàng)建新的 Service Broker 標(biāo)識符。由于該數(shù)據(jù)庫中所有的現(xiàn)有會話都未使用新的實(shí)例標(biāo)識符,因此,此選項將結(jié)束這些會話并返回一個錯誤。

ROLLBACK IMMEDIATE將立即回滾未完成的事務(wù)。

來自: http://hi.baidu.com/supermfc/blog/item/7066f74435c1fb8eb3b7dcda.html

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多