Create an Application Role

APPLIES TO: yesSQL Server yesAzure SQL Database noAzure SQL Data Warehouse noParallel Data Warehouse

This topic describes how to create an application role in SQL Server 2017 by using SQL Server Management Studio or Transact-SQL. Application roles restrict user access to a database except through specific applications. Application roles have no users, so the Role Members list is not displayed when Application role is selected.

Important

Password complexity is checked when application role passwords are set. Applications that invoke application roles must store their passwords. Application role passwords should always be stored encrypted.

In This Topic

Before You Begin

Security

Permissions

Requires ALTER ANY APPLICATION ROLE permission on the database.

Using SQL Server Management Studio

To create an application role
  1. In Object Explorer, expand the database where you want to create an application role.

  2. Expand the Security folder.

  3. Expand the Roles folder.

  4. Right-click the Application Roles folder and select New Application Role....

  5. In the Application Role - New dialog box, on the General Page, enter the new name of the new application role in the Role name box.

  6. In the Default Schema box, specify the schema that will own objects created by this role by entering the object names. Alternately, click the ellipsis (...) to open the Locate Schema dialog box.

  7. In the Password box, enter a password for the new role. Enter that password again into the Confirm Password box.

  8. Under Schemas owned by this role, select or view schemas that will be owned by this role. A schema can be owned by only one schema or role.

  9. Click OK.

We are listening: If you find something outdated or incorrect in this article, such as a step or a code example, please tell us. You can click the This page button in the Feedback section at the bottom of this page. We read every item of feedback about SQL, typically the next day. Thanks.

Additional Options

The Application Role - New dialog box also offers options on two additional pages: Securables and Extended Properties.

  • The Securables page lists all possible securables and the permissions on those securables that can be granted to the login.

  • The Extended properties page allows you to add custom properties to database users.

Using Transact-SQL

To create an application role

  1. In Object Explorer, connect to an instance of Database Engine.

  2. On the Standard bar, click New Query.

  3. Copy and paste the following example into the query window and click Execute.

    -- Creates an application role called "weekly_receipts" that has the password "987Gbv876sPYY5m23" and "Sales" as its default schema.  
    
    CREATE APPLICATION ROLE weekly_receipts   
        WITH PASSWORD = '987G^bv876sPY)Y5m23'   
        , DEFAULT_SCHEMA = Sales;  
    GO  
    

For more information, see CREATE APPLICATION ROLE (Transact-SQL).