CREATE APPLICATION ROLE (Transact-SQL)

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

适用范围:SQL Server(SQL Server 2008 到当前版本)。

主题链接图标 Transact-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)

概念

应用程序角色

密码策略