Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Относится к:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Аналитическая платформа (PDW)
SQL база данных в Microsoft Fabric
Создает учетные данные для базы данных. Учетная запись базы данных не связана с логином сервера или пользователем базы данных. База данных использует учетные данные для доступа к внешнему ресурсу, когда выполняет операцию, требующую доступа.
Соглашения о синтаксисе Transact-SQL
Syntax
CREATE DATABASE SCOPED CREDENTIAL credential_name
WITH IDENTITY = 'identity_name'
[ , SECRET = 'secret' ]
[ ; ]
Arguments
credential_name
Указывает имя создаваемых учетных данных для базы данных.
credential_name не удается начать с знака номера (#). Системные учетные данные начинаются с ##. Максимальная длина credential_name составляет 128 символов.
IDENTITY = "identity_name"
Указывает название аккаунта для подключения вне сервера.
Чтобы импортировать файл из Хранилище BLOB-объектов Azure или Azure Data Lake Storage с помощью общего ключа, необходимо указать
SHARED ACCESS SIGNATUREимя удостоверения. Дополнительные сведения о подписанных URL-адресах см. в статье Использование подписанных URL-адресов. ИспользуетсяIDENTITY = SHARED ACCESS SIGNATUREтолько для подписанного URL-адреса.Чтобы импортировать файл из Хранилище BLOB-объектов Azure с помощью управляемого удостоверения, необходимо указать
MANAGED IDENTITYимя удостоверения.При использовании Kerberos (Windows Active Directory или MIT KDC) не используйте доменное имя в аргументе
IDENTITY. В этом аргументе должно быть только имя учетной записи.В экземпляре SQL Server, если создать учетную запись базы данных с использованием ключа доступа
SECRETIDENTITYк хранилищу, игнорируется.WITH IDENTITYне требуется, если контейнер в хранилище Azure Blob включён для анонимного доступа. Пример запроса к хранилищуOPENROWSET BULKBLOB-объектов Azure см. в статье "Импорт в таблицу" из файла, хранящегося в хранилище BLOB-объектов Azure.В SQL Server 2022 (16.x) и более поздних версиях соединитель REST-API заменяет HADOOP. Для хранилища BLOB-объектов Azure и Azure Data Lake 2-го поколения единственным поддерживаемым методом проверки подлинности является подписанный URL-адрес. Дополнительные сведения см. в разделе CREATE EXTERNAL DATA SOURCE.
В SQL Server 2019 (15.x) единственный внешний источник данных PolyBase, поддерживающий проверку подлинности Kerberos, — Hadoop. Все другие внешние источники данных (SQL Server, Oracle, Teradata, MongoDB, универсальный ODBC) поддерживают только обычную проверку подлинности.
SQL-пулы в Azure Synapse Analytics включают следующие примечания:
- Чтобы загрузить данные в Azure Synapse Analytics, можно использовать любое допустимое значение для
IDENTITY. - В бессерверном пуле SQL Azure Synapse Analytics учетные данные базы данных могут указывать управляемое удостоверение рабочей области, имя субъекта-службы или маркер подписанного URL-адреса (SAS). Доступ через идентификацию пользователя, обеспечиваемый входом пользователя с помощью проходной аутентификации Microsoft Entra, также возможен с учётными данными базы данных, как и анонимный доступ к общедоступному хранилищу. Дополнительные сведения см. в разделе "Поддерживаемые типы авторизации хранилища".
- В выделенном пуле SQL в Azure Synapse Analytics учетные данные базы данных могут указывать маркер подписанного URL-адреса (SAS), пользовательский идентификатор приложения, управляемое удостоверение рабочей области или ключ доступа к хранилищу.
- Чтобы загрузить данные в Azure Synapse Analytics, можно использовать любое допустимое значение для
| Authentication | T-SQL | Supported | Notes |
|---|---|---|---|
| Подпись Общего Доступа (SAS) | CREATE DATABASE SCOPED CREDENTIAL <credential_name> WITH IDENTITY = 'SHARED ACCESS SIGNATURE', SECRET = 'secret'; |
SQL Server 2022 и более поздних версий, Управляемый экземпляр SQL Azure, Azure Synapse Analytics, База данных SQL Azure | |
| управляемое удостоверение; | CREATE DATABASE SCOPED CREDENTIAL <credential_name> WITH IDENTITY = 'MANAGED IDENTITY'; |
База данных SQL Azure, Управляемый экземпляр SQL Azure, SQL Server 2025 с Azure Arc | Чтобы включить Azure Arc, см. раздел Managed identity for SQL Server enabled by Azure Arc |
| Сквозная проверка подлинности Microsoft Entra с помощью удостоверения пользователя | CREATE DATABASE SCOPED CREDENTIAL <credential_name> WITH IDENTITY = 'USER IDENTITY'; |
|
В Azure Synapse см. User Log-in с помощью Microsoft Entra pass-through authentication |
| Обычная проверка подлинности ключа доступа S3 | CREATE DATABASE SCOPED CREDENTIAL <credential_name> WITH IDENTITY = 'S3 ACCESS KEY', SECRET = '<accesskey>:<secretkey>'; |
SQL Server 2022 и более поздние версии | |
| Источники данных ODBC или Kerberos (MIT KDC) |
CREATE DATABASE SCOPED CREDENTIAL <credential_name> WITH IDENTITY = '<identity_name>', SECRET = '<secret>'; |
SQL Server 2019 и более поздних версий |
1 В SQL базе данных Microsoft Fabric, если вы не указываете учётную запись с базой данных, метод аутентификации по умолчанию сменяется как «USER IDENTITY» и использует пользовательскую учетную запись Microsoft Entra ID в качестве контекста.
SECRET = "secret"
Указывает секретный код, необходимый для исходящей проверки подлинности.
SECRET требуется для импорта файла из хранилища больших двоичных объектов Azure. Для загрузки из хранилища BLOB-объектов Azure в Azure Synapse Analytics или Parallel Data Warehouse в качестве секретного ключа необходимо использовать ключ хранилища Azure.
Warning
Значение ключа SAS может начинаться с вопроса (?). При использовании ключа SAS удалите главный ?ключ.
Remarks
Учетные данные базы данных — это запись, содержащая сведения о проверке подлинности, необходимые для подключения к ресурсу за пределами SQL Server. Большинство учетных данных включают имя пользователя и пароль Windows.
Для защиты конфиденциальной информации в учетных данных в области базы данных требуется главный ключ базы данных (DMK). DMK — это симметричный ключ, который шифрует секрет в учетных данных в области базы данных. База данных должна иметь DMK, прежде чем вы сможете создать какие-либо учетные данные с ограничением базы. Зашифруйте DMK с надёжным паролем. Azure SQL Database создаёт DMK с сильным, случайно выбранным паролем в рамках создания учетных данных базы данных или в рамках аудита сервера.
Пользователи не могут создать dmK в логической master базе данных. Пароль DMK неизвестен Microsoft и не может быть обнаружен после создания. Создайте DMK перед созданием учетных данных с ограничением базы данных. Дополнительные сведения см. в статье CREATE MASTER KEY.
Когда IDENTITY пользователь Windows, секрет может быть в пароле. Секрет шифруется с помощью сервисного мастер-ключа (SMK). Если вы восстанавливаете SMK, секрет зашифровывается с новым SMK.
При предоставлении разрешений на подпись общего доступа (SAS) для использования с внешней таблицей PolyBase выберите разрешённые типы ресурсов — контейнер и объект . Если вы не предоставите эти разрешения, вы можете получить ошибку 16535 или 16561 при попытке доступа к внешней таблице.
Для получения информации о базах данных в области учетных данных смотрите в sys.database_scoped_credentials каталоге.
Далее приводятся некоторые варианты использования учетных данных для базы данных.
SQL Server использует учетные данные с областью базы данных для доступа к недоступным Хранилище BLOB-объектов Azure или кластерам Hadoop, защищенным Kerberos, с помощью PolyBase. Дополнительные сведения см. в разделе CREATE EXTERNAL DATA SOURCE.
Azure Synapse Analytics использует учетные данные с областью базы данных для доступа к недоступным Хранилище BLOB-объектов Azure с PolyBase. Дополнительные сведения см. в разделе CREATE EXTERNAL DATA SOURCE. Дополнительные сведения о проверке подлинности хранилища Azure Synapse см. в статье Использование внешних таблиц в Synapse SQL.
SQL Database использует объёмные данные базы данных для своей функции эластичного запроса , которая позволяет выполнять запросы между несколькими фрагментами базы данных.
База данных SQL используют учетные данные базы данных для записи расширенных файлов событий в Хранилище BLOB-объектов Azure.
База данных SQL использует учетные данные с областью базы данных для эластичных пулов. Для получения дополнительной информации см. раздел «Эластичные пулы помогают управлять и масштабировать несколько баз данных в Azure SQL Database»
BULK INSERT и OPENROWSET используют учетные данные базы данных для доступа к данным из Azure Blob Storage. Для получения дополнительной информации см. Примеры массового доступа к данным в Azure Blob Storage.
Используйте учетные данные с областью базы данных с помощью PolyBase и Управляемый экземпляр SQL Azure функций виртуализации данных.
Для
BACKUP TO URLиRESTORE FROM URL, используйте учетную запись серверного уровня через CREATE CREDENTIAL .Используйте учетные данные базы данных с CREATE EXTERNAL MODEL
Permissions
Необходимо разрешение CONTROL на базу данных.
Examples
A. Создание учетных данных в области базы данных для приложения
В следующем примере создаются учетные данные с именем AppCred для базы данных. В эти учетные данные для базы данных входят имя пользователя Windows Mary5 и пароль.
Создайте DMK, если такого ещё нет. Не используйте пустые пароли. Выбирайте надежные пароли.
CREATE MASTER KEY ENCRYPTION BY PASSWORD = '<password>';
Создайте учетные данные базы данных:
CREATE DATABASE SCOPED CREDENTIAL AppCred
WITH IDENTITY = 'Mary5',
SECRET = '<password>';
B. Создание учетных данных в области базы данных для подписанного URL-адреса
Следующий пример создает учетную точку данных с ограничением базы данных, которую вы можете использовать для создания внешнего источника данных. Эта учетная запись может выполнять массовые операции, такие как BULK INSERT и OPENROWSET BULK.
Создайте DMK, если такого ещё нет. Не используйте пустые пароли. Выбирайте надежные пароли.
CREATE MASTER KEY ENCRYPTION BY PASSWORD = '<password>';
Создайте учетные данные, ограниченные областью действия базы данных. Замените <key> соответствующим значением.
CREATE DATABASE SCOPED CREDENTIAL MyCredentials
WITH IDENTITY = 'SHARED ACCESS SIGNATURE',
SECRET = '<key>';
C. Создание учетных данных с областью действия базы данных для подключения PolyBase к Azure Data Lake Store
В следующем примере создается учетные данные с областью действия базы данных, которые можно использовать для создания внешнего источника данных, который можно использовать PolyBase в Azure Synapse Analytics.
Azure Data Lake Store использует приложение Microsoft Entra для аутентификации service-to-service.
Создайте приложение Microsoft Entra и задокументируйте client_id, OAuth_2.0_Token_EndPoint и ключ перед созданием учетных данных в области базы данных.
Создайте DMK, если такого ещё нет. Не используйте пустые пароли. Выбирайте надежные пароли.
CREATE MASTER KEY ENCRYPTION BY PASSWORD = '<password>';
Создайте учетные данные, ограниченные областью действия базы данных. Замените <key> соответствующим значением.
CREATE DATABASE SCOPED CREDENTIAL ADL_User
WITH IDENTITY = '<client_id>@<OAuth_2.0_Token_EndPoint>',
SECRET = '<key>';
D. Создание учетных данных в области базы данных с помощью управляемого удостоверения
Применимо к: SQL Server 2025 (17.x) и более поздним версиям
SQL Server 2025 (17.x) предоставляет поддержку управляемых удостоверений Microsoft Entra. Для получения информации о том, как использовать управляемую идентичность с SQL Server, включённым Azure Arc, см. раздел Managed identity for SQL Server, enabled by Azure Arc.
EXECUTE sp_configure 'allow server scoped db credentials', 1;
RECONFIGURE;
GO
CREATE DATABASE SCOPED CREDENTIAL [managed_id]
WITH IDENTITY = 'Managed Identity';
E. Создайте учетную данные базы данных с помощью Microsoft Entra ID
Применяется к: Azure SQL Database, SQL Database in Microsoft Fabric
В Azure SQL Database и SQL Database в Microsoft Fabric вы можете использовать собственную учетную запись Microsoft Entra ID для аутентификации внешнего источника данных.
В SQL базе данных Microsoft Fabric, если вы не указываете учётную запись с базой данных, метод аутентификации по USER IDENTITY умолчанию использует пользовательскую учетную запись Entra ID в качестве контекста.
CREATE DATABASE SCOPED CREDENTIAL MyCredential
WITH IDENTITY = 'User Identity';