2012-10-18 9 views
4

我有一個CLR項目,我嘗試使用Visual Studio進行發佈。我必須將項目更改爲SQL數據工具項目,現在不會發布。每次嘗試時,我都會遇到超時錯誤。當我一步一步地發現,我發現這行代碼掛在我的服務器上。 發佈SQL數據工具2012項目:強制進入單用戶模式

IF EXISTS (
    SELECT 1 
    FROM [master].[dbo].[sysdatabases] 
    WHERE [name] = N'fwDrawings') 
BEGIN 
    ALTER DATABASE [fwDrawings] 
    SET READ_COMMITTED_SNAPSHOT OFF; 
END

基本上,我知道它試圖強制服務器進入單用戶模式,當我嘗試發佈這個。這只是我的登臺服務器而不是生產服務器,但這仍然是一個問題。每當我想要在更新CLR的同時測試它的功能性時,我無法將所有人都踢出服務器並嘗試將其切換到單用戶模式。而且我不想等待維護週期或停機時間將其推廣到生產。有沒有解決的辦法?

+0

你怎麼知道它強制進入單用戶模式? READ_COMMITTED_SNAPSHOT不這樣做。但是如果打開連接,更改READ_COMMITTED_SNAPSHOT將超時,這對您的情況很有幫助。 – Keith

+0

但是,正如我所說的,除非每次我想重新部署時將每個人都踢掉SQL,否則這將是一個大問題。 – CrystalBlue

+0

明白了。您發佈的信息聽起來像您認爲READ_COMMITTED_SNAPSHOT步驟強制服務器進入單用戶模式。 – Keith

回答

1

想必你已經爲你的數據庫打開了READ_COMMITTED_SNAPSHOT

如果是這樣,您需要更改您的數據庫項目設置以匹配。在項目的「數據庫設置」的「操作」選項卡中,選中「讀取已提交的快照」事務隔離。

對我而言,這阻止了發佈超時,即我現在可以成功發佈。