Database 'xxx' cannot be upgraded because it is read-only or has read-only file Make the database or files writeable, and rerun recovery.


  在分離數據庫DatabaseName(暫且用DatabaseName代替該數據庫名)后,我將其數據文件以及日志文件移動到新增的磁盤上。然后附加該數據庫,結果報如下錯誤:

Database 'DatabaseName' cannot be upgraded because it is read-only or has read-only files. Make the database or files writeable, and rerun recovery.

Could not open new database 'DatabaseName'. CREATE DATABASE is aborted. (Microsoft SQL Server,錯誤: 3415)

    通過VNC連接到該數據庫服務器,我檢查了該數據庫文件以及日志文件是否為只讀,但是事實是這些文件都具有讀寫權限。經過一番細致檢查后,才發現了問題的根本原因:

    我首先在我機器上用SSMS工具通過域賬號A連接到數據庫服務器分離了該數據庫,這個域賬號擁有這個數據庫的sysadmin角色,但是並不是該服務器上的系統管理員,然后我通過VNC使用另外一個域賬號B移動了數據庫的文件,然后又在我機器使用SSMS去附加該數據庫,因為使用的是域賬號A,並沒有操作服務器上文件的權限。結果報如上錯誤。

    於是我在該服務器上使用B賬號登陸數據庫,附加該數據庫,成功解決。后面我測試了一下,在該服務器上添加域賬號A,賦予其操作數據庫文件的權限,結果就不會出現上述錯誤。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM