Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Aplica-se a:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Sistema de Plataforma de Análise (PDW)
Banco de dados SQL no Microsoft Fabric
Cria uma credencial de banco de dados. Uma credencial de banco de dados não é mapeada para um login de servidor ou usuário de banco de dados. O banco de dados usa a credencial para acessar o recurso externo quando realiza uma operação que requer acesso.
Convenções de sintaxe de Transact-SQL
Syntax
CREATE DATABASE SCOPED CREDENTIAL credential_name
WITH IDENTITY = 'identity_name'
[ , SECRET = 'secret' ]
[ ; ]
Arguments
credential_name
Especifica o nome da credencial no escopo do banco de dados que está sendo criada.
credential_name não pode começar com o sinal de número (#). As credenciais do sistema começam com ##. O comprimento máximo de credential_name é de 128 caracteres.
IDENTIDADE = 'identity_name'
Especifica o nome da conta a usar ao se conectar fora do servidor.
Para importar um arquivo do Armazenamento de Blobs do Azure ou do Azure Data Lake Storage usando uma chave compartilhada, o nome da identidade deve ser
SHARED ACCESS SIGNATURE. Para mais informações sobre assinaturas de acesso compartilhado, consulte Usando SAS (Assinatura de Acesso Compartilhado). Somente useIDENTITY = SHARED ACCESS SIGNATUREcom uma assinatura de acesso compartilhado.Para importar um arquivo do Armazenamento de Blobs do Azure usando uma identidade gerenciada, o nome de identidade deve ser
MANAGED IDENTITY.Ao usar Kerberos (Windows Active Directory ou MIT KDC), não use o nome de domínio na
IDENTITYdiscussão. Ele deve ser apenas o nome da conta.Em uma instância de SQL Server, se você criar uma credencial com escopo de banco de dados usando uma Chave de Acesso ao Armazenamento usada como ,
SECRETIDENTITYé ignorado.WITH IDENTITYnão é necessário se o contêiner no armazenamento do Azure Blob estiver habilitado para acesso anônimo. Para obter um exemplo de consulta ao ArmazenamentoOPENROWSET BULKde Blobs do Azure, consulte Importar para uma tabela de um arquivo armazenado no Armazenamento de Blobs do Azure.No SQL Server 2022 (16.x) e versões posteriores, o conector REST-API substitui HADOOP. Para o Armazenamento de Blobs do Azure e o Azure Data Lake Gen 2, o único método de autenticação com suporte é a assinatura de acesso compartilhado. Para obter mais informações, consulte CREATE EXTERNAL DATA SOURCE.
No SQL Server 2019 (15.x), a única fonte de dados externa do PolyBase que dá suporte à autenticação Kerberos é o Hadoop. Todas as outras fontes de dados externas (SQL Server, Oracle, Teradata, MongoDB, ODBC genérico) dão suporte apenas à autenticação básica.
Pools SQL no Azure Synapse Analytics incluem as seguintes notas:
- Para carregar dados no Azure Synapse Analytics, você pode usar qualquer valor válido para
IDENTITY. - Em um pool de SQL sem servidor do Azure Synapse Analytics, as credenciais no escopo do banco de dados podem especificar uma identidade gerenciada do workspace, o nome da entidade de serviço ou o token SAS (assinatura de acesso compartilhado). O acesso via uma identidade de usuário, habilitado por login do usuário com autenticação pass-through do Microsoft Entra, também é possível com credencial com escopo de banco de dados, assim como o acesso anônimo ao armazenamento público. Para obter mais informações, confira Tipos de autorização de armazenamento com suporte.
- Em um pool de SQL dedicado do Azure Synapse Analytics, as credenciais no escopo do banco de dados podem especificar o token SAS (assinatura de acesso compartilhado), a identidade do aplicativo personalizado, a identidade gerenciada do workspace ou a chave de acesso de armazenamento.
- Para carregar dados no Azure Synapse Analytics, você pode usar qualquer valor válido para
| Authentication | T-SQL | Supported | Notes |
|---|---|---|---|
| SAS (Assinatura de Acesso Compartilhado) | CREATE DATABASE SCOPED CREDENTIAL <credential_name> WITH IDENTITY = 'SHARED ACCESS SIGNATURE', SECRET = 'secret'; |
SQL Server 2022 e posterior, Instância Gerenciada de SQL do Azure, Azure Synapse Analytics, Banco de Dados SQL do Azure | |
| Identidade Gerenciada | CREATE DATABASE SCOPED CREDENTIAL <credential_name> WITH IDENTITY = 'MANAGED IDENTITY'; |
Banco de Dados SQL do Azure, Instância Gerenciada de SQL do Azure, SQL Server 2025 com Azure Arc | Para habilitar o Azure Arc, veja Identidade gerenciada para SQL Server habilitada pelo Azure Arc |
| Autenticação de passagem do Microsoft Entra por meio da Identidade do Usuário | CREATE DATABASE SCOPED CREDENTIAL <credential_name> WITH IDENTITY = 'USER IDENTITY'; |
|
No Azure Synapse, veja login do usuário com autenticação pass-through do Microsoft Entra |
| Autenticação básica da chave de acesso S3 | CREATE DATABASE SCOPED CREDENTIAL <credential_name> WITH IDENTITY = 'S3 ACCESS KEY', SECRET = '<accesskey>:<secretkey>'; |
SQL Server 2022 e versões posteriores | |
| Fontes de dados ODBC ou Kerberos (MIT KDC) |
CREATE DATABASE SCOPED CREDENTIAL <credential_name> WITH IDENTITY = '<identity_name>', SECRET = '<secret>'; |
SQL Server 2019 e versões posteriores |
1 No banco de dados SQL do Microsoft Fabric, se você não especificar uma credencial com escopo de banco de dados, o método de autenticação é 'USER IDENTITY' por padrão e usa a conta de usuário do Microsoft Entra ID como contexto.
SEGREDO = 'segredo'
Especifica o segredo necessário para a autenticação de saída.
SECRET é necessário para importar um arquivo de armazenamento de Blobs do Azure. Para fazer o carregamento do Armazenamento de Blobs do Azure para o Azure Synapse Analytics ou o Parallel Data Warehouse, o Segredo deve ser a Chave de Armazenamento do Azure.
Warning
O valor da chave SAS pode começar com um ponto de interrogação (?). Ao usar a chave SAS, remova a parte principal ?.
Remarks
Uma credencial no escopo do banco de dados é um registro que contém as informações de autenticação necessárias para conectar-se a um recurso fora do SQL Server. A maioria das credenciais inclui um usuário e uma senha do Windows.
Para proteger as informações confidenciais dentro da credencial no escopo do banco de dados, é necessária uma chave mestra de banco de dados (DMK). A DMK é uma chave simétrica que criptografa o segredo na credencial no escopo do banco de dados. O banco de dados deve ter um DMK antes que você possa criar qualquer credencial com escopo de banco de dados. Criptografe o DMK com uma senha forte. O Azure SQL Database cria um DMK com uma senha forte e selecionada aleatoriamente como parte da criação da credencial com escopo do banco de dados, ou como parte da criação de uma auditoria de servidor.
Os usuários não podem criar a DMK em um banco de dados lógico master . A senha DMK é desconhecida pela Microsoft e não pode ser descoberta após a criação. Crie um DMK antes de criar uma credencial com escopo no banco de dados. Para obter mais informações, confira CREATE MASTER KEY.
Quando IDENTITY é um usuário Windows, o segredo pode ser a senha. O segredo é criptografado com a chave mestra de serviço (SMK). Se você regenerar o SMK, o segredo é recriptografado com o novo SMK.
Ao conceder permissões para uma assinatura de acesso compartilhado (SAS) para uso com uma tabela externa do PolyBase, selecione tanto Container quanto Object como tipos de recursos permitidos. Se você não conceder essas permissões, pode receber o erro 16535 ou 16561 ao tentar acessar a tabela externa.
Para informações sobre credenciais com escopo de banco de dados, veja a visualização de catálogo sys.database_scoped_credentials .
Estas são algumas aplicações das credenciais no escopo do banco de dados:
O SQL Server usa uma credencial no escopo do banco de dados para acessar o Armazenamento de Blobs do Azure não público ou clusters Hadoop protegidos por Kerberos com PolyBase. Para obter mais informações, consulte CREATE EXTERNAL DATA SOURCE.
O Azure Synapse Analytics usa uma credencial no escopo do banco de dados para acessar o Armazenamento de Blobs do Azure não público com PolyBase. Para obter mais informações, consulte CREATE EXTERNAL DATA SOURCE. Para obter mais informações sobre a autenticação de armazenamento do Azure Synapse, confira Usar tabelas externas com o SQL do Synapse.
O SQL Database utiliza credenciais com escopo de banco de dados para seu recurso de consulta elástica , que permite consultas entre múltiplos fragmentos de banco de dados.
O Banco de Dados SQL usa credenciais no escopo do banco de dados para gravar arquivos de evento estendidos para o Armazenamento de Blobs do Azure.
O Banco de Dados SQL usa as credenciais no escopo do banco de dados para pools elásticos. Para mais informações, veja Elastic pools ajudam você a gerenciar e escalar múltiplos bancos de dados no Azure SQL Database
BULK INSERT e OPENROWSET usam credenciais com escopo de banco de dados para acessar dados do Azure Blob Storage. Para mais informações, veja Exemplos de acesso em massa a dados no Azure Blob Storage.
Use credenciais no escopo do banco de dados com os recursos de virtualização de dados do PolyBase e da Instância Gerenciada de SQL do Azure.
Para
BACKUP TO URLeRESTORE FROM URL, use uma credencial em nível de servidor via CREATE CREDENTIAL em vez disso.Use credenciais com escopo de banco de dados com CRIAR MODELO EXTERNO
Permissions
Requer permissão CONTROL no banco de dados.
Examples
A. Criar uma credencial com escopo de banco de dados para seu aplicativo
O exemplo a seguir cria a credencial no escopo do banco de dados chamada AppCred. A credencial no escopo do banco de dados contém o usuário do Windows Mary5 e uma senha.
Crie um DMK se ainda não existir. Não use uma senha em branco. Use uma senha forte.
CREATE MASTER KEY ENCRYPTION BY PASSWORD = '<password>';
Crie uma credencial com escopo de banco de dados:
CREATE DATABASE SCOPED CREDENTIAL AppCred
WITH IDENTITY = 'Mary5',
SECRET = '<password>';
B. Criar uma credencial com escopo de banco de dados para uma assinatura de acesso compartilhado
O exemplo a seguir cria uma credencial com escopo de banco de dados que você pode usar para criar uma fonte de dados externa. Essa credencial pode realizar operações em massa, como BULK INSERT e OPENROWSET BULK.
Crie um DMK se ainda não existir. Não use uma senha em branco. Use uma senha forte.
CREATE MASTER KEY ENCRYPTION BY PASSWORD = '<password>';
Crie uma credencial com escopo de banco de dados. Substitua <key> pelo valor apropriado.
CREATE DATABASE SCOPED CREDENTIAL MyCredentials
WITH IDENTITY = 'SHARED ACCESS SIGNATURE',
SECRET = '<key>';
C. Criar uma credencial com escopo de banco de dados para a conectividade do PolyBase com o Azure Data Lake Store
O exemplo a seguir cria uma credencial no escopo do banco de dados que pode ser usada para criar uma fonte de dados externa, que pode ser usada pelo PolyBase no Azure Synapse Analytics.
O Azure Data Lake Store utiliza uma aplicação Microsoft Entra para autenticação service-to-service.
Crie um aplicativo do Microsoft Entra e documente seu client_id, OAuth_2.0_Token_EndPoint e Key antes de tentar criar uma credencial no escopo do banco de dados.
Crie um DMK se ainda não existir. Não use uma senha em branco. Use uma senha forte.
CREATE MASTER KEY ENCRYPTION BY PASSWORD = '<password>';
Crie uma credencial com escopo de banco de dados. Substitua <key> pelo valor apropriado.
CREATE DATABASE SCOPED CREDENTIAL ADL_User
WITH IDENTITY = '<client_id>@<OAuth_2.0_Token_EndPoint>',
SECRET = '<key>';
D. Criar uma credencial com escopo de banco de dados usando a Identidade Gerenciada
Aplica-se a: SQL Server 2025 (17.x) e versões posteriores
O SQL Server 2025 (17.x) apresenta suporte para identidades gerenciadas do Microsoft Entra. Para informações sobre como usar uma identidade gerenciada com o SQL Server habilitado pelo Azure Arc, veja Identidade gerenciada para SQL Server habilitada pelo Azure Arc.
EXECUTE sp_configure 'allow server scoped db credentials', 1;
RECONFIGURE;
GO
CREATE DATABASE SCOPED CREDENTIAL [managed_id]
WITH IDENTITY = 'Managed Identity';
E. Crie uma credencial com escopo de banco de dados usando o Microsoft Entra ID
Aplica-se a: Azure SQL Database, banco de dados SQL no Microsoft Fabric
No Azure SQL Database e no banco de dados SQL no Microsoft Fabric, você pode usar sua própria conta Microsoft Entra ID para autenticar uma fonte de dados externa.
No banco de dados SQL no Microsoft Fabric, se você não especificar uma credencial com escopo de banco de dados, o método de autenticação é USER IDENTITY padrão e usa a conta de usuário do ID do Entra como contexto.
CREATE DATABASE SCOPED CREDENTIAL MyCredential
WITH IDENTITY = 'User Identity';