SQL Server 用户帐户所需的最低权限

SQL Server 用户帐户所需的最低权限

我有一个名为“sql server”的用户SchoolTeacher来访问我的应用程序。

PrimarySchool它对我的数据库具有以下权限

插入、更新、删除、执行、连接、选择

用户必须能够通过我的 c# 应用程序执行简单的 DB 操作(添加、搜索、更新、删除)

我已经测试了该应用程序,这些权限似乎足够了,但最好还是听取第二种意见。

这些权限是否足够或者我是否需要添加/减少一些?

答案1

如果您的用户需要执行某些 SP(存储过程),您需要授予他/她执行者角色。您可以按照以下方法操作;

USE [MyDatabaseName]
GO

/* CREATE A NEW ROLE */
CREATE ROLE db_executor;

/* GRANT EXECUTE TO THE ROLE */
GRANT EXECUTE TO db_executor;

然后您只需简单地将您的用户添加到db_executor角色即可。这将允许他/她从您的应用程序执行 SP。

但是您的标题似乎您需要给予用户尽可能低的权限,因此如果您不使用 SP,则可能不需要此操作。

另一方面,如果您依赖于其他数据库(例如您公司的主数据库名为 Contoso.Master),您也需要授予用户在这些数据库上执行某些操作的权限。

相关内容