CREATE DATABASE SCOPED CREDENTIAL (Transact-SQL)CREATE DATABASE SCOPED CREDENTIAL (Transact-SQL)

S’APPLIQUE À : ouiSQL Server ouiAzure SQL Database ouiAzure Synapse Analytics (SQL DW) ouiParallel Data Warehouse APPLIES TO: yesSQL Server yesAzure SQL Database yesAzure Synapse Analytics (SQL DW) yesParallel Data Warehouse

Crée les informations d’identification d’une base de données.Creates a database credential. Les informations d’identification d’une base de données ne sont pas mappées à un compte de connexion de serveur ou à un utilisateur de la base de données.A database credential is not mapped to a server login or database user. Les informations d’identification sont utilisées par la base de données pour accéder à l’emplacement externe chaque fois que la base de données effectue une opération nécessitant un accès.The credential is used by the database to access to the external location anytime the database is performing an operation that requires access.

Icône Lien de rubrique Conventions de la syntaxe Transact-SQLTopic link icon Transact-SQL Syntax Conventions

SyntaxeSyntax

CREATE DATABASE SCOPED CREDENTIAL credential_name
WITH IDENTITY = 'identity_name'
    [ , SECRET = 'secret' ]

ArgumentsArguments

credential_name : Spécifie le nom des informations d’identification délimitées à la base de données à créer.credential_name Specifies the name of the database scoped credential being created. credential_name ne peut pas commencer par le signe dièse (#).credential_name cannot start with the number (#) sign. Les informations d'identification système commencent avec ##.System credentials start with ##.

IDENTITY =’ identity_name  : Spécifie le nom du compte à utiliser lors d’une connexion en dehors du serveur.IDENTITY ='identity_name' Specifies the name of the account to be used when connecting outside the server. Pour importer un fichier à partir du stockage Blob Azure avec une clé de partage, le nom de l’identité doit être SHARED ACCESS SIGNATURE.To import a file from Azure Blob storage using share key, the identity name must be SHARED ACCESS SIGNATURE. Pour charger des données dans SQL DW, n’importe quelle valeur valide peut être utilisée pour l’identité.To load data into SQL DW, any valid value can be used for identity. Pour plus d’informations sur les signatures d’accès partagé, consultez Utilisation des signatures d’accès partagé (SAP).For more information about shared access signatures, see Using Shared Access Signatures (SAS).

SECRET =’ secret  : Spécifie le secret nécessaire pour l’authentification sortante.SECRET ='secret' Specifies the secret required for outgoing authentication. SECRET est obligatoire pour importer un fichier à partir du stockage Blob Azure.SECRET is required to import a file from Azure Blob storage. Pour effectuer le chargement du Stockage Blob Azure vers SQL DW ou Parallel Data Warehouse, le secret doit être la clé de stockage Azure.To load from Azure Blob storage into SQL DW or Parallel Data Warehouse, the Secret must be the Azure Storage Key.

Avertissement

La valeur de clé SAP peut commencer par un point d’interrogation (« ? »).The SAS key value might begin with a '?' (question mark). Quand vous utilisez la clé SAP, vous devez supprimer le caractère « ? » initial.When you use the SAS key, you must remove the leading '?'. Sinon, vos efforts risquent d’être vains.Otherwise your efforts might be blocked.

NotesRemarks

Les informations d’identification délimitées à la base de données sont un enregistrement qui contient les informations d’authentification exigées pour la connexion à une ressource en dehors de SQL ServerSQL Server.A database scoped credential is a record that contains the authentication information that is required to connect to a resource outside SQL ServerSQL Server. La plupart des informations d'identification incluent un utilisateur et un mot de passe Windows.Most credentials include a Windows user and password.

Avant de créer des informations d’identification délimitées à la base de données, la base de données doit avoir une clé principale pour protéger les informations d’identification.Before creating a database scoped credential, the database must have a master key to protect the credential. Pour plus d’informations, consultez CREATE MASTER KEY (Transact-SQL).For more information, see CREATE MASTER KEY (Transact-SQL).

Lorsque IDENTITY correspond à un utilisateur Windows, le secret peut être le mot de passe.When IDENTITY is a Windows user, the secret can be the password. Le secret est chiffré à l'aide de la clé principale de service.The secret is encrypted using the service master key. Si la clé principale de service est régénérée, le secret est chiffré de nouveau au moyen de la nouvelle clé principale de service.If the service master key is regenerated, the secret is re-encrypted using the new service master key.

Des détails sur les informations d’identification délimitées à la base de données sont consultables dans la vue de catalogue sys.database_scoped_credentials.Information about database scoped credentials is visible in the sys.database_scoped_credentials catalog view.

Voici certaines applications d’informations d’identification délimitées à la base de données :Here are some applications of database scoped credentials:

  • SQL ServerSQL Server utilise les informations d’identification délimitées à la base de données pour accéder au stockage Blob Azure non public ou à des clusters Hadoop sécurisés par Kerberos avec PolyBase.uses a database scoped credential to access non-public Azure blob storage or Kerberos-secured Hadoop clusters with PolyBase. Pour en savoir plus, consultez CREATE EXTERNAL DATA SOURCE (Transact-SQL).To learn more, see CREATE EXTERNAL DATA SOURCE (Transact-SQL).

  • SQL Data WarehouseSQL Data Warehouse utilise les informations d’identification délimitées à la base de données pour accéder au stockage Blob Azure non public avec PolyBase.uses a database scoped credential to access non-public Azure blob storage with PolyBase. Pour en savoir plus, consultez CREATE EXTERNAL DATA SOURCE (Transact-SQL).To learn more, see CREATE EXTERNAL DATA SOURCE (Transact-SQL).

  • SQL DatabaseSQL Database utilise les informations d’identification délimitées à la base de données pour sa fonctionnalité de requête globale.uses database scoped credentials for its global query feature. Il s’agit de la possibilité d’effectuer des requêtes sur plusieurs partitionnements de base de données.This is the ability to query across multiple database shards.

  • SQL DatabaseSQL Database utilise les informations d’identification délimitées à la base de données pour écrire des fichiers d’événements étendus dans le stockage Blob Azure.uses database scoped credentials to write extended event files to Azure blob storage.

  • SQL DatabaseSQL Database utilise les informations d’identification délimitées à la base de données pour les pools élastiques.uses database scoped credentials for elastic pools. Pour plus d’informations, consultez la rubrique expliquant comment maîtriser la croissance spectaculaire des bases de données élastiques.For more information, see Tame explosive growth with elastic databases

  • BULK INSERT et OPENROWSET utilisent les informations d’identification délimitées à la base de données pour accéder aux données à partir du stockage Blob Azure.BULK INSERT and OPENROWSET use database scoped credentials to access data from Azure blob storage. Pour plus d’informations, consultez Exemples d’accès en bloc à des données dans Stockage Blob Azure.For more information, see Examples of Bulk Access to Data in Azure Blob Storage.

AutorisationsPermissions

Exige l’autorisation CONTROL sur la base de données.Requires CONTROL permission on the database.

ExemplesExamples

A.A. Création d’informations d’identification délimitées à la base de données pour votre applicationCreating a database scoped credential for your application

L’exemple suivant crée des informations d’identification délimitées à la base de données nommées AppCred.The following example creates the database scoped credential called AppCred. Les informations d’identification délimitées à la base de données contiennent l’utilisateur Windows Mary5 et un mot de passe.The database scoped credential contains the Windows user Mary5 and a password.

-- Create a db master key if one does not already exist, using your own password.
CREATE MASTER KEY ENCRYPTION BY PASSWORD='<EnterStrongPasswordHere>';

-- Create a database scoped credential.
CREATE DATABASE SCOPED CREDENTIAL AppCred WITH IDENTITY = 'Mary5',
    SECRET = '<EnterStrongPasswordHere>';

B.B. Création d’informations d’identification délimitées à la base de données pour une signature d’accès partagéCreating a database scoped credential for a shared access signature

L’exemple suivant crée des informations d’identification délimitées à la base de données qui peuvent être utilisées pour créer une source de données externe, qui peut effectuer des opérations en bloc, telles que BULK INSERT et OPENROWSET.The following example creates a database scoped credential that can be used to create an external data source, which can do bulk operations, such as BULK INSERT and OPENROWSET. Les signatures d’accès partagé ne peuvent pas être utilisées avec PolyBase dans SQL Server, APS ou SQL DW.Shared Access Signatures cannot be used with PolyBase in SQL Server, APS or SQL DW.

-- Create a db master key if one does not already exist, using your own password.
CREATE MASTER KEY ENCRYPTION BY PASSWORD='<EnterStrongPasswordHere>';

-- Create a database scoped credential.CREATE DATABASE SCOPED CREDENTIAL MyCredentials
WITH IDENTITY = 'SHARED ACCESS SIGNATURE',
SECRET = 'QLYMgmSXMklt%2FI1U6DcVrQixnlU5Sgbtk1qDRakUBGs%3D';

C.C. Création d’informations d’identification délimitées à la base de données pour la connectivité de PolyBase à Azure Data Lake StoreCreating a database scoped credential for PolyBase Connectivity to Azure Data Lake Store

L’exemple suivant crée des informations d’identification délimitées à la base de données qui peuvent être utilisées pour créer une source de données externe, qui peut être utilisée par PolyBase dans Azure SQL Data Warehouse.The following example creates a database scoped credential that can be used to create an external data source, which can be used by PolyBase in Azure SQL Data Warehouse.

Azure Data Lake Store utilise une application Azure Active Directory pour l’authentification entre services.Azure Data Lake Store uses an Azure Active Directory Application for Service to Service Authentication. Créez une application AAD et documentez vos paramètres client_id, OAuth_2.0_Token_EndPoint et Key avant d’essayer de créer des informations d’identification délimitées à la base de données.Please create an AAD application and document your client_id, OAuth_2.0_Token_EndPoint, and Key before you try to create a database scoped credential.

-- Create a db master key if one does not already exist, using your own password.
CREATE MASTER KEY ENCRYPTION BY PASSWORD='<EnterStrongPasswordHere>';

-- Create a database scoped credential.
CREATE DATABASE SCOPED CREDENTIAL ADL_User
WITH
    IDENTITY = '<client_id>@\<OAuth_2.0_Token_EndPoint>',
    SECRET = '<key>'
;

Informations complémentairesMore information