CREATE APPLICATION ROLE (Transact-SQL)

适用于:yesSQL Server(所有支持的版本)YesAzure SQL 数据库

向当前数据库中添加应用程序角色。

Topic link iconTransact-SQL 语法约定

语法

  
CREATE APPLICATION ROLE application_role_name   
    WITH PASSWORD = 'password' [ , DEFAULT_SCHEMA = schema_name ]  

注意

若要查看 SQL Server 2014 及更早版本的 Transact-SQL 语法,请参阅早期版本文档

参数

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 的应用程序角色,该角色使用密码 987Gbv876sPYY5m23Sales 作为其默认架构。

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)