Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Приложение уровня данных (DAC) поддерживает наиболее часто используемые объекты ядро СУБД.
В этом разделе
Поддерживаемые объекты SQL Server
В приложении уровня данных как создаваемые или редактируемые могут быть указаны только поддерживаемые объекты. Невозможно извлечь, зарегистрировать или импортировать приложение уровня данных (DAC) из существующей базы данных, которая содержит объекты, не поддерживаемые в DAC. SQL Server 2014 поддерживает следующие объекты в DAC.
| РОЛЬ БАЗЫ ДАННЫХ | FUNCTION: встроенная, возвращающая табличное значение |
| FUNCTION: возвращающая табличное значение и включающая несколько инструкций | FUNCTION: скаляр |
| INDEX: кластеризованный | INDEX: некластеризованный |
| INDEX: пространственный | INDEX: уникальный |
| ВХОД | Разрешения |
| Данные членства в роли | СХЕМА |
| Статистика | ХРАНИМАЯ ПРОЦЕДУРА: Transact-SQL |
| Синонимы | TABLE: проверочное ограничение |
| TABLE: параметры сортировки | TABLE: столбец, включая вычисляемые столбцы |
| TABLE: ограничение, значение по умолчанию | TABLE: ограничение, внешний ключ |
| TABLE: ограничение, индекс | TABLE: ограничение, первичный ключ |
| TABLE: ограничение, уникальный | ТРИГГЕР: DML |
| ТИП: HIERARCHYID, GEOMETRY, GEOGRAPHY | TYPE: определяемый пользователем тип данных |
| TYPE: определяемый пользователем тип таблиц | Пользователь |
| ВИД |
Поддержка приложений уровня данных в различных версиях SQL Server
Версии SQL Server имеют разные уровни поддержки операций DAC. Все операции уровня данных, поддерживаемые версией SQL Server, поддерживаются всеми выпусками этой версии.
Экземпляры ядро СУБД поддерживают следующие операции DAC:
Экспорт и извлечение поддерживаются во всех поддерживаемых версиях SQL Server.
Все операции поддерживаются в База данных SQL Azure и всех версиях SQL Server 2014, SQL Server 2012 и SQL Server 2008 R2.
Все операции поддерживаются в SQL Server 2008 с пакетом обновления 2 (SP2) или более поздней версии и SQL Server 2005 с пакетом обновления 4 (SP4) или более поздней версии.
Платформа DAC Framework включает клиентские средства для создания и обработки пакетов приложений уровня данных и файлов экспорта. Платформа DAC Framework включена в следующие продукты
SQL Server 2014 и SQL Server 2012 включают DAC Framework 3.0, которая поддерживает все операции DAC.
SQL Server 2008 R2 с пакетом обновления 1 (SP1) и Visual Studio 2010 с пакетом обновления 1 (SP1) включали платформу DAC Framework 1.1, которая поддерживает все операции DAC, кроме экспорта и импорта.
SQL Server 2008 R2 и Visual Studio 2010 включали DAC Framework 1.0, которая поддерживает все операции DAC, кроме экспорта, импорта и обновления на месте.
Клиентские средства из более ранних версий SQL Server или Visual Studio не поддерживают операции приложения уровня данных.
Пакет приложения уровня данных или файл экспорта, созданный в одной версии DAC Framework, не может обрабатываться в более ранней версии DAC Framework. Например, пакет DAC, извлеченный с помощью клиентских средств SQL Server 2014, нельзя развернуть с помощью клиентских средств SQL Server 2008 R2.
Пакет приложения уровня данных или файл экспорта, созданный в какой-то версии DAC Framework, может обрабатываться в любой более поздней версии DAC Framework. Например, пакет DAC, извлеченный с помощью клиентских средств SQL Server 2008 R2, можно развернуть с помощью клиентских средств SQL Server 2008 R2 с пакетом обновления 1 (SP1) или более поздней версии.
Ограничения развертывания данных
Обратите внимание на следующие ограничения качества данных в подсистеме развертывания DAC Framework в SQL Server 2012 SP1. Эти ограничения применяются к следующим действиям DAC Framework: развертывание или публикация DACPAC-файла и импорт BACPAC-файла.
Потеря метаданных для определенных условий и базовых типов в столбцах sql_variant. В соответствующих случаях выводится предупреждение со следующим сообщением: Некоторые свойства некоторых типов данных, используемых в столбце sql_variant, не сохраняются при развертывании в платформе DAC Framework.
Базовые типы MONEY, SMALLMONEY, NUMERIC, DECIMAL: точность не сохраняется.
- Базовые типы DECIMAL/NUMERIC с точностью 38: метаданные TotalBytes sql_variant всегда равны 21.
Все базовые текстовые типы: параметры сортировки по умолчанию базы данных применяются ко всему тексту.
Базовые типы BINARY: свойство максимальной длины не сохраняется.
Базовые типы TIME и DATETIMEOFFSET: точность всегда равна 7.
Потеря данных в столбцах sql_variant. В соответствующих случаях выводится предупреждение со следующим сообщением: Будут потеряны данные в случае развертывания значения в столбце sql_variant DATETIME2 с масштабом больше 3 в платформе DAC Framework. Значение DATETIME2 во время развертывания ограничено масштабом, равным 3.
- Базовый тип DATETIME2 с масштабом больше 3: масштаб равен 3.
Операция развертывания завершается ошибкой для следующих условий в столбцах sql_variant. В соответствующих случаях отображается диалоговое окно со следующим сообщением: При выполнении операции произошла ошибка в связи с ограничениями для данных в платформе DAC Framework.
Базовые типы DATETIME2, SMALLDATETIME и DATE: если значение выходит за пределы диапазона DATETIME, например если год меньше 1753.
Базовый тип DECIMAL, NUMERIC: если точность значения больше 28.
Дополнительные замечания по операциям развертывания
Обратите внимание на следующие рекомендации для действий по развертыванию данных с помощью платформы DAC Framework.
Извлечение и экспорт — в операциях, использующих платформу DAC Framework для создания пакета из базы данных, например при извлечении DACPAC-файла или экспорте BACPAC-файла, эти ограничения не применяются. Данные в пакете — это полное представление данных в базе данных-источнике. Если любое из этих условий выполняется в пакете, журнал извлечения или экспорта будет содержать сводку проблем (сообщения, указанные выше). Они применяются, чтобы предупредить пользователя о потенциальных проблемах с развертыванием данных созданного пакета. Пользователь также увидит следующее сводное сообщение в журнале: эти ограничения не влияют на точность типов данных и значений, хранящихся в пакете DAC, созданном платформой DAC. Они применяются только к типам данных и значениям, которые приводят к развертыванию пакета DAC в базе данных. Дополнительные сведения о затронутых данных и способах обойти это ограничение см. в этом разделе.
Развернуть, опубликовать или импортировать — в операциях, использующих платформу DAC Framework для развертывания пакетов в базе данных, например развертывании или публикации DACPAC-файла и импорте BACPAC-файла, применяются следующие ограничения. Данные, которые добавляются в целевую базу данных, не могут содержать полное представление данных в пакете. Журнал развертывания и импорта будет содержать сообщение, указанное выше, для каждого экземпляра, в котором была обнаружена проблема. Эта операция будет заблокирована из-за ошибок (см. категорию 3 выше), но будет продолжена с другими предупреждениями.
Дополнительные сведения о данных, затрагиваемых в этом сценарии, и о том, как обойти это ограничение для операций развертывания, публикации и импорта, см. в этом разделе.
Решения — операции извлечения и экспорта записывают полные файлы данных BCP в DACPAC- или BACPAC-файлы. Чтобы избежать ограничений, используйте программу BCP.exe командной строки SQL Server для развертывания полных данных в целевой базе данных из пакета приложения уровня данных.