最近几天从网上找了几个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)的数据库文件的
权限不够造成的。此方法经本人测试成功。
主要配置过程如图:
步骤一:
步骤二: