MSSQL 执行遭遇系统错误5:手把手帮忙解决

1. MSSQL 执行遭遇系统错误5

在MSSQL的运行中,可能会执行出现系统错误5的问题,这种情况表示访问被拒绝。排查这个问题,一般要从以下几个方面入手:

1.1 确认运行账户

首先要确认正在运行的MSSQL服务的账户是什么。可以通过以下步骤来查看服务的运行账户:

select servicename, serviceaccount from sys.dm_server_services

如果确认正是运行账户的权限不足导致了访问被拒绝,可以尝试将该账户在MSDN上授予相应的权限。

1.2 确认访问路径的权限

其次要确认是否有访问路径的权限。通常情况下,MSSQL在执行时可能需要访问某个文件或路径,如果没有相应的权限,也会导致系统错误5。可以通过以下步骤来确认访问路径的权限:

EXEC xp_fileexist '文件路径'

如果返回结果为0,则表示没有访问权限;如果返回结果为1,则表示有访问权限。

1.3 确认服务安全储存区的权限

最后要确认服务安全储存区的权限。MSSQL在执行时可能需要访问某些系统级对象,如果没有相应的权限,也会导致系统错误5。可以通过以下步骤来确认服务安全储存区的权限:

use master

grant view server state to '账户名'

go

这个命令将账户添加进了服务器的固定数据库角色view server state中,赋予了其查看服务器状态的权限。

2. 手把手帮忙解决

基于以上三个方向,我们可以尝试逐一解决MSSQL执行时系统错误5的问题。下面是具体的解决方法:

2.1 解决运行账户的权限不足问题

如果运行账户的权限不足,可以参考以下步骤解决:

(1)登录MSDN

(2)点击左上角的“管理”菜单,选择“SQL Server”

(3)点击“安全->登录名”,找到运行账户名

(4)右键点击该账户,选择“属性”

(5)在“用户映射”中,选择需要授予权限的数据库,勾选相关权限,确定即可。

2.2 解决访问路径的权限问题

如果访问路径的权限不足,可以参考以下步骤解决:

(1)打开“资源管理器”,找到想要授权的文件夹

(2)右键点击该文件夹,选择“属性”

(3)进入“安全”选项卡,点击“编辑”

(4)在“所有者”中选择合适的账户,点击“替换所有者”

(5)在“组或用户名称”中添加授权的账户名,并分配相应的权限

2.3 解决服务安全储存区的权限问题

如果服务安全储存区的权限不足,可以参考以下步骤解决:

(1)在MSSQL服务所在的机器上以管理员身份登录

(2)打开“SQL Server Management Studio”

(3)选择“master”数据库

(4)在“master”数据库上右键点击,选择“新建查询”

(5)在查询窗口中,输入以下命令并执行:

grant view server state to '账户名'

go

其中,“账户名”就是想要赋予权限的账户名。

3. 总结

通过以上的操作,我们就可以成功解决MSSQL执行时遇到系统错误5的问题。不过,如果我们不对MSSQL的启动参数进行更改的话,这个问题还是可能会出现。因此,为了减少这个问题的出现,我们应该在启动MSSQL时将参数加上。具体操作可以参考:

sqlservr.exe -c -f -T4022

这样就可以排除大部分系统错误5的问题。

免责声明:本文来自互联网,本站所有信息(包括但不限于文字、视频、音频、数据及图表),不保证该信息的准确性、真实性、完整性、有效性、及时性、原创性等,版权归属于原作者,如无意侵犯媒体或个人知识产权,请来电或致函告之,本站将在第一时间处理。猿码集站发布此文目的在于促进信息交流,此文观点与本站立场无关,不承担任何责任。

数据库标签