语句许可允许一个用户,或者组一些特别的许可来执行一些特殊的命令,比如创建数据库或者对象。比如,开发者通常在开发数据库的时候授予CREATE TABLE, CREATE VIEW, and CREATE FUNCTION。
限制这些语句许可是非常有必要的,因为一个对象的开发者变成了默认的系主并且能导致想冲突的许可形势,这些情况的发生都应该归结于所有权的权限。
你可以个别的给语句授予权利或者在一个单独的时候授予一些权利。当一个组使用所有的参数的时候,你可以预先设定,删除或者拒绝语句权限的数量。
当使用所有的参数的时候,仅仅只有sysadmin可以授予语句权利。所有的参数包括CREATE DATABASE, CREATE DEFAULT, CREATE FUNCTION, CREATE PROCEDURE, CREATE RULE, CREATE TABLE, CREATE VIEW, BACKUP DATABASE, 和BACKUPLOG.
下面是授权许可的语法:
GRANT {ALL | statement}
TO security_account
在下面的例子中,sysadmin授权所有的SQL Server开发者权利到整个命令列表。
GRANT ALL
TO Developers
当给一个Windows NT或者劝阻授予语句许可的时候,列出整个计算机或者域名。在下面的例子中,我们授予Mary和John权限:
GRANT CREATE DATABASE
TO Mary, John [CorporateBobJ]
同时,你可以取消和拒绝许可语句。这个语法和GRANT语句差不多。
在这个例子中,我们将回取消所有先前授予的SQL Server开发者角色:
REVOKE ALL
TO Developers
在这个例子中,我们将拒绝早先授予Mary的CREATE DATABASE 语句:
DENY CREATE DATABASE
TO Mary