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

S’applique à :Applies to: ouiSQL ServerSQL Server (toutes les versions prises en charge) yesSQL ServerSQL Server (all supported versions) OuiAzure SQL DatabaseAzure SQL DatabaseYesAzure SQL DatabaseAzure SQL Database OuiAzure SQL Managed InstanceAzure SQL Managed InstanceYesAzure SQL Managed InstanceAzure SQL Managed Instance ouiAzure Synapse AnalyticsAzure Synapse AnalyticsyesAzure Synapse AnalyticsAzure Synapse Analytics ouiParallel Data WarehouseParallel Data WarehouseyesParallel Data WarehouseParallel Data WarehouseS’applique à :Applies to: ouiSQL ServerSQL Server (toutes les versions prises en charge) yesSQL ServerSQL Server (all supported versions) OuiAzure SQL DatabaseAzure SQL DatabaseYesAzure SQL DatabaseAzure SQL Database OuiAzure SQL Managed InstanceAzure SQL Managed InstanceYesAzure SQL Managed InstanceAzure SQL Managed Instance ouiAzure Synapse AnalyticsAzure Synapse AnalyticsyesAzure Synapse AnalyticsAzure Synapse Analytics ouiParallel Data WarehouseParallel Data WarehouseyesParallel Data WarehouseParallel 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 du 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' ]

Notes

Pour afficher la syntaxe Transact-SQL pour SQL Server 2014 et versions antérieures, consultez Versions antérieures de la documentation.To view Transact-SQL syntax for SQL Server 2014 and earlier, see Previous versions documentation.

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é partagée, le nom de l’identité doit être SHARED ACCESS SIGNATURE.To import a file from Azure Blob storage using a shared key, the identity name must be SHARED ACCESS SIGNATURE. Pour charger des données dans Azure Synapse Analytics, n’importe quelle valeur valide peut être utilisée pour l’identité.To load data into Azure Synapse Analytics, 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). Lorsque vous utilisez Kerberos (Windows Active Directory ou MIT KDC), n’utilisez pas le nom de domaine dans l’argument IDENTITY.When using Kerberos (Windows Active Directory or MIT KDC) do not use the domain name in the IDENTITY arguement. Il doit s’agir simplement du nom du compte.It should just be the account name.

Important

Les connecteurs ODBC SQL, Oracle, Teradata et MongoDB pour Polybase prennent uniquement en charge l’authentification de base (l’authentification Kerberos n’est pas prise en charge).The SQL, Oracle, Teradata, and MongoDB ODBC Connectors for PolyBase only support basic authentication, not Kerberos authentication.

Notes

WITH IDENTITY n’est pas requis si le conteneur dans le stockage Blob Azure est activé pour l’accès anonyme.WITH IDENTITY is not required if the container in Azure Blob storage is enabled for anonymous access. Pour obtenir un exemple d’interrogation du stockage Blob Azure, consultez Importation dans une table à partir d’un fichier stocké dans le stockage Blob Azure.For an example querying Azure Blob storage, see Importing into a table from a file stored on Azure Blob storage.

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 Azure Synapse Analytics ou Parallel Data Warehouse, le secret doit être la clé de stockage Azure.To load from Azure Blob storage into Azure Synapse Analytics 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).

  • Azure Synapse AnalyticsAzure Synapse Analytics 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

R.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 Azure Synapse Analytics.Shared Access Signatures cannot be used with PolyBase in SQL Server, APS or Azure Synapse Analytics.

-- 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 Synapse AnalyticsAzure Synapse Analytics.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 Synapse AnalyticsAzure Synapse Analytics.

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