CREATE APPLICATION ROLE (Transact-SQL)
适用于: SQL Server Azure SQL 数据库 Azure SQL 托管实例
向当前数据库中添加应用程序角色。
语法
CREATE APPLICATION ROLE application_role_name
WITH PASSWORD = 'password' [ , DEFAULT_SCHEMA = schema_name ]
参数
application_role_name
指定应用程序角色的名称。 该名称一定不能被用于引用数据库中任何主体。
PASSWORD ='password'
指定数据库用户将用于激活应用程序角色的密码。 应始终使用强密码。 password 必须符合运行 SQL Server 实例的计算机的 Windows 密码策略要求。
DEFAULT_SCHEMA =schema_name
指定服务器在解析该角色的对象名时将搜索的第一个架构。 如果未定义 DEFAULT_SCHEMA,则应用程序角色将使用 DBO 作为其默认架构。 schema_name 可以是数据库中不存在的架构。
备注
重要
当设置应用程序角色密码时,将检查密码复杂性。 调用应用程序角色的应用程序必须存储其密码。 而且应当始终以加密的形式存储应用程序角色密码。
在 sys.database_principals 目录视图中可以查看应用程序角色。
有关如何使用应用程序角色的信息,请参阅应用程序角色。
注意
从 SQL Server 2005 开始,架构的行为发生了更改。 因此,假设架构与数据库用户等价的代码不再返回正确的结果。 包含 sysobjects 的旧目录视图不应在曾经使用任何下列 DDL 语句的数据库中使用:CREATE SCHEMA、ALTER SCHEMA、DROP SCHEMA、CREATE USER、ALTER USER、DROP USER、CREATE ROLE、ALTER ROLE、DROP ROLE、CREATE APPROLE、ALTER APPROLE、DROP APPROLE、ALTER AUTHORIZATION。 在这类数据库中,必须改用新目录视图。 新的目录视图将采用在 SQL Server 2005 中引入的使主体和架构分离的方法。 有关目录视图的详细信息,请参阅目录视图 (Transact-SQL)。
权限
需要对数据库具有 ALTER ANY APPLICATION ROLE 权限。
示例
以下示例创建名为 weekly_receipts
的应用程序角色,该角色使用密码 987Gbv876sPYY5m23
和 Sales
作为其默认架构。
CREATE APPLICATION ROLE weekly_receipts
WITH PASSWORD = '987G^bv876sPY)Y5m23'
, DEFAULT_SCHEMA = Sales;
GO
另请参阅
应用程序角色
sp_setapprole (Transact-SQL)
ALTER APPLICATION ROLE (Transact-SQL)
DROP APPLICATION ROLE (Transact-SQL)
密码策略
EVENTDATA (Transact-SQL)