В чем разница между dacpac с флагом extractAllTableData и bacpac?

#sql #sql-server #ssms

#sql #sql-сервер #ssms

Вопрос:

Я хотел бы создать резервную копию базы данных в SSMS и восстановить ее на другом сервере на виртуальной машине. Я экспортировал базы данных в bacpacs, но продолжаю сталкиваться с препятствиями, такими как пользователи, имеющие проверку подлинности Windows или ошибки, проверяющие элементы.

Недавно я заметил, что dacpac с extraAllTableData, установленным в true, может выполнить аналогичную задачу. Я знаю, что bacpac предназначены для серверов Sql Azure, но есть ли какие-либо другие различия между ними?

Ответ №1:

DACPAC содержит только информацию о схеме. BACPAC содержит как схему, так и данные. Он также содержит безопасность.

Если вы используете опцию ExtractAllTableData, в дополнение к схеме также извлекаются пользовательские данные. Но разрешения по-прежнему не извлекаются.

/p: ExtractAllTableData=(ЛОГИЧЕСКОЕ ЗНАЧЕНИЕ) Указывает, извлекаются ли данные из всех пользовательских таблиц. Если ‘true’, извлекаются данные из всех пользовательских таблиц, и вы не можете указать отдельные пользовательские таблицы для извлечения данных. Если ‘false’, укажите одну или несколько пользовательских таблиц для извлечения данных.