Поделиться через


Справочник по командам автоматизации функций работы с базами данных в Visual Studio

Средства расширения времени разработки Visual Studio (DTE) можно использовать для выполнения ряда операций в командном окне Visual Studio. Например, их можно использовать, чтобы импортировать несколько сценариев в проект базы данных.

В этом выпуске Visual Studio Premium или Visual Studio Ultimate можно:

  • Импортировать объекты и параметры базы данных или сервера в проект базы данных.

  • Импортировать объекты и параметры из скрипта

  • Сравнение схем баз данных

  • Сравнение данных в базах данных

  • Выполнение операций рефакторинга

  • Работа с частичными проектами

  • Работа с объектами в представлении схемы

  • Анализ кода базы данных

Краткий справочник по командам автоматизации баз данных

Следующая таблица содержит краткую справочную информацию обо всех командах DTE для функций базы данных Visual Studio.

Область

Command

Сравнение данных

Data.NewDataComparison

Data.DataCompareExportToEditor

Data.DataCompareExportToFile

Data.DataCompareFilterAllRecords

Data.DataCompareFilterDifferentRecords

Data.DataCompareFilterIdenticalRecords

Data.DataCompareFilterOnlyInSourceRecords

Data.DataCompareFilterOnlyInTargetRecords

Data.DataCompareFilterSelectedRecords

Data.DataCompareRefresh

Data.DataCompareSelectSrcTgtDatabases

Data.DataCompareShowUpdateScript

Data.DataCompareStop

Data.DataCompareWriteUpdates

Data.DataDataCompareRefreshScriptPreview

Генератор данных

Data.DataGeneratorExcludeAllColumns

Data.DataGeneratorExcludeAllTables

Data.DataGeneratorIncludeAllColumns

Data.DataGeneratorIncludeAllTables

Data.DataGeneratorPlanRefresh

Data.DataGeneratorPopulate

Data.DataGeneratorPreview

Импорт

Project.ImportDatabaseSchema

Project.ImportScript

Частичные проекты

Project.VSDBExportAsPartialProject

Project.VSDBImportPartialProject

Project.VSDBRemovePartialProject

Оптимизация кода

Data.RenameRefactor

Data.FullyQualifyNameRefactor

Data.MoveSchemaRefactor

Data.RenameServerDatabaseReferenceRefactor

Data.WildcardExpansionRefactor

Сравнение схем

Data.NewSchemaComparison

Data.SchemaCompareExportToEditor

Data.SchemaCompareExportToFile

Data.SchemaCompareFilterAllObjects

Data.SchemaCompareFilterDifferentObjects

Data.SchemaCompareFilterEqualObjects

Data.SchemaCompareFilterMissingObjects

Data.SchemaCompareFilterNewObjects

Data.SchemaCompareFilterNonSkipObjects

Data.SchemaCompareFilterSkipObjects

Data.SchemaCompareNextChange

Data.SchemaCompareObjectDefnHorizontal

Data.SchemaCompareObjectDefnOff

Data.SchemaCompareObjectDefnVertical

Data.SchemaCompareOptions

Data.SchemaComparePreviousChange

Data.SchemaCompareRefresh

Data.SchemaCompareRefreshScriptPreview

Data.SchemaCompareRestoreUpdateActionDefaults

Data.SchemaCompareRestoreUpdateSelectionDefaults

Data.SchemaCompareSelectSourceTargetSchemas

Data.SchemaCompareShowUpdateScript

Data.SchemaCompareSpecifySQLCMDVariables

Data.SchemaCompareStop

Data.SchemaCompareWriteUpdates

Представление схемы

Data.SchemaViewShowDependencies

Data.ShowBuiltInElementsInSchemaView

Data.ShowExternalElementsInSchemaView

Data.DeleteObjectSchemaView

Data.SynchronizeSchemaView

Data.ToggleSchemaViewBySchema

Редактор Transact-SQL

Data.SqlEditorCancelQueryExecution

Data.SqlEditorConnect

Data.SqlEditorDisconnect

Data.SqlEditorDisplayEstimatedExecutionPlan

Data.SqlEditorEditSqlCmdFile

Data.SqlEditorExecuteSql

Data.SqlEditorIncludeActualExecutionPlan

Data.SqlEditorIncludeStatistics

Data.SqlEditorNewQueryConnection

Data.SqlEditorQueryOptions

Data.SqlEditorResetClientStatistics

Data.SqlEditorResultsAsFile

Data.SqlEditorResultsAsGrid

Data.SqlEditorResultsAsText

Data.SqlEditorSqlCmdMode

Data.SqlEditorToggleResultsPane

Data.SqlEditorValidateSqlSyntax

Анализ кода базы данных

Data.StaticCodeAnalysisConfigure

Data.StaticCodeAnalysisRun

Импорт объектов и параметров баз данных или серверов

Для импорта объектов и параметров из базы данных или с сервера можно использовать команду Data.ImportDatabaseSchema в командном окне Visual Studio. Перед применением команды Data.ImportDatabaseSchema необходимо выделить проект базы данных или сервера в обозревателе решений. Дополнительные сведения см. в разделе Практическое руководство. Импорт объектов и параметров баз данных или Практическое руководство. Импорт серверных объектов и параметров.

Для команды Data.ImportDatabaseSchema можно задать следующие параметры:

Параметр

Обязательно

Примечания

/ConnectionString "строка пользователя"

Да

Укажите строку подключения к базе данных, из которой необходимо импортировать объекты и параметры. Для импорта объектов сервера укажите базу данных "master".

/AlwaysScriptColumnCollation

Нет

Укажите этот параметр для явного указания параметров сортировки всех столбцов в сценариях. Если этот параметр не указан, параметры сортировки столбцов будут задаваться явно только в тех случаях, когда параметры сортировки столбца не соответствуют параметрам сортировки базы данных.

/IgnoreExtendedProperties

Нет

Этот параметр необходимо указать, если не нужно импортировать расширенные свойства исходной базы данных и ее содержимого.

/IgnoreFileSizes

Нет

Этот параметр необходимо указывать, если не нужно импортировать размеры файлов журнала и файловых групп.

/OverrideDBConfiguration

Нет

Этот параметр необходимо указать, если требуется обновлять параметры проекта базы данных, чтобы они соответствовали параметрам исходной базы данных.

/Overwrite

Нет

Этот параметр игнорируется.

/DirectoryLimit N

Нет

Этот параметр следует задавать для сокращения времени, необходимого для открытия проекта базы данных и работы с ним, за счет ограничения количества объектов базы данных, хранящихся в каждой папке ваших данных Data. Замените N на количество файлов, которые можно хранить в одном каталоге или на диске.

/IgnorePermissions

Нет

Этот параметр следует задавать, если необходимо импортировать разрешения из исходной базы данных.

ПримечаниеПримечание
По умолчанию при импорте объектов и параметров с помощью мастера разрешения игнорируются.Этот параметр можно задавать при импорте больших баз данных для повышения производительности.

/AddImportedPermissionsToModel

Нет

Этот параметр необходимо задавать, если не установлен параметр /IgnorePermissions и если требуется добавить разрешения в модель базы данных. После добавления разрешений в модель проект базы данных будет загружаться медленнее.

Импорт объектов и параметров из сценария

Для импорта определений объектов из скрипта можно использовать команду Data.ImportScript в командном окне Visual Studio. Перед применением команды Data.ImportScript необходимо выделить проект базы данных или сервера в обозревателе решений. Дополнительные сведения см. в разделе Практическое руководство. Импорт объектов базы данных из скрипта.

Для команды Data.ImportScript можно задать следующие параметры:

Параметр

Обязательно

Примечания

/FileName имя_файла.sql

Да

Необходимо задать имя файла импортируемого сценария. Если требуется импортировать файл с именем, содержащим пробелы, необходимо заключить имя в кавычки (например, "мой сценарий.sql").

/Encoding {Unicode | UTF32 | UTF8 | UTF7}

Нет

Задайте кодировку, в которой был сохранен файл. Если кодировка не задана, предполагается, что используется кодировка UTF8.

/Overwrite

Нет

Этот параметр следует указать, если требуется перезаписывать определения объектов, уже существующие в Data базы данных. Если этот параметр не задан, уже существующие объекты не будут импортироваться заново.

/IgnoreExtendedProperties

Нет

Этот параметр необходимо указать, если не нужно импортировать расширенные свойства исходной базы данных и ее содержимого.

/IgnorePermissions

Нет

Этот параметр следует задавать, если необходимо импортировать разрешения из исходной базы данных.

ПримечаниеПримечание
По умолчанию при импорте скрипта с помощью мастера разрешения игнорируются.Этот параметр можно задавать при импорте больших сценариев для повышения производительности.

/AddImportedPermissionsToModel

Нет

Этот параметр необходимо задавать, если не установлен параметр /IgnorePermissions и если требуется добавить разрешения в модель базы данных. После добавления разрешений в модель проект базы данных будет загружаться медленнее.

Сравнение схем базы данных

Для сравнения двух схем баз данных можно использовать команду Data.NewSchemaComparison в командном окне Visual Studio. Необходимо указать поставщика исходной схемы и поставщика конечной схемы. Для каждого поставщика необходимо задать тип и идентификатор. Дополнительные сведения см. в разделе Практическое руководство. Сравнение схем баз данных.

Для каждого поставщика в командах Data.NewSchemaComparison и Data.SchemaCompareSelectSourceTargetSchemas можно задать следующие параметры:

Параметр

Примечания

/ProviderType ConnectionBased /ConnectionString "строка_пользователя"

Используйте этот синтаксис, если в качестве одной из схем необходимо задать строку подключения к базе данных.

/ProviderType ConnectionBased /ConnectionName имя_подключения

Используйте этот синтаксис, если в качестве схемы необходимо задать имя подключения к базе данных.

/ProviderType ProjectBased /ProjectName имя_проекта.dbproj

Используйте этот синтаксис, если в качестве одной из схем необходимо задать проект базы данных. Если требуется импортировать файл с именем, содержащим пробелы, необходимо заключить имя в кавычки (например, "My Project.dbproj").

/ProviderType FileBased /ProjectName имя_проекта.dbschema

Используйте этот синтаксис, если в качестве одной из схем необходимо задать скомпилированный файл с расширением DBSCHEMA. Если требуется импортировать файл с именем, содержащим пробелы, необходимо заключить имя в кавычки (например, "My Project.dbschema").

/ProviderType FileBased /ProjectName имя_проекта.dacpac

Этот синтаксис задается в том случае, если требуется указать выходные данные компиляции проекта приложения уровня данных, dacpac-файл в качестве одной из схем. Если требуется импортировать файл с именем, содержащим пробелы, необходимо заключить имя в кавычки (например, "My Project.dacpac").

Дополнительные команды сравнения схем

В следующей таблице перечислены дополнительные команды DTE для сравнения схем и параметры, которые можно задавать для каждой из них.

Command

Параметр

Примечания

SchemaCompareExportToEditor

Нет

Экспортирует скрипт обновления в редактор Transact-SQL

SchemaCompareExportToFile

Имя файла

Экспортирует скрипт обновления в указанный файл

SchemaCompareFilterAllObjects

Нет

Удаляет все фильтры, все объекты отображаются в результатах сравнения схем

SchemaCompareFilterDifferentObjects

Нет

В результатах сравнения схем отображаются только объекты, которые различаются

SchemaCompareFilterEqualObjects

Нет

В результатах сравнения схем отображаются только одинаковые объекты

SchemaCompareFilterMissingObjects

Нет

В результатах сравнения схем отображаются только объекты, которые встречаются в месте назначения, но не в источнике

SchemaCompareFilterNewObjects

Нет

В результатах сравнения схем отображаются только объекты, которые встречаются в источнике, но не в месте назначения

SchemaCompareFilterNonSkipObjects

Нет

В результатах сравнения схем отображаются только объекты, действие обновления для которых не установлено как "Пропустить"

SchemaCompareFilterSkipObjects

Нет

В результатах сравнения схем отображаются только объекты, действие обновления для которых установлено как "Пропустить"

SchemaCompareNextChange

Нет

Прокручивает результаты сравнения схем для отображения следующего различия

SchemaCompareObjectDefnHorizontal

Нет

Отображает определения исходного и целевого объектов рядом друг с другом в области "Определения объектов" результатов сравнения схем

SchemaCompareObjectDefnOff

Нет

Скрывает отображение области "Определения объектов" из результатов сравнения схем

SchemaCompareObjectDefnVertical

Нет

Отображает определения исходного и целевого объектов друг над другом в области "Определения объектов" результатов сравнения схем

SchemaCompareOptions

Нет

Открывает диалоговое окно "Параметры сравнения схем".

SchemaComparePreviousChange

Нет

Прокручивает результаты сравнения схем для отображения предыдущего различия

SchemaCompareRefresh

Нет

Повторно сравнивает исходную и целевую схемы

SchemaCompareRefreshScriptPreview

Нет

Обновление области скрипта обновления схемы результатов сравнения схем

SchemaCompareRestoreUpdateActionDefaults

Нет

Возвращает любые действия обновления к состоянию, в котором они находились по завершении сравнения

SchemaCompareRestoreUpdateSelectionDefaults

Нет

Возвращает действие обновления для заданных строк к состоянию, в котором они находились по завершении сравнения

SchemaCompareShowUpdateScript

Нет

Открывает окно "Скрипт обновления схемы", если оно еще не отображается

SchemaCompareSpecifySQLCMDVariables

Нет

Открывает диалоговое окно, которые можно использовать для указания значений, которые следует использовать для переменных SQLCMD при сравнении схем

SchemaCompareStop

Нет

Прерывает выполняемое сравнение схем.

SchemaCompareWriteUpdates

Нет

Записывает обновление в целевую схему, если целевая схема поддерживает обновления.

Сравнение данных баз данных

Для сравнения данных из двух баз данных можно использовать команду Data.NewDataComparison в командном окне Visual Studio. Дополнительные сведения см. в разделе Практическое руководство. Сравнение и синхронизация двух баз данных.

Для команды Data.NewDataComparison и для Data можно задать следующие параметры: Команды DataCompareSelectSrcTgtDatabases:

Параметр

Обязательно

Примечания

/SrcServerName имя_сервера

Да

Укажите имя сервера, содержащего исходные данные для сравнения.

/SrcDatabaseName имя_БД

Да

Укажите имя базы данных, содержащей исходные данные для сравнения.

/SrcUserName имя_пользователя

Да

Укажите имя пользователя, которое должно использоваться для подключения к базе данных, содержащей исходные данные для сравнения.

/SrcPassword пароль

Да

Укажите пароль, который должен использоваться для подключения к базе данных, содержащей исходные данные для сравнения.

/SrcDisplayName исходные_данные

Да

Укажите имя, которое должно отображаться в окне "Сравнение схем" в качестве исходного объекта сравнения.

/TargetServerName имя_сервера

Да

Укажите имя сервера, содержащего конечные данные для сравнения.

/TargetDatabaseName имя_БД

Да

Укажите имя базы данных, содержащей конечные данные для сравнения.

/TargetUserName имя_пользователя

Да

Укажите имя пользователя, которое должно использоваться для подключения к базе данных, содержащей конечные данные для сравнения.

/TargetPassword пароль

Да

Укажите пароль, который должен использоваться для подключения к базе данных, содержащей конечные данные для сравнения.

/TargetDisplayName конечные_данные

Да

Укажите имя, которое должно отображаться в окне "Сравнение схем" в качестве конечного объекта сравнения.

Дополнительные команды сравнения данных

В следующей таблице перечислены дополнительные команды DTE для сравнения данных и параметры, которые можно задавать для каждой из них.

Command

Параметр

Примечания

DataCompareExportToEditor

Нет

Экспортирует скрипт обновления в редактор Transact-SQL.

DataCompareExportToFile

Имя файла

Экспортирует скрипт обновления в указанный файл.

DataCompareFilterAllRecords

Нет

Удаляет все фильтры. Все объекты отображаются в результатах сравнения данных.

DataCompareFilterDifferentRecords

Нет

В результатах сравнения данных отображаются только записи, которые различаются.

DataCompareFilterIdenticalRecords

Нет

В результатах сравнения данных отображаются только записи, которые идентичны.

DataCompareFilterOnlyInSourceRecords

Нет

В результатах сравнения данных отображаются только записи, которые встречаются в исходной базе данных, но не в целевой.

DataCompareFilterOnlyInTargetRecords

Нет

В результатах сравнения данных отображаются только записи, которые встречаются в целевой базе данных, но не в исходной.

DataCompareFilterSelectedRecords

Нет

В результатах сравнения данных отображаются только указанные записи.

DataCompareRefresh

Нет

Повторно сравнивает данные в исходной и целевой базах данных.

DataCompareShowUpdateScript

Нет

Отображает окно "Скрипт обновления данных", если оно еще не отображается.

DataCompareStop

Нет

Прерывает выполняемое сравнение данных.

DataCompareWriteUpdates

Нет

Записывает обновления в целевую базу данных.

DataCompareDataCompareRefreshScriptPreview

Нет

Обновляет скрипт в окне "Скрипт обновления данных".

Выполнение операций рефакторинга

В следующих разделах описаны операции рефакторинга базы данных, которые можно выполнить с помощью команд DTE, и параметры каждого из этих операций.

Рефакторинг переименования

В следующей таблице перечислены параметры для команды Data.RenameRefactor.

Параметр

Примечания

/AssumeProjectSchemaForScripts

Если этот параметр задан, считается, что объекты находятся в заданной по умолчанию для проекта схеме, если схема для объекта не задана. Если этот параметр не указан, предполагается, что схемой по умолчанию будет dbo. Этот параметр является необязательным; значение по умолчанию — true. Этот параметр влияет только на скрипты, имеющие действие построения Build. Ссылки в скрипты построения всегда предполагают схему dbo.

/TargetObjectName имя_объекта

Задает полное имя объекта, включая схему, который требуется переименовать (например, dbo.Table1).

/NewName новое_имя_объекта

Задает новое имя, за исключением схемы, объекта, который требуется переименовать (например, Table2).

Дополнительные сведения о том, как использовать рефакторинг базы данных для переименования объекта базы данных, см. в разделе Переименование всех ссылок на объект базы данных.

Полное уточнение имен

В следующей таблице перечислены параметры для команды Data.FullyQualifyNameRefactor.

Параметр

Примечания

/ScriptFilePath путь_и_файл_скрипта

Указывает полный путь и имя файла, в котором требуются полные имена. Например: /ScriptFilePath "C:\Users\Username\Documents\Visual Studio 2010\Projects\MyDatabaseSolution\MyDatabaseProject\Schema Objects\Schemas\dbo\Views\MyView.view.sql"

Дополнительные сведения о том. как использовать рефакторинг базы данных для полного уточнения имен объектов, см. в разделе Полные имена объектов базы данных.

Перемещение объекта в новую схему

В следующей таблице перечислены параметры для команды Data.MoveSchemaRefactor.

Параметр

Примечания

/AssumeProjectSchemaForScripts

Если этот параметр задан, считается, что объекты находятся в заданной по умолчанию для проекта схеме, если схема для объекта не задана. Если этот параметр не указан, предполагается, что схемой по умолчанию будет dbo. . Этот параметр является необязательным; значение по умолчанию — true. Этот параметр влияет только на скрипты, имеющие действие построения Build. Ссылки в скрипты построения всегда предполагают схему dbo.

/TargetObjectName имя_объекта

Задает полное имя объекта, включая схему, который требуется переместить на новую схему (например, dbo.Table1).

/NewSchemaName имя_схемы

Задает схему, в которую требуется переместить объект.

Дополнительные сведения о том. как Перемещение объекта базы данных в другую схему использовать рефакторинг базы данных для перемещения объекта базы данных в другую схему, см. в разделе Перемещение объекта базы данных в другую схему.

Переименование сервера и ссылок на базы данных

В следующей таблице перечислены параметры для команды Data.RenameServerDatabaseReferenceRefactor.

Параметр

Примечания

/OldServerName имя_сервера

Задает имя сервера, который требуется заменить.

/NewServerName имя_сервера

Задает новый сервер, который требуется использовать вместо старого.

/OldDatabaseName имя_базы_данных

Задает имя базы данных, которую требуется заменить.

/NewDatabaseName имя_базы_данных

Задает новую базу данных, которую требуется использовать вместо старой базы данных.

Дополнительные сведения о том, как использовать рефакторинг базы данных для замены имен базы данных и сервера другими именами или переменными SQLCMD, см. в разделе Переименование ссылок на сервер или базу данных.

Развертывание подстановочных знаков

В следующей таблице перечислены параметры для команды Data.WildcardExpansionRefactor.

Параметр

Примечания

/ScriptFilePath путь_и_файл_скрипта

Указывает полный путь и имя файла, в котором требуются полные имена. Имя файла должно быть заключено в двойные кавычки. Например: /ScriptFilePath "C:\Users\Username\Documents\Visual Studio 2010\Projects\MyDatabaseSolution\MyDatabaseProject\Schema Objects\Schemas\dbo\Views\MyView.view.sql"

Дополнительные сведения о том, как использовать рефакторинг базы данных для раскрытия подстановочных знаков в инструкциях SELECT, см. в разделе Расширение набора подстановочных знаков в инструкциях SELECT.

Работа с частичными проектами

В следующей таблице перечислены дополнительные команды DTE для частичных проектов и параметры, которые можно задавать для каждой из них.

Command

Параметр

Примечания

Project.VSDBExportAsPartialProject

Имя файла

Экспортирует выделенное в обозревателе решений содержимое в указанный вами файл частичных проектов.

Project.VSDBImportPartialProject

Имя файла

Импортирует указанный частичный проект (файл .files) в проект базы данных.

Project.VSDBRemovePartialProject

Имя файла

Удаляет указанный разделяемый проект из проекта базы данных.

Дополнительные сведения о частичных проектах см. в разделе Начало командной разработки больших баз данных.

Работа с объектами в представлении схемы

В следующей таблице перечислены дополнительные команды DTE для представления схемы и параметры, которые можно задавать для каждой из них.

Command

Параметр

Примечания

SchemaViewShowDependencies

Нет

Открывает средство просмотра зависимостей схемы для текущего выделения в представлении схемы.

ShowBuiltInElementsInSchemaView

Нет

Включение и выключение отображения элементов встроенной база данных, например схемы sys, в представлении схемы.

ShowExternalElementsInSchemaView

Нет

Включение или выключение отображения внешних элементов, например элементов из указанной базы данных, в представлении схемы.

DeleteObjectSchemaView

Нет

Удаляет выбранный объект из представления схемы вместе с любыми объектами, которые отображаются как дочерние элементы, в зависимости от текущей сортировки.

SynchronizeSchemaView

Нет

Синхронизация объектов в представлении схемы с определениями объектов в проектах базы данных в решении. Эта команда необходима, только если представление схемы по какой-либо причине оказывается не синхронизированным с определениями объектов.

ToggleSchemaViewBySchema

Нет

Включение и выключение отображения в представлении схемы между сортировкой по схеме и по типам объектов.

Анализ кода базы данных

В следующей таблице перечислены команды DTE, которые можно использовать для настройки и применения правил анализа кода базы данных, и параметры, которые можно задавать для каждой из них.

Command

Параметр

Примечания

StaticCodeAnalysisConfigure

Нет

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

StaticCodeAnalysisRun

Нет

Применяет настроенный набор правил к проекту базы данных для определения общих проблем проектирования, именования и выполнения.

Дополнительные сведения об использовании анализа кода базы данных см. в разделе Анализ кода базы данных с целью улучшения качества кода.

См. также

Основные понятия

Сравнение и синхронизация схем баз данных

Сравнение и синхронизация данных одной или нескольких таблиц с данными в справочной базе данных

Начало командной разработки базы данных

Создание и изменение объектов базы данных и сервера