附加資料庫失敗,無法升級資料庫,因為它是隻讀的

weixin_33763244發表於2016-03-05

我處理的方法是,找到指定目錄下的資料庫的這2個檔案,設定evvryone有全部權利,附加成功後,系統會自動調整許可權,改為sql管理員有許可權,不用手工再調整回來。

 

 

後面是網上文摘

 

去網上搜尋了一下答案,最終還是發現是NTFS的許可權問題,NTFS格式對許可權的設定選項多了很多,但因此也帶來了不少問題,IIS,SQL等等的一些莫名其妙的問題可能就源於許可權未分配,這次的問題同樣出在此處。

解決方法很簡單:把檔案所在的資料夾的“完全控制”許可權賦予 users或者你所運算元據庫的那個使用者即可解決問題。如果屬性裡面沒有Users使用者,手動新增一個即可。

 

附上網上的解決方法:

經查閱資料,發現並不是檔案只讀的問題,嚴格說應該是一個“許可權”的問題,當前的SQL Server登入帳號沒有對要附加檔案的可寫許可權,就會出現上述“只讀”的提示,解決辦法有以下幾種:

1.將要附加的檔案拷貝到 SQL Server 預設的 Data 目錄,此時附加就會成功;

2.在登入驗證時,選擇“Windows身份驗證”,而不是“SQL Server身份驗證”,即便你的登入帳號是sa;

3.如果一定要使用“SQL Server 身份驗證”,請更改登入帳號的許可權使其對要附加檔案有完全操作許可權;

4.將 SQL Server 服務的帳戶登入身份由 Network Service 改為 Local Service;

沒辦法,只能退一步,修改config中的連線字串,改為windows身份驗證,再用windows身份驗證附加資料庫了。

 

 

今天在將一個 SQL Server 2000 資料庫附加到 SQL Server 2005時出現如下的錯誤:附加資料庫對於伺服器失敗(Microsoft.SqlServer.Smo),無法升級資料庫test,因為它是隻讀的,或者具有隻讀檔案。請將資料庫或檔案設為可寫,然後重新執行恢復操作。 (Microsoft SQL Server,錯誤: 3415)
檢視了資料庫檔案,他們並沒有只讀屬性,在 SQL Server 2000 中附加都是一切正常的啊。
經查閱資料,發現並不是檔案只讀的問題,嚴格說應該是一個“許可權”的問題,當前的SQL Server登入帳號沒有對要附加檔案的可寫許可權,就會出現上述“只讀”的提示,解決辦法有以下幾種:
1.將要附加的檔案拷貝到 SQL Server 預設的 Data 目錄,此時附加就會成功;
2.在登入驗證時,選擇“Windows身份驗證”,而不是“SQL Server身份驗證”,即便你的登入帳號是sa;
3.如果一定要使用“SQL Server 身份驗證”,請更改登入帳號的許可權使其對要附加檔案有完全操作許可權;

4.將 SQL Server 服務的帳戶登入身份由 Network Service 改為 Local Service;

 

我遇到了這種情況,使用第二種方法解決了問題。

==>如有問題,請聯絡我:easonjim#163.com,或者下方發表評論。<==

相關文章