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

我有一个名为SchoolTeachersql server用户访问我的应用程序。

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

INSERT,UPDATE,DELETE,EXECUTE,CONNECT,SELECT

用户必须能够通过我的c#应用程序(ADD,SEARCH,UPDATE,DELETE)执行简单的数据库操作

我已经testing了这个应用程序,这些权限似乎够用了,还是有第二个意见。

这些权限是否足够或者我需要添加/减less更多?

如果你的用户需要执行一些SP(存储过程),你需要给他/她的执行者angular色。 在这里,你如何做到这一点;

 USE [MyDatabaseName] GO /* CREATE A NEW ROLE */ CREATE ROLE db_executor; /* GRANT EXECUTE TO THE ROLE */ GRANT EXECUTE TO db_executor; 

那么你需要简单地将你的用户添加到db_executorangular色。 这将允许他/她从您的应用程序执行SP。

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

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