sp_addapprole (Transact-SQL)

S’applique à :SQL Server

Ajoute un rôle d'application à la base de données active.

Important

Cette fonctionnalité sera supprimée dans une version future de SQL Server. Évitez d'utiliser cette fonctionnalité dans de nouveaux travaux de développement, et prévoyez de modifier les applications qui utilisent actuellement cette fonctionnalité. Utilisez à la place CREATE APPLICATION ROLE .

Conventions de la syntaxe Transact-SQL

Syntaxe

sp_addapprole
    [ @rolename = ] N'rolename'
    , [ @password = ] N'password'
[ ; ]

Arguments

[ @rolename = ] N’rolename'

Nom du nouveau rôle d’application. @rolename est sysname, sans valeur par défaut. @rolename doit être un identificateur valide et ne peut pas déjà exister dans la base de données active.

Les rôles d'application peuvent contenir de 1 à 128 caractères, y compris les lettres, les symboles et les nombres. Les noms de rôles ne peuvent pas contenir de barre oblique inverse (\) ni avoir la valeur NULL ni une chaîne vide ('').

[ @password = ] N’password'

Mot de passe requis pour activer le rôle d’application. @password est sysname, sans valeur par défaut. @password ne peut pas être NULL.

Valeurs des codes de retour

0 (réussite) ou 1 (échec).

Notes

Dans les versions antérieures de SQL Server, les utilisateurs (et les rôles) ne sont pas entièrement distincts des schémas. À compter de SQL Server 2005 (9.x), les schémas sont entièrement distincts des rôles. Cette architecture est reflétée dans le comportement de CREATE APPLICATION ROLE. Cette instruction remplace sp_addapprole.

Pour maintenir la compatibilité descendante avec les versions antérieures de SQL Server, sp_addapprole effectuez les case activée suivantes :

  • Si un schéma portant le même nom que le rôle d’application n’existe pas encore, le schéma est créé. Le nouveau schéma appartient au rôle d’application et il s’agit du schéma par défaut du rôle d’application.

  • Si un schéma du même nom que le rôle d’application existe déjà, la procédure échoue.

  • sp_addapprolen’case activée pas la complexité du mot de passe. La complexité du mot de passe est case activée par CREATE APPLICATION ROLE.

Le paramètre @password est stocké en tant que hachage unidirectionnel.

La sp_addapprole procédure stockée ne peut pas être exécutée à partir d’une transaction définie par l’utilisateur.

Important

L’option Microsoft ODBC encrypt n’est pas prise en charge par SqlClient. Invitez si possible les utilisateurs à entrer les informations d'identification des rôles d'application au moment de l'exécution. Évitez de stocker ces informations dans un fichier. Si vous devez les conserver, chiffrez-les à l'aide des fonctions CryptoAPI.

Autorisations

Nécessite l'autorisation ALTER ANY APPLICATION ROLE sur la base de données. Si un schéma portant le même nom et le même propriétaire que le nouveau rôle n’existe pas encore, nécessite également l’autorisation CREATE SCHEMA sur la base de données.

Exemples

L’exemple suivant ajoute le nouveau rôle SalesApp d’application avec le mot de passe x97898jLJfcooFUYLKm387gf3 à la base de données active.

EXEC sp_addapprole 'SalesApp', 'x97898jLJfcooFUYLKm387gf3';
GO