Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Действие экспорта SqlPackage экспортирует подключенную базу данных в BACPAC-файл (.bacpac). По умолчанию данные для всех таблиц будут включены в BACPAC-файл. При необходимости можно указать только подмножество таблиц, для которых следует выполнить экспорт данных. Действие экспорта является частью функции переносимости базы данных SqlPackage.
Примечание.
Хотя идентификатор Microsoft Entra — это новое имя Azure Active Directory (Azure AD), чтобы предотвратить нарушение существующих сред, Azure AD по-прежнему остается в некоторых жестко закодированных элементах, таких как поля пользовательского интерфейса, поставщики подключений, коды ошибок и командлеты. В этой статье два имени являются взаимозаменяемыми.
Примечание.
Экспорт SqlPackage лучше всего подходит для баз данных объемом до 200 ГБ. Для больших баз данных может потребоваться оптимизировать операцию с помощью свойств, доступных в этой статье, и советов по устранению неполадок с SqlPackage или обеспечить переносимость базы данных с помощью данных в файлах parquet.
Синтаксис для командной строки
SqlPackage инициирует действия, указанные с помощью параметров, свойств и переменных SQLCMD, указанных в командной строке.
SqlPackage /Action:Export {parameters} {properties}
Обязательные параметры
Для действия экспорта требуется параметр TargetFile
, чтобы указать имя и расположение создаваемого .bacpac файла. Это расположение должно быть записываемым пользователем, выполняющим команду, и содержащая папка должна существовать.
Для действия экспорта также требуется указать источник базы данных с помощью сочетания:
- параметры
SourceServerName
иSourceDatabaseName
, или -
SourceConnectionString
параметр.
Примеры
# example export from Azure SQL Database using SQL authentication and a connection string
SqlPackage /Action:Export /TargetFile:"C:\AdventureWorksLT.bacpac" \
/SourceConnectionString:"Server=tcp:{yourserver}.database.windows.net,1433;Initial Catalog=AdventureWorksLT;Persist Security Info=False;User ID=sqladmin;Password={your_password};MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;"
# example export using short form parameter names, skips schema validation
SqlPackage /a:Export /ssn:"{yourserver}.database.windows.net,1433" /sdn:"AdventureWorksLT" /su:"sqladmin" \
/sp:"{your_password}" /tf:"C:\AdventureWorksLT.bacpac" /p:VerifyExtraction=False
# example export using Microsoft Entra managed identity
SqlPackage /Action:Export /TargetFile:"C:\AdventureWorksLT.bacpac" \
/SourceConnectionString:"Server=tcp:{yourserver}.database.windows.net,1433;Initial Catalog=AdventureWorksLT;Authentication=Active Directory Managed Identity;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;"
# example export connecting using Microsoft Entra username and password
SqlPackage /Action:Export /TargetFile:"C:\AdventureWorksLT.bacpac" \
/SourceConnectionString:"Server=tcp:{yourserver}.database.windows.net,1433;Initial Catalog=AdventureWorksLT;Authentication=Active Directory Password;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;User ID={yourusername};Password={yourpassword}"
# example export connecting using Microsoft Entra universal authentication
SqlPackage /Action:Export /TargetFile:"C:\AdventureWorksLT.bacpac" /UniversalAuthentication:True \
/SourceConnectionString:"Server=tcp:{yourserver}.database.windows.net,1433;Initial Catalog=AdventureWorksLT;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;"
Параметры действия экспорта
Параметр | Краткая форма | значение | Описание |
---|---|---|---|
/AccessToken: | местоположение: | {строка} | Определяет маркер доступа для аутентификации на основе токенов, который используется при подключении к целевой базе данных. |
/Действие: | /a: | Экспорт (Export) | Указывает действие, подлежащее выполнению. |
/AzureCloudConfig: | /acc: | {строка} | Указывает пользовательские конечные точки для подключения к идентификатору Microsoft Entra в формате: AzureActiveDirectoryAuthority={value}; DatabaseServicePrincipalName={value}". |
/Диагностика: | /d: | {Истина|Ложь} | Указывает, следует ли выводить сведения из журнала диагностики в консоль. По умолчанию — False. |
/DiagnosticsFile: | /df: | {строка} | Указывает файл, в котором следует вести журнал диагностики. |
/DiagnosticsLevel: | /dl | {Нет|Выкл.|Критично|Ошибка|Предупреждение|Информация|Подробно} | Указывает уровни сообщений трассировки, отфильтрованных в файле диагностики. |
/MaxParallelism: | /mp: | {целое_число} | Задает степень параллелизма для параллельных операций с базой данных. Значение по умолчанию — 8. |
/OverwriteFiles: | /из: | {Истина|Ложь} | Указывает, должен ли SqlPackage перезаписать существующие файлы. Указание false приводит к прерыванию действия SqlPackage, если обнаружен существующий файл. Значение по умолчанию — True. |
/Свойства: | /p: | {имя_свойства}={значение} | Указывает пару "имя — значение" для связанного с действием свойства; {имя_свойства}={значение}. |
/Тихий: | /q: | {Истина|Ложь} | Указывает, происходит ли подавление подробного отзыва. Значение по умолчанию — False. |
/SourceConnectionString: | /scs: | {строка} | Указывает допустимую строку подключения SQL Server/Azure к исходной базе данных. Если этот параметр указан, ему будет отдаваться предпочтение перед всеми остальными параметрами источника. |
/SourceDatabaseName: | /sdn: | {строка} | Определяет имя базы данных-источника. |
/SourceEncryptConnection: | /сек: | {Необязательный|Обязательный|Строгий|Истина|Ложь} | Указывает, следует ли использовать шифрование SQL для соединения с базой данных-источником. Значение по умолчанию — True. |
/SourceHostNameInCertificate: | /shnic: | {строка} | Указывает значение, используемое для проверки исходного TLS/SSL-сертификата SQL Server, когда уровень обмена данными шифруется с помощью TLS. |
/SourcePassword: | /sp: | {строка} | В сценариях с проверкой подлинности SQL Server — определяет пароль для доступа к базе данных-источнику. |
/SourceServerName: | /ssn: | {строка} | Определяет имя сервера, где размещается база данных-источник. |
/SourceTimeout: | /улица: | {целое_число} | Задает время ожидания подключения к базе данных-источнику (в секундах). |
/SourceTrustServerCertificate: | /stsc: | {Истина|Ложь} | Определяет, используется ли протокол TLS для шифрования подключения к базе данных-источнику без прохода по цепочке сертификатов для проверки доверия. По умолчанию используется значение False. |
/SourceUser: | /su: | {строка} | В сценариях с проверкой подлинности SQL Server — определяет пользователя SQL Server для доступа к базе данных-источнику. |
/TargetFile: | /tf: | {строка} | Указывает целевой файл (то есть DACPAC-файл) для использования в качестве целевого объекта действия вместо базы данных. Если используется этот параметр, все остальные параметры целевого объекта будут недействительны. Этот параметр будет недопустимым для действий, которые поддерживают только целевые объекты базы данных. |
/TenantId: | /tid: | {строка} | Представляет идентификатор клиента Microsoft Entra или доменное имя. Этот параметр необходим для поддержки гостевых или импортированных пользователей Microsoft Entra, а также учетных записей Майкрософт, таких как outlook.com, hotmail.com или live.com. Если этот параметр опущен, будет использоваться идентификатор клиента по умолчанию для идентификатора Microsoft Entra, предполагая, что прошедший проверку подлинности пользователь является собственным пользователем для этого клиента. Однако в этом случае любые гостевые или импортированные пользователи и /или учетные записи Майкрософт, размещенные в этом идентификаторе Microsoft Entra, не поддерживаются, и операция завершится ошибкой. Для получения дополнительной информации см. в статье Универсальная проверка подлинности с базой данных SQL и Azure Synapse Analytics (поддержка MFA в SSMS). |
/ThreadMaxStackSize: | /tmss: | {целое_число} | Указывает максимальный размер в мегабайтах для потока, выполняемого действием SqlPackage. Этот параметр следует использовать только при обнаружении исключений переполнения стека, возникающих при анализе очень больших инструкций Transact-SQL. |
/UniversalAuthentication: | /ua: | {Истина|Ложь} | Указывает, следует ли использовать универсальную проверку подлинности. Если задано значение true, протокол интерактивной проверки подлинности активируется с поддержкой MFA. Этот параметр также можно использовать для проверки подлинности Microsoft Entra без MFA, используя интерактивный протокол, требующий от пользователя ввод имени пользователя и пароля или встроенной проверки подлинности (учетные данные Windows). Если для параметра /UniversalAuthentication задано значение True, проверка подлинности Microsoft Entra не может быть указана в SourceConnectionString (/scs). Если для параметра /UniversalAuthentication задано значение False, в SourceConnectionString (/scs) должна быть указана проверка подлинности Microsoft Entra. Для получения дополнительной информации см. универсальная проверка подлинности с использованием базы данных SQL и Azure Synapse Analytics (поддержка SSMS для MFA). |
Свойства, относящиеся к действию экспорта
Свойство | значение | Описание |
---|---|---|
/p: | CommandTimeout=(INT32 '60') | Задает время ожидания команды в секундах при выполнении запросов к SQL Server. |
/p: | CompressionOption=({Обычный|Максимальный|Быстрый|СуперБыстрый|БезСжатия} 'Обычный') | Указывает тип сжатия. |
/p: | DatabaseLockTimeout=(INT32 '60') | Задает таймаут блокировки базы данных в секундах при выполнении запросов к SQL Server. Для ожидания без ограничений используйте значение "-1". |
/p: | HashObjectNamesInLogs=(BOOLEAN 'False') | Определяет, следует ли заменять все имена объектов в журналах случайным хэш-значением. |
/p: | ИгнорироватьСтатистикуИндексовНаВключенныхКолонкахEnclave=(ЛОГИЧЕСКИЙ 'Ложь') | Указывает, следует ли игнорировать индексы или статистику для столбцов, зашифрованных с использованием случайного шифрования, а также ключи шифрования столбцов с поддержкой анклава (не включаются в создаваемый пакет BACPAC). По умолчанию (значение — false) любой индекс или любая статистика по столбцу, зашифрованному с помощью случайного шифрования и с использованием ключа шифрования столбца с поддержкой анклавов, будет блокировать действие экспорта. |
/p: | LongRunningCommandTimeout=(INT32 '0') | Указывает время ожидания в секундах для долгих команд при выполнении запросов к серверу SQL. Для ожидания без ограничений используйте значение "0". |
/p: | Storage=({File|Memory}) | Указывает тип резервного хранилища для модели схемы, используемой во время извлечения. "Memory" — значение по умолчанию для версии SqlPackage для .NET Core. Значение "File" доступно и является значением по умолчанию только для версии SqlPackage для .NET Framework. |
/p: | TableData=(STRING) | Указывает таблицу, из которой будут извлечены данные. Укажите имя таблицы с указанием скобок вокруг частей имени или без них в следующем формате: имя_схемы.идентификатор_таблицы. Это свойство может быть указано несколько раз, чтобы указать несколько параметров. |
/p: | TargetEngineVersion=({По умолчанию|Последний|V11|V12} 'Последний') | Это свойство устарело, и его не рекомендуется использовать. Указывает версию целевого ядра для Базы данных SQL Azure. |
/p: | TempDirectoryForTableData=(STRING) | Указывает альтернативный временный каталог, используемый для буферизации табличных данных перед записью в файл пакета. Пространство, необходимое в этом месте, может быть большим и соответствует полному размеру базы данных. |
/p: | VerifyExtraction=(BOOLEAN 'True') | Указывает, следует ли проверять извлеченную модель схемы. Если задано значение true, правила проверки схемы выполняются для DACPAC или BACPAC. |
/p: | VerifyFullTextDocumentTypesSupported=(BOOLEAN 'False') | Указывает, следует ли проверять поддерживаемые типы полнотекстовых документов для базы данных Microsoft Azure SQL версии 12. |
Следующие шаги
- Дополнительные сведения о SqlPackage
- Устранение неполадок с SqlPackage
- Экспорт в Хранилище BLOB-объектов Azure