防止用户将DB设置为单个用户模式



我们需要应用程序(NextGen ERH(与SQL Server(2016年,本地(一起使用SYSADMIN角色。

我们的需求是防止该技术用户将DB设置为单个用户模式 - 我们注意到有时会发生这种情况,并希望防止将来的情况。

那么,问题是 - 我如何实现它?Revoke alter any database from username-没有帮助,用户仍然能够将DB设置为单个用户模式。

db用户是SQL Server本地的,而不是Windows身份验证。

如果要防止单个用户模式的整个数据库,则可以使用以下代码

exec sp_dboption 'your_database_name_goes_here', 'single user', 'FALSE'

SQL Server版本大于2005

ALTER DATABASE 'your_database_name_goes_here' SET MULTI_USER

如果您希望仅通过Sysadmin设置数据库,则可以使用以下代码

ALTER DATABASE 'your_database_name_goes_here'
SET RESTRICTED_USER WITH ROLLBACK IMMEDIATE

如果技术用户不属于sysadmin角色,则以上代码将阻止他将DB设置为单用户模式。

编辑

使用SSMS

将数据库设置为多用户模式
  • 在Object Explorer中,连接到SQL Server数据库的实例引擎,然后扩展该实例。
  • 右键单击要更改的数据库,然后单击属性。
  • 在"数据库属性"对话框中,单击"选项"页面。
  • 从限制访问选项中,选择多个。
  • 如果其他用户连接到数据库,将会出现打开的连接消息。要更改属性并关闭所有其他连接,请单击"是"。

相关内容

  • 没有找到相关文章

最新更新