附加数据库 错误:5120 sql server之路--错误

昨天在学校机房,旁边的同学在SQL Server 2008上附加数据库时,遇到提示“操作系统 拒绝访问,错误:5120”。

错误详情

1.错误提示
错误提示
2.错误代码:5120
错误代码:5120

解决方法一:修改mdf和ldf文件的权限

1.找到mdf文件–>右键属性–>点击安全
mdf文件属性
2.选择Authenticated User–>点击编辑
编辑属性
3.允许Authenticated User完全控制
允许完全控制

4.记得还要一样修改ldf文件的权限,不然还会拒绝,报ldf拒绝访问,修改之后就成功可以成功附加了

解决方法二:切换身份验证方式(如果已是windows身份验证不适用)

断开已有的连接–>切换验证方式
这里写图片描述

解决方法三:修改服务

打开”SQL Server 配置管理器”
这里写图片描述

–>选择”SQL Server 服务”–>右键单击“SQL Server (MSSQLSERVER)
即数据库服务–>属性
这里写图片描述
–>在“登录”选项卡下,选中“内置账户”–>“内置账户”改为“Local System”–>确定,等待服务重启即可
这里写图片描述

我使用的是win10,win7、win8等解决思路一样

错误总结

原因是操作系统拒绝访问错误(没有权限),修改内置账号户原理是
简单说明:

Local system :本地系统用户, 个人电脑通常选择这个用户 ,权限高,同时也存在危险

Network service :网络服务用户, 通常需要远程连接的都使用这个

Local Service :本地服务

LocalSystem 账户

LocalSystem是预设的拥有本机所有权限的本地账户,这个账户跟通常的用户账户没有任何关联,也没有用户名和密码之类的凭证。这个服务账户可以打开注册表的HKEY_LOCAL_MACHINE\Security键,当LocalSystem访问网络资源时,它是作为计算机的域账户使用的。

举例来说,以LocalSystem账户运行的服务主要有:WindowsUpdate Client、 Clipbook、Com+、DHCP Client、Messenger Service、Task Scheduler、Server Service、Workstation Service,还有Windows Installer。

Network Service 账户

Network Service账户是预设的拥有本机部分权限的本地账户,它能够以计算机的名义访问网络资源。但是他没有Local System 那么多的权限,以这个账户运行的服务会根据实际环境把访问凭据提交给远程的计算机。Network Service账户通常可以访问Network Service、Everyone组,还有认证用户有权限访问的资源。

举例来说,以Network Service账户运行的服务主要有:Distributed Transaction Coordinator、DNS Client、Performance Logs and Alerts,还有RPC Locator。

Local Service 账户

Local Service账户是预设的拥有最小权限的本地账户,并在网络凭证中具有匿名的身份。Local Service账户通常可以访问Local Service、Everyone组还有认证用户有权限访问的资源。

举例来说,以Local Service账户运行的服务主要有:Alerter、Remote Registry、Smart Card、SSDP,WebClient。

–安装数据库服务时选择内置账户–
这里写图片描述

这是上SQL白老师提的一个问题

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值