最近幾天從網上找了幾個asp.net的登錄案例想要研究研究代碼,結果在用sql server2005附加數據庫文件時彈出錯誤信息:
看到網友回復說:只需給authenticated users賦所有權限就行了。
本人也遇到類似的問題,但是解決方法很簡單,只需要使用管理員的身份打開sql server management studio,即可附加數據庫了
如下圖:
,一時無解,遂求助于百度谷歌,經過各種試驗,特將解決辦法整理于此,希望能幫到大家,同時如果有好的意見大家多多交流啊!
方案一:切換登錄方式
出現這種情況是由于用“混合驗證方式”(sql server身份驗證)登錄數據庫造成的,只要將登錄方式改為“windows身份驗證方式”
登錄即可解決該問題,附加成功后再換用“混合驗證模式”登陸就沒問題了。
此方法經本人測試成功。
方案二:修改服務
選擇 所有程序-sql server 2005-配置工具-選擇"sql server configuration manager"或者“sql server 配置管理器”,
打開“sql server configuration manager”配置界面,在左側選擇"sql server 2005 服務",在右側右擊打開“sql server (sqlexpress)” 的屬性,在內置賬戶處將網絡服務--”network service”改為本地系統--"local system",
點擊“重新啟動”后再附加數據庫就ok了。
此方法經本人測試成功。
附加數據庫成功后如果擔心改變設置后影響以后使用可以將內置賬戶處的“local system”再改回
“network service”,數據庫仍可打開。
主要配置過程如下圖:
1.打開“sql server configuration manager”配置界面:
2.選擇sqlserver(sqlexpress),選項,并右擊:
3.選擇“local system”:
4.選擇“重新啟動”:
5.配置成功:
這樣配置后附加數據庫就不會出錯了。
出現的問題:
網上有人說:將數據庫文件copy到其他文件夾后再附件可以附加上,但此方法經本人測試后無效。
附加數據庫后發現數據庫屬性為只讀的解決辦法
附加后發現數據庫屬性為“只讀” 解決方法為:
打開“sql server2005”,在只讀的數據庫上右擊選擇屬性,選中屬性窗口左側"選擇頁"下面的"選項",在窗口右邊將“數據庫為只讀”項
改為“false”,點擊確定即可。
原因:之所以附加上的數據庫為“只讀”,是因為啟動sql server 的默認的啟動賬號“網絡服務”對所附加(attach)的數據庫文件的
權限不夠造成的。此方法經本人測試成功。
主要配置過程如圖:
步驟一:
步驟二: