Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Область применения: Управляемый экземпляр SQL Azure
В этой статье приведены и объяснены различия в синтаксисе и поведении между Управляемым экземпляром SQL Azure и SQL Server.
Управляемый экземпляр SQL обеспечивает высокую совместимость с ядром СУБД SQL Server, и большинство функций поддерживается в Управляемом экземпляре SQL.
Существуют некоторые ограничения PaaS, появившиеся в Управляемом экземпляре SQL, а также некоторые изменения в поведении по сравнению с SQL Server. Различия делятся на следующие категории:
- Доступность, включая различия в группах доступности Always On и резервных копиях.
- Безопасность, включая различия в аудите, сертификатах, учетных данных, поставщиках услуг шифрования, именах входа и пользователях, а также ключе службы и главном ключе службы.
- Конфигурация, включая различия в расширении буферного пула, параметрах сортировки, уровнях совместимости, зеркальном отображении баз данных, параметрах баз данных, агенте SQL Server и параметрах таблиц.
- Функции : BULK INSERT/OPENROWSET, CLR, DBCC, распределенные транзакции, расширенные события, внешние библиотеки, FILESTREAM и FileTable, полнотекстовый семантический поиск, связанные серверы, PolyBase, репликация, регулятор ресурсов, RESTORE, Service Broker, хранимые процедуры, функции и триггеры.
- Параметры среды, включая конфигурацию виртуальных сетей и подсети.
Большинство этих функций являются ограничениями архитектуры и представляют функции служб.
Временные известные проблемы, обнаруженные в управляемом экземпляре SQL и которые будут устранены в будущем, описаны в статье "Новые возможности управляемого экземпляра SQL Azure"?
Примечание.
Идентификатор Microsoft Entra ранее был известен как Azure Active Directory (Azure AD).
Доступность
Группы доступности AlwaysOn
Высокий уровень доступности встроен в Управляемый экземпляр SQL, и пользователи не могут им управлять. Не поддерживаются следующие инструкции:
- СОЗДАТЬ КОНЕЧНУЮ ТОЧКУ ... ДЛЯ DATABASE_MIRRORING
- СОЗДАТЬ ГРУППУ ДОСТУПНОСТИ
- ALTER AVAILABILITY GROUP
- ОТБРОСИТЬ ГРУППУ ДОСТУПНОСТИ
- Предложение SET HADR инструкции ALTER DATABASE.
Резервное копирование
Для Управляемого экземпляра SQL Azure предусмотрено автоматическое резервное копирование, и пользователи могут создавать полные резервные копии базы данных COPY_ONLY. Разностное резервное копирование, а также резервное копирование журналов и моментальных снимков файлов не поддерживаются.
- С помощью Управляемый экземпляр SQL можно создать резервную копию базы данных экземпляра только в учетной записи хранения BLOB-объектов Azure:
- Поддерживается только
BACKUP TO URL. -
FILE,TAPEи устройства резервного копирования не поддерживаются.
- Поддерживается только
- Большинство общих параметров
WITHподдерживаются.-
COPY_ONLYобязателен. -
FILE_SNAPSHOTиCREDENTIALне поддерживаются. - Параметры ленты:
REWIND,NOREWIND,UNLOADиNOUNLOADне поддерживаются. - Параметры журналов:
NORECOVERY,STANDBYиNO_TRUNCATEне поддерживаются.
-
Ограничения:
С помощью Управляемого экземпляра SQL вы можете выполнять резервное копирование в базу данных экземпляра, содержащую до 32 полосковых линий. Такого количества достаточно для баз данных объемом до 4 ТБ, если используется сжатие резервных копий.
Невозможно выполнить
BACKUP DATABASE ... WITH COPY_ONLYв базе данных, зашифрованной с помощью прозрачного шифрования данных, управляемого службой (TDE). Управляемые службой TDE заставляет шифровать резервные копии с помощью внутреннего ключа TDE. Этот ключ не может быть экспортирован, поэтому восстановить резервную копию невозможно. Используйте автоматическое резервное копирование и восстановление на момент времени или используйте TDE, управляемое клиентом (BYOK). Также можно отключить шифрование базы данных.Собственные резервные копии, сделанные на Управляемый экземпляр SQL, можно восстановить только в экземпляре SQL Server 2022. Это связано с тем, что Управляемый экземпляр SQL имеет более высокую внутреннюю версию базы данных по сравнению с другими версиями SQL Server. Дополнительные сведения см. в статье "Восстановление базы данных в SQL Server 2022 с Управляемый экземпляр SQL Azure".
Чтобы создать резервную копию или восстановить базу данных в хранилище Azure, вы можете пройти проверку подлинности с помощью управляемого удостоверения или подписанного URL-адреса (SAS), который предоставляет права доступа с ограниченным доступом для служба хранилища Azure ресурсов Подробнее об этом. Использование ключей Access для этих сценариев не поддерживается.
Максимальный размер полосы резервного копирования с помощью команды
BACKUPв Управляемом экземпляре SQL составляет 195 ГБ, что является максимальным размером большого двоичного объекта. Чтобы уменьшить размер отдельного чередующегося набора и соблюсти это ограничение, можно увеличить число чередующихся наборов в команде резервного копирования.Совет
Чтобы обойти это ограничение, при резервном копировании базы данных из SQL Server в локальной среде или на виртуальной машине можно выполнить следующие действия.
- Создать резервную копию на
DISKвместо резервного копирования наURL. - Отправить скопированные файлы в хранилище BLOB-объектов.
- Восстановить в Управляемый экземпляр SQL.
Команда
Restoreв Управляемом экземпляре SQL поддерживает более крупные размеры больших двоичных объектов в файлах резервных копий, так как для хранения переданных файлов резервных копий используется другой тип больших двоичных объектов.- Создать резервную копию на
Сведения о резервном копировании с помощью T-SQL см. в статье BACKUP (Transact-SQL).
Безопасность
Аудит
Ниже перечислены основные различия между аудитом в Microsoft Azure SQL и SQL Server.
- В Управляемом экземпляре SQL компонент аудита выполняется на уровне сервера. Файлы журнала
.xelсохраняются в хранилище BLOB-объектов Azure. - В Базе данных SQL Azure аудит выполняется на уровне базы данных. Файлы журнала
.xelсохраняются в хранилище BLOB-объектов Azure. - В локальных или виртуальных машинах SQL Server аудит выполняется на уровне сервера. События хранятся в файловой системе или в журналах событий Windows.
Аудит XEvent в Управляемом экземпляре SQL поддерживает целевые расположения хранилища больших двоичных объектов Azure. Журналы файловой системы и журналы Windows не поддерживаются.
Основные различия в синтаксисе CREATE AUDIT для аудита в хранилище BLOB-объектов Azure:
- Новый синтаксис
TO URLпредоставляется для указания URL-адреса контейнера хранилища BLOB-объектов Azure, в котором.xelразмещаются файлы. - Синтаксис
TO FILEне поддерживается, так как Управляемый экземпляр SQL не может использовать общие папки Windows.
Дополнительные сведения см. в разделе:
- СОЗДАЙТЕ АУДИТ СЕРВЕРА
- Изменение аудита сервера
- Аудит
Сертификаты
Управляемый экземпляр SQL не может получить доступ к общим папкам и папкам Windows, поэтому действуют следующие ограничения.
- Файл
CREATE FROM/BACKUP TOне поддерживается для сертификатов. - Сертификат
CREATE/BACKUPизFILE/ASSEMBLYне поддерживается. Невозможно использовать файлы закрытых ключей.
См. статьи Инструкция CREATE CERTIFICATE (Transact-SQL) и BACKUP CERTIFICATE (Transact-SQL).
Обходной путь. Вместо создания резервной копии сертификата и восстановления резервной копии получите содержимое двоичного файла сертификата и закрытый ключ, сохраните его в виде файла .sql и создайте из двоичного файла:
CREATE CERTIFICATE
FROM BINARY = asn_encoded_certificate
WITH PRIVATE KEY (<private_key_options>);
Подтверждение компетенции
Поддерживаются управляемые удостоверения, Azure Key Vault и SHARED ACCESS SIGNATURE удостоверения. Пользователи Windows не поддерживаются.
См. статьи CREATE CREDENTIAL (Transact-SQL) и ALTER CREDENTIAL (Transact-SQL).
Поставщики служб шифрования
Управляемый экземпляр SQL не может получить доступ к файлам, поэтому невозможно создать поставщики служб шифрования.
-
CREATE CRYPTOGRAPHIC PROVIDERне поддерживается. См. статью CREATE CRYPTOGRAPHIC PROVIDER (Transact-SQL). -
ALTER CRYPTOGRAPHIC PROVIDERне поддерживается. См. статью ALTER CRYPTOGRAPHIC PROVIDER (Transact-SQL).
Имена входа и пользователи
Поддерживаются имена входа SQL, созданные с помощью
FROM CERTIFICATE,FROM ASYMMETRIC KEYиFROM SID. См. статью CREATE LOGIN (Transact-SQL). Субъекты-серверы (имена входа) создаются на уровне сервера, а пользователи (субъекты базы данных) создаются на уровне базы данных. Имена входа Microsoft Entra, созданные с помощью синтаксиса CREATE LOGIN , и пользователи Microsoft Entra, созданные с помощью синтаксиса CREATE USER FROM LOGIN , поддерживаются. При создании пользователя и указанииFROM LOGINэтот пользователь связан с именем входа и наследует роли сервера и разрешения, назначенные ему.Управляемый экземпляр SQL поддерживает создание пользователей автономной базы данных на основе удостоверений Microsoft Entra с синтаксисом
CREATE USER [AADUser/AAD group] FROM EXTERNAL PROVIDER. Пользователи, созданные таким образом, не связаны с субъектами сервера, даже если субъект сервера с тем же именем существует вmasterбазе данных.Имена для входа Windows, созданные с помощью синтаксиса
CREATE LOGIN ... FROM WINDOWS, не поддерживаются. Используйте имена входа и пользователи Microsoft Entra.Администратор Microsoft Entra для экземпляра имеет неограниченные права администратора.
Некоторые функции не поддерживают использование имен входа Microsoft Entra в взаимодействиях между экземплярами, но только в одном управляемом экземпляре SQL, например репликации SQL Server. Функция связанного сервера, хотя поддерживает проверку подлинности между экземплярами, используя субъекты сервера Microsoft Entra (имена входа).
Установка имени входа Microsoft Entra, сопоставленного с группой Microsoft Entra, так как владелец базы данных не поддерживается. Участник группы Microsoft Entra может быть владельцем базы данных, даже если имя входа не было создано в базе данных.
Олицетворение субъектов на уровне сервера Microsoft Entra с помощью других субъектов Microsoft Entra поддерживается, например предложение EXECUTE AS . Ограничения EXECUTE AS:
EXECUTE AS USER не поддерживается для пользователей Microsoft Entra, если имя отличается от имени входа. Например, если для создания пользователя использован синтаксис
CREATE USER [myAadUser] FROM LOGIN [[email protected]], после чего производится попытка олицетворения с помощью синтаксисаEXEC AS USER = myAadUser. При создании пользователя из имени входа Microsoft Entra укажите user_name так же, как и login_name из login.Только имена входа на уровне SQL Server, которые являются частью
sysadminроли, могут выполнять следующие операции, предназначенные для субъектов Microsoft Entra:- EXECUTE AS USER;
- EXECUTE AS LOGIN.
Чтобы олицетворить пользователя с инструкцией EXECUTE AS, необходимо сопоставить пользователя непосредственно с именем входа Microsoft Entra. Пользователи, которые являются членами групп Microsoft Entra, сопоставленных с субъектами сервера Microsoft Entra, невозможно эффективно олицетворить с помощью инструкции EXECUTE AS, даже если вызывающий объект имеет разрешения олицетворения для указанного имени пользователя.
Экспорт и импорт базы данных с помощью bacpac-файлов поддерживается для пользователей Microsoft Entra в Управляемый экземпляр SQL с помощью SSMS версии 18.4 или более поздней версии или SqlPackage.
- Следующие конфигурации поддерживаются с помощью bacpac-файла базы данных:
- Экспорт и импорт базы данных между различными экземплярами управления в одном домене Microsoft Entra.
- Экспорт базы данных из Управляемый экземпляр SQL и импорт в База данных SQL в том же домене Microsoft Entra.
- Экспорт базы данных из База данных SQL и импорт в Управляемый экземпляр SQL в том же домене Microsoft Entra.
- Экспорт базы данных из Управляемого экземпляра SQL и импорт в SQL Server (версии 2012 или более поздней).
- В этой конфигурации все пользователи Microsoft Entra создаются как субъекты базы данных SQL Server (пользователи) без входа. Тип пользователей и
SQLотображается какSQL_USERвsys.database_principals. Их разрешения и роли остаются в метаданных базы данных SQL Server и могут использоваться для олицетворения. Однако их нельзя использовать для доступа и входа в SQL Server с помощью учетных данных.
- В этой конфигурации все пользователи Microsoft Entra создаются как субъекты базы данных SQL Server (пользователи) без входа. Тип пользователей и
- Следующие конфигурации поддерживаются с помощью bacpac-файла базы данных:
Только имя входа на уровне сервера, созданное процессом подготовки Управляемый экземпляр SQL, членами ролей сервера, например
securityadminилиsysadminдругими именами входа с разрешением ALTER ANY LOGIN на уровне сервера, может создавать субъекты сервера Microsoft Entra (имена входа) вmasterбазе данных для Управляемый экземпляр SQL.Имена входа на основе проверки подлинности SQL должны быть назначены
sysadminроли для создания имен входа для удостоверений Microsoft Entra.Имя входа должно быть членом того же клиента Microsoft Entra, в котором размещена Управляемый экземпляр SQL Azure.
Субъекты сервера Microsoft Entra (имена входа) отображаются в обозреватель объектов начиная с SQL Server Management Studio 18.0 ( предварительная версия 5).
Субъект-сервер с уровнем доступа sysadmin автоматически создается для администратора Microsoft Entra после включения в экземпляре.
Во время аутентификации для проверки подлинности субъекта применяется следующая последовательность:
- Если учетная запись Microsoft Entra напрямую сопоставлена с именем входа Microsoft Entra, который присутствует в
sys.server_principalsкачестве типа E, предоставьте доступ и примените разрешения для этого входа. - Если учетная запись Microsoft Entra является членом группы, сопоставленной с именем входа Microsoft Entra, которая присутствует в
sys.server_principalsкачестве типа "X", предоставьте доступ и примените разрешения для этого входа. - Если учетная запись Microsoft Entra существует как непосредственно сопоставленная с пользователем Microsoft Entra в базе данных, которая присутствует в
sys.database_principalsкачестве типа E, предоставьте доступ и примените разрешения пользователя базы данных Microsoft Entra. - Если учетная запись Microsoft Entra является членом группы Microsoft Entra, сопоставленной с пользователем Microsoft Entra в базе данных, которая присутствует в
sys.database_principalsкачестве типа X, предоставьте доступ и примените разрешения пользователя группы Microsoft Entra.
- Если учетная запись Microsoft Entra напрямую сопоставлена с именем входа Microsoft Entra, который присутствует в
Ключ службы и главный ключ службы
- Резервное копирование главного ключа не поддерживается (управляется службой базы данных SQL).
- Восстановление главного ключа не поддерживается (управляется службой базы данных SQL).
- Резервное копирование главного ключа службы не поддерживается (управляется службой базы данных SQL).
- Восстановление главного ключа службы не поддерживается (управляется службой базы данных SQL).
Настройка
Расширение буферного пула
- Расширение буферного пула не поддерживается.
-
ALTER SERVER CONFIGURATION SET BUFFER POOL EXTENSIONне поддерживается. См. статью ALTER SERVER CONFIGURATION (Transact-SQL).
Параметры сортировки
Параметр сортировки экземпляра по умолчанию — SQL_Latin1_General_CP1_CI_AS. Этот параметр можно указать как параметр создания. См. статью Параметры сортировки.
Уровни совместимости
- Поддерживаемые уровни совместимости: 100, 110, 120, 130, 140, 150 и 160.
- Уровни совместимости ниже 100 не поддерживаются.
- Уровень совместимости по умолчанию для новых баз данных составляет 150. Для восстановленных баз данных уровень совместимости остается неизменным, если он был 100 и выше.
См. сведения о уровне совместимости ALTER DATABASE.
Зеркальное отображение базы данных
Зеркальное отображение базы данных не поддерживается.
- Параметры
ALTER DATABASE SET PARTNERиSET WITNESSне поддерживаются. -
CREATE ENDPOINT ... FOR DATABASE_MIRRORINGне поддерживается.
Дополнительные сведения см. в разделе ALTER DATABASE SET PARTNER и SET WITNESS и CREATE ENDPOINT ... FOR DATABASE_MIRRORING.
Параметры базы данных
- Несколько файлов журнала не поддерживаются.
- Объекты в памяти не поддерживаются на уровне служб "Общего назначения".
- Существует ограничение в 280 файлов на экземпляр общего назначения, что подразумевает максимум 280 файлов на одну базу данных. Это ограничение распространяется на файлы данных и файлы журнала на уровне "Общего назначения". Уровень "Критически важный для бизнеса" поддерживает 32 767 файлов на базу данных.
- База данных не может содержать файловые группы, содержащие данные FILESTREAM. Восстановление завершается ошибкой
.bak, еслиFILESTREAMсодержит данные. - Каждый файл помещается в хранилище BLOB-объектов Azure. Операции ввода-вывода и пропускная способность каждого файла зависят от размера каждого файла.
Инструкция CREATE DATABASE
К CREATE DATABASE применяются следующие ограничения:
Невозможно определить файлы и файловые группы.
Оптимизированная для памяти файловая группа и файл автоматически добавляются и называются XTP.
Параметр
CONTAINMENTне поддерживается.Параметры
WITHне поддерживаются.Совет
Чтобы обойти эту проблему, используйте
ALTER DATABASEпослеCREATE DATABASE, чтобы задать параметры базы данных для добавления файлов или задать вложение.Параметр
FOR ATTACHне поддерживается.Параметр
AS SNAPSHOT OFне поддерживается.
Дополнительные сведения см. в статье CREATE DATABASE (SQL Server Transact-SQL).
Инструкция ALTER DATABASE
Невозможно задать или изменить некоторые свойства файла:
- Путь к файлу невозможно указать в инструкции T-SQL
ALTER DATABASE ADD FILE (FILENAME='path'). УдалитеFILENAMEиз сценария, так как Управляемый экземпляр SQL автоматически размещает файлы. - Имя файла нельзя изменить путем использованием инструкции
ALTER DATABASE. - Изменение XTP-файла или файловой группы запрещено.
Следующие параметры задаются по умолчанию и не могут быть изменены.
MULTI_USERENABLE_BROKERAUTO_CLOSE OFF
Невозможно изменить следующие параметры:
AUTO_CLOSEAUTOMATIC_TUNING(CREATE_INDEX=ON|OFF)AUTOMATIC_TUNING(DROP_INDEX=ON|OFF)DISABLE_BROKEREMERGENCYENABLE_BROKERFILESTREAMHADRNEW_BROKEROFFLINEPAGE_VERIFYPARTNERREAD_ONLYRECOVERY BULK_LOGGEDRECOVERY_SIMPLEREMOTE_DATA_ARCHIVERESTRICTED_USERSINGLE_USERWITNESS
Некоторые ALTER DATABASE инструкции (например, SET CONTAINMENT) могут в течение короткого времени завершаться сбоем, например во время автоматического резервного копирования базы данных или сразу после создания базы данных. В этом случае инструкцию ALTER DATABASE следует повторить. Дополнительные сведения о связанных сообщениях об ошибках см. в разделе "Комментарии".
Дополнительные сведения см. в статье Параметры инструкции ALTER DATABASE для файлов и файловых групп (Transact-SQL).
Агент SQL Server
- Включение и отключение агента SQL Server в настоящее время не поддерживается для Управляемого экземпляра SQL. Агент SQL работает всегда.
- Триггер расписания заданий на основе простоя ЦП не поддерживается.
- Параметры агента SQL Server доступны только для чтения. Процедура
sp_set_agent_propertiesне поддерживается в Управляемом экземпляре SQL. - Задания
- Шаги задания T-SQL поддерживаются.
- Поддерживаются следующие задания репликации:
- Читатель журнала транзакций.
- Снимок
- Распространитель
- Шаги задания SSIS поддерживаются.
- Другие типы шагов задания в настоящее время не поддерживаются:
- Шаг задания репликации слиянием не поддерживается.
- Читатель очереди пока не поддерживается.
- Командная оболочка пока не поддерживается.
- Управляемый экземпляр SQL не может получить доступ к внешним ресурсам, например к сетевым папкам, с помощью robocopy.
- Службы SQL Server Analysis Services не поддерживаются.
- Уведомления поддерживаются частично.
- Уведомления электронной почты поддерживаются, хотя для этого необходимо настроить профиль Database Mail. SQL Server Agent может использовать только один профиль компонента Database Mail, и ему должно быть присвоено имя
AzureManagedInstance_dbmail_profile.- Пейджер не поддерживается.
- NetSend не поддерживается.
- Оповещения еще не поддерживаются.
- Прокси-серверы не поддерживаются.
- Журнал событий EventLog не поддерживается.
- Пользователь должен быть напрямую сопоставлен с именем входа сервера Microsoft Entra для создания, изменения или выполнения заданий агента SQL. Пользователи, которые не сопоставлены напрямую, например, пользователи, принадлежащие группе Microsoft Entra с правами на создание, изменение или выполнение заданий агента SQL, не смогут эффективно выполнять эти действия. Это объясняется олицетворением Управляемого экземпляра SQL и ограничениями EXECUTE AS.
- Функция администрирования с несколькими серверами для заданий master/target (MSX/TSX) не поддерживается.
Сведения об агенте SQL Server см. в статье Агент SQL Server.
Таблицы
Следующие типы таблиц не поддерживаются:
- ФАЙЛОВЫЙ ПОТОК
- Файловые таблицы
- EXTERNAL TABLE (кроме PolyBase)
- MEMORY_OPTIMIZED (не поддерживается только на уровне "Общего назначения")
Сведения о создании и изменении таблиц см. в статьях о CREATE TABLE и ALTER TABLE.
Функциональные возможности
МАССОВАЯ ВСТАВКА / OPENROWSET
Управляемый экземпляр SQL не может получить доступ к общим папкам и папкам Windows, поэтому файлы необходимо импортировать из хранилища больших двоичных объектов Azure.
- Во время импорта файлов из хранилища BLOB-объектов Azure
DATASOURCEявляется обязательным в командеBULK INSERT. См. статью BULK INSERT (Transact-SQL). - При считывании содержимого файла из хранилища BLOB-объектов Azure
DATASOURCEявляется обязательным в функцииOPENROWSET. См. статью OPENROWSET (Transact-SQL). -
OPENROWSETможно использовать для чтения данных из Базы данных SQL Azure, Управляемого экземпляра SQL Azure или экземпляров SQL Server. Другие источники, такие как базы данных Oracle или файлы Excel, не поддерживаются.
Среда clr
Управляемый экземпляр SQL не может получить доступ к общим папкам и папкам Windows, поэтому действуют следующие ограничения.
- Поддерживается только
CREATE ASSEMBLY FROM BINARY. См. статью CREATE ASSEMBLY (Transact-SQL). -
CREATE ASSEMBLY FROM FILEне поддерживается. См. статью CREATE ASSEMBLY (Transact-SQL). -
ALTER ASSEMBLYне может ссылаться на файлы. См. статью ALTER ASSEMBLY (Transact-SQL).
База данных почты (db_mail)
-
sp_send_dbmailне удается отправить вложения с помощью @file_attachments параметра. Локальная файловая система и внешние общие папки или Хранилище BLOB-объектов Azure недоступны из этой процедуры. - Ознакомьтесь с известными проблемами, связанными с параметром
@queryи проверкой подлинности.
DBCC
Недокументированные инструкции DBCC, которые включены в SQL Server, не поддерживаются в Управляемом экземпляре SQL.
- Поддерживается только ограниченное число глобальных флагов трассировки.
Trace flagsуровня сеанса не поддерживаются. См. раздел "Настройка флагов трассировки" с помощью DBCC TRACEON. - Команды консоли базы данных TRACEOFF и TRACEON работают с ограниченным числом глобальных флагов трассировки.
-
DBCC CHECKDB с параметрами REPAIR_ALLOW_DATA_LOSS, REPAIR_FAST и REPAIR_REBUILD нельзя использовать, так как база данных не может быть задана в
SINGLE_USERрежиме, см . различия ALTER DATABASE. Потенциальное повреждение базы данных обрабатывается группой поддержки Azure. Обратитесь в службу поддержки Azure, если есть какие-либо признаки повреждения базы данных.
Распределенные транзакции
Распределенные транзакции на основе T-SQL и .NET в управляемых экземплярах общедоступны. Другие сценарии, такие как транзакции XA, распределенные транзакции между управляемыми экземплярами и другими участниками и многое другое, поддерживаются координатором распределенных транзакций (DTC) для Управляемого экземпляра SQL Azure, который доступен в общедоступной предварительной версии.
Расширенные события
Некоторые из целевых объектов Windows для расширенных событий (XEvents) не поддерживаются:
- Целевой объект
etw_classic_syncне поддерживается. Храните файлы.xelв хранилище BLOB-объектов Azure. См. раздел Целевой объект etw_classic_sync_target. - Целевой объект
event_fileне поддерживается. Храните файлы.xelв хранилище BLOB-объектов Azure. См. раздел Целевой объект event_file.
Внешние библиотеки
Внешние библиотеки R и Python в базе данных поддерживаются в ограниченной общедоступной предварительной версии. См. статью "Службы машинного обучения" в Управляемом экземпляре SQL Azure.
FILESTREAM и FileTable
- Данные FILESTREAM не поддерживаются.
- База данных не может содержать файловые группы с данными
FILESTREAM. -
FILETABLEне поддерживается. - Таблицы не могут содержать типы
FILESTREAM. - Следующие функции не поддерживаются:
GetPathLocator()GET_FILESTREAM_TRANSACTION_CONTEXT()PathName()GetFileNamespacePat)FileTableRootPath()
Дополнительные сведения см. в статьях FILESTREAM (SQL Server) и Таблицы FileTable (SQL Server).
Полнотекстовый семантический поиск
Семантический поиск не поддерживается.
Связанные серверы
Связанные серверы в Управляемом экземпляре SQL поддерживают ограниченное число целевых объектов.
- Поддерживаемые целевые объекты: Управляемый экземпляр SQL, База данных SQL, бессерверный и выделенный пулы Azure Synapse SQL, а также экземпляры SQL Server.
- Неподдерживаемые целевые объекты: файлы, Analysis Services и другие реляционные СУБД. Попробуйте использовать собственный импорт CSV из Хранилища BLOB-объектов Azure с помощью
BULK INSERTилиOPENROWSETв качестве альтернативы для импорта файлов или загружать файлы с помощью бессерверного пула SQL в Azure Synapse Analytics.
Операционный:
-
sp_dropserverподдерживается для удаления связанного сервера. См. статью sp_dropserver (Transact-SQL). - Функцию
OPENROWSETможно использовать для выполнения запросов только в экземплярах SQL Server. Они могут быть управляемыми, локальными, или расположенными на виртуальных машинах. См. статью OPENROWSET (Transact-SQL). -
Функцию OPENDATASOURCE можно использовать для выполнения запросов только в экземплярах SQL Server. Они могут быть управляемыми, локальными, или расположенными на виртуальных машинах. Например,
SELECT * FROM OPENDATASOURCE('SQLNCLI', '...').AdventureWorks2022.HumanResources.Employee.SQLNCLIТолько значения ,SQLNCLI11SQLOLEDBиMSOLEDBSQLзначения поддерживаются в качестве поставщика. Собственный клиент SQL Server (часто сокращенный SNAC) был удален из SQL Server 2022 и SQL Server Management Studio 19 (SSMS). Клиент SQL Server Native Client (SQLNCLI или SQLNCLI11) и устаревший поставщик Microsoft OLE DB для SQL Server (SQLOLEDB) не рекомендуется для новой разработки. Перейдите к новому драйверу Microsoft OLE DB для SQL Server или последнему драйверу Microsoft ODBC для SQL Server . - Связанные серверы нельзя использовать для чтения файлов (Excel, CSV) из сетевых общих папок. Попробуйте использовать BULK INSERT, OPENROWSET, которые читают CSV-файлы из Хранилища BLOB-объектов Azure, или связанный сервер, который ссылается на бессерверный пул SQL в Synapse Analytics. Отслеживайте эти запросы в элементе обратной связи Управляемого экземпляра SQL
Связанные серверы на Управляемый экземпляр SQL Azure поддерживают проверку подлинности SQL и проверку подлинности Microsoft Entra.
PolyBase
Виртуализация данных с помощью Управляемый экземпляр SQL Azure позволяет выполнять запросы Transact-SQL (T-SQL) к данным из файлов, хранящихся в Azure Data Lake Storage 2-го поколения или Хранилище BLOB-объектов Azure, и объединить его с локально хранимыми реляционными данными с помощью соединений. Форматы файлов Parquet и разделенного текста (CSV) поддерживаются напрямую. Формат файлов JSON поддерживается косвенно путем указания формата файлов CSV, в котором запросы возвращают каждый документ в виде отдельной записи. Вы можете выполнить дополнительный анализ записей с помощью JSON_VALUE и OPENJSON. Общие сведения о PolyBase см. в статье "Виртуализация данных с помощью PolyBase" в SQL Server.
Кроме того, CREATE EXTERNAL TABLE AS SELECT (CETAS) позволяет экспортировать данные из управляемого экземпляра SQL в внешнюю учетную запись хранения. С помощью CETAS можно создать внешнюю таблицу на основе хранилища BLOB-объектов Azure Parquet или CSV-файлов или Azure Data Lake Storage (ADLS) 2-го поколения. CETAS также может экспортировать результаты инструкции T-SQL SELECT параллельно в созданную внешнюю таблицу.
Репликация
- Поддерживаются моментальные снимки и двунаправленная репликация. Репликация слиянием, одноранговая репликация и обновляемые подписки не поддерживаются.
-
Репликация транзакций доступна для Управляемого экземпляра SQL с некоторыми ограничениями:
- Все типы участников репликации (издатель, распространитель, подписчик по запросу и подписчик push-уведомлений) можно размещать в Управляемом экземпляре SQL, но издатель и распространитель должны быть либо в облаке, либо в локальной среде.
- Управляемый экземпляр SQL может взаимодействовать с последними версиями SQL Server. Дополнительные сведения см. в таблице поддерживаемых версий.
- У репликации транзакций есть некоторые дополнительные требования к сети.
Дополнительные сведения о настройке репликации транзакций см. в следующих учебниках:
- Руководство. Настройка репликации между двумя управляемыми экземплярами
- Руководство по настройке репликации транзакций между Управляемым экземпляром SQL Azure и SQL Server
Регулятор ресурсов
Поддерживается регулятор ресурсов. Однако существует несколько различий в поведении:
- Чтобы изменить конфигурацию регулятора ресурсов в Управляемом экземпляре SQL, необходимо находиться в контексте
masterбазы данных в первичной реплике. - Изменения конфигурации регулятора ресурсов, внесенные в первичную реплику, распространяются на все вторичные реплики. Однако изменения в текущей действующей конфигурации во вторичной реплике могут не быть немедленной. Чтобы внести изменения в вторичную реплику, подключитесь к
masterбазе данных на вторичной реплике и выполните егоALTER RESOURCE GOVERNOR RECONFIGURE. -
REQUEST_MAX_CPU_TIME_SECЕсли параметр настроен для группы рабочей нагрузки, а пакетный запрос превышает настроенное время ЦП, событие запускается,cpu_threshold_exceededно запрос не завершается, если флаг трассировки не включен. В Управляемом экземпляре SQL происходит то же событие, и запрос всегда завершается. Дополнительные сведения см. в разделе REQUEST_MAX_CPU_TIME_SEC. - Максимальное количество создаваемых пулов ресурсов — 40.
Инструкция RESTORE
- Поддерживаемый синтаксис:
RESTORE DATABASERESTORE FILELISTONLYRESTORE HEADERONLYRESTORE LABELONLYRESTORE VERIFYONLY
- Неподдерживаемый синтаксис:
RESTORE LOGONLYRESTORE REWINDONLY
- Источник:
-
FROM URL(хранилище BLOB-объектов) — единственный поддерживаемый параметр. -
FROM DISK/TAPEили устройство резервного копирования не поддерживаются. - Резервные наборы данных не поддерживаются.
-
- Параметры
WITHне поддерживаются. Попытки восстановления,WITHDIFFERENTIALвключаяSTATS, иREPLACEт. д., завершаются ошибкой.
Операция восстановления базы данных является асинхронной и повторной попыткой в Управляемый экземпляр SQL Azure. В SSMS может возникнуть ошибка, если подключение завершается сбоем или истекает время ожидания. Управляемый экземпляр SQL Azure продолжает пытаться восстановить базу данных в фоновом режиме, и вы можете отслеживать ход выполнения процесса восстановления с помощью sys.dm_exec_requests и sys.dm_operation_status динамических административных представлений.
Следующие параметры базы данных задаются или переопределяются и не могут быть потом изменены:
-
NEW_BROKERесли брокер не включен в BAK-файле. -
ENABLE_BROKERесли брокер не включен в BAK-файле. -
AUTO_CLOSE=OFFесли база данных в BAK-файле содержитAUTO_CLOSE=ON. -
RECOVERY FULLЗначение , если база данных в файле .bak имеетSIMPLEилиBULK_LOGGEDмодель восстановления. - Добавляется оптимизированная для операций в памяти файловая группа, которой присваивается имя XTP, если она не содержится в исходном BAK-файле.
- Любые существующие оптимизированные для операций в памяти файловые группы переименовываются в XTP.
- Параметры
SINGLE_USERиRESTRICTED_USERпреобразуются вMULTI_USER.
Ограничения:
- Резервные копии поврежденных баз данных могут быть восстановлены в зависимости от типа повреждения, но автоматические резервные копии не принимаются до устранения повреждения. Чтобы предотвратить эту проблему, убедитесь, что вы запускаете
DBCC CHECKDBна исходном Управляемом экземпляре SQL и используете резервную копиюWITH CHECKSUM. -
.BAKВосстановление файла базы данных, содержащей любое ограничение, описанное в этом документе (например,FILESTREAMилиFILETABLEобъекты), невозможно восстановить в Управляемый экземпляр SQL. - Файлы
.BAK, содержащие несколько резервных наборов данных, невозможно восстановить. - Файлы
.BAK, содержащие несколько файлов журнала, невозможно восстановить. - Резервные копии, содержащие базы данных размером более 8 ТБ, активные объекты OLTP в памяти или число файлов, превышающее 280 файлов на экземпляр, не могут быть восстановлены на экземпляре уровня "Общего назначения".
- Резервные копии, содержащие базы данных размером более 4 ТБ или объектов OLTP в памяти с общим размером, превышающим размер, описанный в ограничениях ресурсов, невозможно восстановить в экземпляре критически важный для бизнеса. Сведения об инструкциях восстановления см. в Инструкции RESTORE.
Внимание
Те же ограничения применяются ко встроенной операции восстановления на момент времени. Например, база данных общего назначения больше 4 ТБ не может быть восстановлена в экземпляре "Критически важный для бизнеса". База данных с критически важными для бизнеса с файлами OLTP в памяти или более 280 файлов не может быть восстановлена в экземпляре общего назначения.
Service Broker
Обмен сообщениями через Service Broker поддерживается только между управляемыми экземплярами SQL Azure:
-
CREATE ROUTE: нельзя использоватьCREATE ROUTEс аргументомADDRESS, для которого значение отличается отLOCALили указано DNS-имя другого Управляемого экземпляра SQL. Всегда используется порт 4022. -
ALTER ROUTE: нельзя использоватьALTER ROUTEс аргументомADDRESS, для которого значение отличается отLOCALили указано DNS-имя другого Управляемого экземпляра SQL. Всегда используется порт 4022.
Безопасность транспорта поддерживается, безопасность диалогов не поддерживается:
-
CREATE REMOTE SERVICE BINDINGне поддерживается.
Компонент Service Broker включен по умолчанию для только что созданных баз данных и не может быть отключен. Состояние компонента Service Broker для восстановленных и перенесенных баз данных наследуется от исходной базы данных и не может быть изменено. Следующие параметры ALTER DATABASE не поддерживаются.
ENABLE_BROKERDISABLE_BROKER
Хранимые процедуры, функции и триггеры
-
NATIVE_COMPILATIONне поддерживается для уровня "Общего назначения". - Следующие параметры sp_configure не поддерживаются.
allow polybase exportallow updatesfilestream_access_levelremote accessremote data archiveremote proc transscan for startup procs
-
Следующие sp_configure параметры игнорируются и не влияют:
Ole Automation Procedures
-
sp_execute_external_scriptsподдерживается только для служб машинного обучения в Управляемом экземпляре SQL Azure, в противном случаеsp_execute_external_scriptsне поддерживается для управляемого экземпляра SQL. См. раздел Примеры. -
xp_cmdshellне поддерживается. См. раздел xp_cmdshell (Transact-SQL). -
Extended stored proceduresне поддерживаются. Это также относится кsp_addextendedprocиsp_dropextendedproc. Эта функциональная возможность не будет поддерживаться, так как является устаревшей для SQL Server. Дополнительные сведения см. в статье Программирование расширенных хранимых процедур ядра СУБД. -
sp_attach_db,sp_attach_single_file_dbиsp_detach_dbне поддерживаются. См. статьи sp_attach_db (Transact-SQL), sp_attach_single_file_db (Transact-SQL) и sp_detach_db (Transact-SQL). -
sp_addmessageНе поддерживается в Управляемом экземпляре SQL Azure.
Системные функции и переменные
Следующие переменные, функции и представления возвращают различные результаты:
-
SERVERPROPERTY('EngineEdition')возвращает значение 8. Это свойство уникально идентифицирует Управляемый экземпляр SQL. См. статью SERVERPROPERTY (Transact-SQL). -
SERVERPROPERTY('InstanceName')возвращаетсяNULL, так как концепция экземпляра, существующего для SQL Server, не применяется к управляемому экземпляру SQL. См. статью SERVERPROPERTY (Transact-SQL). -
@@SERVERNAMEвозвращает полное подключаемое DNS-имя, напримерmy-managed-instance.wcus17662feb9ce98.database.windows.net. См. статью @@SERVERNAME. -
SYS.SERVERSвозвращает полное dns-имя "connectable", напримерmyinstance.domain.database.windows.netдля свойств "name" и "data_source". См. статью sys.servers. -
@@SERVICENAMEвозвращаетсяNULL, так как концепция службы, которая существует для SQL Server, не применяется к управляемому экземпляру SQL. См. статью @@SERVICENAME. -
SUSER_IDподдерживается. ВозвращаетсяNULL, если имя входа Microsoft Entra не вsys.syslogins. См. статью Идентификатор SUSER_ID (Transact-SQL). -
SUSER_SIDне поддерживается. Возвращаются неверные данные, что является временной известной проблемой. См. статью SUSER_SID (Transact-SQL).
Ограничения среды
Подсеть
- Вы не можете разместить другие ресурсы (например, виртуальные машины) в подсети, где вы развернули Управляемый экземпляр SQL. Разверните эти ресурсы с помощью другой подсети.
- Подсеть должна иметь достаточное количество доступных IP-адресов. В подсеть необходимо включить по крайней мере 32 IP-адреса.
- Количество виртуальных ядер и типов экземпляров, которые можно развернуть в регионе, имеет некоторые ограничения и пределы.
- В подсети должна быть применена сетевая конфигурация .
Виртуальная сеть
- Виртуальная сеть может быть развернута с помощью модели ресурсов. Классическая модель не поддерживает развертывание виртуальной сети.
- После создания управляемого экземпляра SQL перемещение управляемого экземпляра SQL или виртуальной сети в другую группу ресурсов или подписку не поддерживается.
- Для управляемых экземпляров SQL, размещенных в виртуальных кластерах, созданных до 22 сентября 2020 г., глобальный пиринг виртуальной сети не поддерживается. Вы можете подключиться к этим ресурсам через ExpressRoute или виртуальную сеть через шлюзы виртуальной сети.
Группы отработки отказа
Системные базы данных не реплицируются на вторичный экземпляр в группе отработки отказа. Таким образом, сценарии, зависящие от объектов из системных баз данных, невозможно использовать вторичный экземпляр, если только объекты не создаются вручную на вторичном экземпляре.
tempdb
- Максимальный размер файлов системной базы данных
tempdbне может превышать 24 ГБ на ядро для уровня общего назначения. Максимальный размерtempdbуровня "Критически важный для бизнеса" ограничен размером хранилища Управляемого экземпляра SQL. Размер файла журналаtempdbограничен 120 ГБ для уровня "Общего назначения". Некоторые запросы могут возвращать ошибку, если им требуется более 24 ГБ на ядро вtempdbили если они создают более 120 ГБ данных журнала. -
tempdbвсегда разделены на 12 файлов данных: 1 первичный, также называемыйmaster, файл данных и 11 не первичных файлов данных. Структура файлов не может быть измененаtempdb, и в нее нельзя добавить новые файлы. - Метаданные TempDB, оптимизированные для памяти, новая функция базы данных SQL Server 2019 в памяти, не поддерживается.
- Объекты, созданные в
modelбазе данных, не могут быть автоматически созданыtempdbпосле перезапуска или отработки отказа, так какtempdbне получают его исходный список объектов изmodelбазы данных. Объекты необходимо создавать вtempdbвручную после каждой перезагрузки или отработки отказа.
msdb
Следующие схемы системной базы данных msdb в Управляемом экземпляре SQL должны принадлежать соответствующим заранее определенным ролям:
- Общие роли
- TargetServersRole (Роль TargetServers)
-
Предопределенные роли базы данных
- SQLAgentUserRole
- SQLAgentReaderRole
- SQLAgentOperatorRole (роль оператора SQL агента)
-
Роли DatabaseMail:
- DatabaseMailUserRole (База данныхMailUserRole
-
Роли служб Integration Services:
- db_ssisadmin
- db_ssisltduser
- db_ssisoperator
Внимание
Изменение предопределенных имен ролей, имен схем и владельцев схем клиентами повлияет на нормальную работу службы. Любые изменения, внесенные в эти данные, будут возвращены к заранее заданным значениям, как только они будут обнаружены, или, самое позднее, при следующем обновлении службы, чтобы обеспечить нормальную работу службы.
Журналы ошибок
Управляемый экземпляр SQL помещает подробную информацию в журналы ошибок. Множество внутренних системных событий регистрируются в журнале ошибок. Для чтения журналов ошибок настройте собственную процедуру отфильтровывание несущественных записей. Дополнительные сведения см. в разделе "Управляемый экземпляр SQL" — sp_readmierrorlog.
Изменение количества сохраненных журналов ошибок не поддерживается.