Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Относится к: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';