附加数据库失败,无法升级数据库,因为它是只读的
我處理的方法是,找到指定目錄下的數(shù)據(jù)庫的這2個(gè)文件,設(shè)置evvryone有全部權(quán)利,附加成功后,系統(tǒng)會(huì)自動(dòng)調(diào)整權(quán)限,改為sql管理員有權(quán)限,不用手工再調(diào)整回來。
?
?
后面是網(wǎng)上文摘
?
去網(wǎng)上搜索了一下答案,最終還是發(fā)現(xiàn)是NTFS的權(quán)限問題,NTFS格式對權(quán)限的設(shè)置選項(xiàng)多了很多,但因此也帶來了不少問題,IIS,SQL等等的一些莫名其妙的問題可能就源于權(quán)限未分配,這次的問題同樣出在此處。
解決方法很簡單:把文件所在的文件夾的“完全控制”權(quán)限賦予 users或者你所操作數(shù)據(jù)庫的那個(gè)用戶即可解決問題。如果屬性里面沒有Users用戶,手動(dòng)添加一個(gè)即可。
?
附上網(wǎng)上的解決方法:
經(jīng)查閱資料,發(fā)現(xiàn)并不是文件只讀的問題,嚴(yán)格說應(yīng)該是一個(gè)“權(quán)限”的問題,當(dāng)前的SQL Server登錄帳號(hào)沒有對要附加文件的可寫權(quán)限,就會(huì)出現(xiàn)上述“只讀”的提示,解決辦法有以下幾種:
1.將要附加的文件拷貝到 SQL Server 默認(rèn)的 Data 目錄,此時(shí)附加就會(huì)成功;
2.在登錄驗(yàn)證時(shí),選擇“Windows身份驗(yàn)證”,而不是“SQL Server身份驗(yàn)證”,即便你的登錄帳號(hào)是sa;
3.如果一定要使用“SQL Server 身份驗(yàn)證”,請更改登錄帳號(hào)的權(quán)限使其對要附加文件有完全操作權(quán)限;
4.將 SQL Server 服務(wù)的帳戶登錄身份由 Network Service 改為 Local Service;
沒辦法,只能退一步,修改config中的連接字符串,改為windows身份驗(yàn)證,再用windows身份驗(yàn)證附加數(shù)據(jù)庫了。
?
?
今天在將一個(gè) SQL Server 2000 數(shù)據(jù)庫附加到 SQL Server 2005時(shí)出現(xiàn)如下的錯(cuò)誤:附加數(shù)據(jù)庫對于服務(wù)器失敗(Microsoft.SqlServer.Smo),無法升級(jí)數(shù)據(jù)庫test,因?yàn)樗侵蛔x的,或者具有只讀文件。請將數(shù)據(jù)庫或文件設(shè)為可寫,然后重新運(yùn)行恢復(fù)操作。 (Microsoft SQL Server,錯(cuò)誤: 3415)
查看了數(shù)據(jù)庫文件,他們并沒有只讀屬性,在 SQL Server 2000 中附加都是一切正常的啊。
經(jīng)查閱資料,發(fā)現(xiàn)并不是文件只讀的問題,嚴(yán)格說應(yīng)該是一個(gè)“權(quán)限”的問題,當(dāng)前的SQL Server登錄帳號(hào)沒有對要附加文件的可寫權(quán)限,就會(huì)出現(xiàn)上述“只讀”的提示,解決辦法有以下幾種:
1.將要附加的文件拷貝到 SQL Server 默認(rèn)的 Data 目錄,此時(shí)附加就會(huì)成功;
2.在登錄驗(yàn)證時(shí),選擇“Windows身份驗(yàn)證”,而不是“SQL Server身份驗(yàn)證”,即便你的登錄帳號(hào)是sa;
3.如果一定要使用“SQL Server 身份驗(yàn)證”,請更改登錄帳號(hào)的權(quán)限使其對要附加文件有完全操作權(quán)限;
4.將 SQL Server 服務(wù)的帳戶登錄身份由 Network Service 改為 Local Service;
?
我遇到了這種情況,使用第二種方法解決了問題。
==>如有問題,請聯(lián)系我:easonjim#163.com,或者下方發(fā)表評(píng)論。<==總結(jié)
以上是生活随笔為你收集整理的附加数据库失败,无法升级数据库,因为它是只读的的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 软件过程与项目管理(作业一)
- 下一篇: linux cmake编译源码,linu