首頁 > 軟體

sql server 2008資料庫不能新增附加檔案的解決方法

2023-02-06 06:03:17

昨天在將一個 SQL Server 2000 資料庫附加到 SQL Server 2008 時出現如下的錯誤:

附加資料庫 對於 伺服器“servername”失敗。  (Microsoft.SqlServer.Smo)

無法升級資料庫 ‘dbname’,因為它是唯讀的,或者具有唯讀檔案。請將資料庫或檔案設為可寫,然後重新執行恢復操作。 (Microsoft SQL Server,錯誤: 3415)

檢視了資料庫檔案,他們並沒有唯讀屬性,在 SQL Server 2000 中附加都是一切正常的啊。點選錯誤訊息對話方塊的幫助連結,開啟的卻是一個 I’m sorry 的無效連結,BS 一下微軟。

多方研究,發現並不是檔案唯讀的問題,嚴格說應該是一個“許可權”的問題,當前的 SQL Server 登入帳號沒有對要附加檔案的可寫許可權,就會出現上述“唯讀”的提示,

解決辦法有以下幾種:

方法1: 將要附加的檔案拷貝到 SQL Server 預設的 Data 目錄,此時附加就會成功;
方法2: 在登入驗證時,選擇“Windows 身份驗證”,而不是“SQL Server 身份驗證”,即便你的登入帳號是 sa;
方法3: 如果一定要使用“SQL Server 身份驗證”,請更改登入帳號的許可權使其對要附加檔案有完全操作許可權;
          將 SQL Server 服務的帳戶登入身份由 Network Service 改為 Local Service;
此問題是在 Windows XP 下發生的,順帶說一下,現在的 SQL Server 2008 企業版可以在 XP 下安裝了。

有關於2008 SQL資料庫不能新增附加檔案問題

sql server中新增附件

右鍵:選擇附加

但有時會發生錯誤。

可能是此時要匯入的資料庫已經存在。或者,

這時選中我們的mdf,例如我的是“人事管理系統”
右鍵:屬性-安全

選中author開頭的選項勾選-完全控制

補充

通過附加功能新增現成的資料庫是非常方便的,然而有時會出現附加資料庫失敗。那麼,我們該如何解決此問題?

有兩種解決方法

【第一種方法】

第一步:找到要新增資料庫的.mdf檔案,點選右鍵,選擇屬性

第二步:在屬性頁面點選安全,選擇Authenticated Users,單擊編輯

第三步:Authenticated Users許可權中選擇完全控制,點選確定,點選屬性介面的確定。

第四步:同理,右鍵點選資料庫的.ldf檔案,開啟屬性。按以上步驟再次設定即可。

完成以上步驟,再進行附加資料庫,這時就可以。

【第二種方法】

第一步:開啟資料庫範例的安裝目錄,開啟DATA資料夾。

(如我的範例目錄地址為:D:Microsoft SQL ServerMSSQL10.MSSQLSERVERMSSQLDATA 也可能當時安裝時裝在C槽了)

第二步:將要附加的資料庫.mdf檔案.ldf檔案剪下複製DATA資料夾裡。

完成以上步驟,再次附加資料庫。這時就可以了。

補充二 許可權問題

方法一

1,找到要新增資料庫的.mdf檔案,點選右鍵,選擇屬性。
2、點選安全 → 編輯 → 新增 → 高階 → 立即查詢 →
3、選中 Everyone 點選 確定 → 確定 →
4、勾選上 完全控制 點選 應用 點選 確定 → 確定
5,同理,右鍵點選資料庫的.ldf檔案,開啟屬性。按以上步驟再次設定即可。
6,完成以上步驟,再次附加資料庫。這時就可以了。

方法二、

1,開啟資料庫範例的安裝目錄,開啟DATA資料夾。(如我的範例目錄地址為:C:Program Files (x86)Microsoft SQL ServerMSSQL10_50.MSSQLSERVERMSSQLDATA
2,將要附加的資料庫.mdf檔案和.ldf檔案,剪下或複製到DATA資料夾裡。
3,完成以上步驟,再次附加資料庫。這時就可以了。

到此這篇關於sql server 2008資料庫不能新增附加檔案的解決方法的文章就介紹到這了,更多相關sql server 2008不能新增附加檔案內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com