【问题标题】:Windows authentication windows user rightsWindows 身份验证 windows 用户权限
【发布时间】:2017-05-05 08:31:07
【问题描述】:

当我们在 sql server management studio 中使用 windows 身份验证时。用于登录的用户帐户,帐户类型是否会影响用户授权。

我使用windows身份验证登录sql management studio,但是无法将sa密码和sql身份验证模式更改为sql和windows。我收到与权限相关的错误:

用于身份验证模式。

对象的 EXECUTE 权限被拒绝 “xp_instance_regwrite”,数据库“mssqlsystemresource”,架构 '系统'。`

为了更改密码

无法更改登录“sa”,因为它不存在或者您不存在 有权限。

下图显示了windows用户的权限。

下面是权限

【问题讨论】:

  • 我以管理员身份运行 sql management studio,但这也没有帮助。
  • 您登录时使用哪个用户?你能分享它的权限吗? (检查登录名和数据库用户)
  • 我已编辑问题以显示权限,SqlServer 是全新安装,只有系统数据库,在创建任何新数据库之前,我想将 sa 密码和身份验证模式更改为混合模式。
  • 显示你用来登录它的用户(你的windows用户)的权限会更相关。

标签: sql sql-server authentication


【解决方案1】:

这种类型的问题是GRANT Permission问题

// 授予用户直接访问该过程的权限

Grant Execute ON [sys].[xp_instance_regread] TO [DOMAIN\USER];

//to check and verify that  the user has the privilege granted to him

EXECUTE AS USER = ‘DOMAIN\USER’;Select * from fn_my_permissions(‘xp_instance_regread’,’Object’)

Go

或

USE DatabaseName;
SELECT * FROM fn_my_permissions (NULL, 'DATABASE');
GO

Reference

【讨论】:

  • 出现以下错误。“无法授予、拒绝或撤销对 sa、dbo、实体所有者、information_schema、sys 或您自己的权限。”
  • 如果登录是 db_owner 角色的成员(与 dbo 不同,即数据库的所有者),仍然可以拒绝访问某些对象。
  • 只有系统数据库。当我运行 SELECT * FROM fn_my_permissions (NULL, 'DATABASE');在主数据库上它返回空结果集。
【解决方案2】:

通过以下步骤解决问题..

1) 打开配置管理器

2) 在左侧点击 sql server 服务

3) 右侧选择Sql实例(即sql server(SQL EXPRESS))

4) 右键 -> 点击属性

5) 点击启动参数选项卡

6) 输入 -m 并点击添加

7) 从配置管理器重启服务

8) 打开管理工作室并使用 windows 身份验证登录现在您处于管理员角色。

9) 更改sa密码和认证方式。

10) 去掉启动参数选项卡中的 -m

11) 打开管理工作室并使用 sa 登录详细信息登录。

【讨论】:

  • 第 2 步之后,右侧没有列出任何内容。 (即使我确实运行了 SQL 服务器)。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-05-28
  • 1970-01-01
  • 2023-03-28
  • 1970-01-01
  • 2011-06-26
  • 2015-11-10
  • 1970-01-01
相关资源
最近更新 更多