2012-07-09 56 views
9

我試圖分離數據庫,因爲它給了我一個當前正在使用的錯誤。因此,我試圖讓我的數據庫離線,但它失敗說「脫機」過程失敗後無法訪問數據庫

'an exception occured while executing a transact SQL statement or batch 

-> ALTER DATABASE failed because a lock could not be placed on database 'myDB'. Try again later. 
    ALTER DATABASE statement failed. (Microsoft SQL Server, Error: 5061)' 

現在,如果我嘗試訪問數據庫它說它不可訪問。我能做些什麼來使我的數據庫再次訪問?

我的目標是分離數據庫,將其輔助數據庫文件重新放置到新驅動器並重新掛接(僅僅是因爲空間問題)。

回答

12

請嘗試以下步驟。

  1. 使用services.msc控制檯重新啓動SQL服務器服務。
  2. 現在使用SQL Server Management Studio連接到您的服務器。在查詢分析器
  3. 運行以下命令

    ALTER DATABASE `YOURDATABASE_NAME` 
        SET SINGLE_USER WITH ROLLBACK IMMEDIATE 
    
  4. 現在右鍵單擊數據庫名稱,指向任務,然後單擊分離。出現分離數據庫對話框

OR 5.運行命令的重新定位輔助數據庫。

  1. 設置數據庫模式爲多用戶再次

    ALTER DATABASE `YOURDATABASE_NAME` SET MULTI_USER 
    

希望這有助於。

+0

謝謝。這工作! – Vaibhav 2012-07-09 08:16:25

10

作爲Furqan答案中的第一步的替代方案,您可能不需要重新啓動SQL Server實例,而只需要SQL Server Management Studio實例,該實例用於啓動「Take Offline」任務。

+0

感謝此 - 意味着我們不必將整個SQL Server脫機! – KaraokeStu 2013-06-10 12:37:26

+2

我可以證實這是真的。 Management Studio似乎正在保持連接。 – 2013-06-13 13:50:52