SQL SERVER的初级安全设置-针对SQL INJECTION
· SELECT 和 UPDATE 语句权限,它们可以有选择性地应用到表或视图中的单个列上。 · SELECT 权限,它们可以应用到用户定义函数。 · INSERT 和 DELETE 语句权限,它们会影响整行,因此只可以应用到表或视图中,而不能应用到单个列上。 · EXECUTE 语句权限,它们可以影响存储过程和函数。
语句权限 创建数据库或数据库中的项(如表或存储过程)所涉及的活动要求另一类称为语句权限的权限。例如,如果用户必须能够在数据库中创建表,则应该向该用户授予 CREATE TABLE 语句权限。语句权限(如 CREATE DATABASE)适用于语句自身,而不适用于数据库中定义的特定对象。 语句权限有: · BACKUP DATABASE · BACKUP LOG · CREATE DATABASE · CREATE DEFAULT · CREATE FUNCTION · CREATE PROCEDURE · CREATE RULE · CREATE TABLE · CREATE VIEW
暗示性权限 暗示性权限控制那些只能由预定义系统角色的成员或数据库对象所有者执行的活动。例如,sysadmin 固定服务器角色成员自动继承在 SQL Server 安装中进行操作或查看的全部权限。 数据库对象所有者还有暗示性权限,可以对所拥有的对象执行一切活动。例如,拥有表的用户可以查看、添加或删除数据,更改表定义,或控制允许其他用户对表进行操作的权限。
db_owner 在数据库中有全部权限。 db_accessadmin 可以添加或删除用户 ID。 db_securityadmin 可以管理全部权限、对象所有权、角色和角色成员资格。 db_ddladmin 可以发出 ALL DDL,但不能发出 GRANT、REVOKE 或 DENY 语句。 db_backupoperator 可以发出 DBCC、CHECKPOINT 和 BACKUP 语句。 db_datareader 可以选择数据库内任何用户表中的所有数据。 db_datawriter 可以更改数据库内任何用户表中的所有数据。 db_denydatareader 不能选择数据库内任何用户表中的任何数据。 db_denydatawriter 不能更改数据库内任何用户表中的任何数据。 |