Справочник по командам автоматизации функций работы с базами данных в 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 |
Нет |
Применяет настроенный набор правил к проекту базы данных для определения общих проблем проектирования, именования и выполнения. |
Дополнительные сведения об использовании анализа кода базы данных см. в разделе Анализ кода базы данных с целью улучшения качества кода.
См. также
Основные понятия
Сравнение и синхронизация схем баз данных
Сравнение и синхронизация данных одной или нескольких таблиц с данными в справочной базе данных