Руководство. Начало работы с существующей базы данных
Область применения: SQL Server База данных SQL Azure Управляемый экземпляр SQL Azure базе данных SQL в Microsoft Fabric
Проекты SQL содержат декларативные (инструкции CREATE) файлы для всех объектов в базе данных, таких как таблицы, представления и хранимые процедуры. Эти файлы можно использовать для создания новых баз данных, обновления существующих баз данных или даже для отслеживания базы данных в системе управления версиями. Часто мы начинаем с проекта SQL, если у нас есть существующая база данных и хотите создать объекты в проекте SQL, которые соответствуют базе данных с минимальными усилиями.
Некоторые средства проектов SQL включают один шаг для создания нового проекта SQL из существующей базы данных. Другие средства требуют нескольких шагов для создания нового проекта SQL, а затем импорта объектов из существующей базы данных. За исключением инструкций Visual Studio (SQL Server Data Tools), руководство посвящено проектам SQL в стиле ПАКЕТА SDK.
С вариантом 1 в этом руководстве вы:
Шаг 1. Создание проекта SQL из существующей базы данных шаг 2. Создание проекта SQL
С вариантом 2 в этом руководстве вы:
- Шаг 1. Создание пустого проекта SQL
- Шаг 2. Импорт объектов из существующей базы данных
- Шаг 3. Создание проекта SQL
Необходимые компоненты
- Пакет SDK для .NET 8
- Visual Studio 2022 Community, Professional или Enterprise
- SQL Server Data Tools, пакет SDK (предварительная версия) установлен в Visual Studio 2022
- Интерфейс командной строки SqlPackage
# install SqlPackage CLI
dotnet tool install -g Microsoft.SqlPackage
- Пакет SDK для .NET 8
- Интерфейс командной строки SqlPackage
- Шаблоны .NET для Microsoft.Build.Sql.Templates
# install SqlPackage CLI
dotnet tool install -g Microsoft.SqlPackage
# install Microsoft.Build.Sql.Templates
dotnet new install Microsoft.Build.Sql.Templates
Примечание.
Чтобы завершить работу с руководством, вам потребуется доступ к экземпляру SQL Azure или SQL Server. Вы можете разрабатывать локально бесплатно с помощью выпуска разработчика SQL Server в Windows или в контейнерах.
Вариант 1. Создание проекта SQL из существующей базы данных
Шаг 1. Создание проекта SQL из существующей базы данных
В обозревателе объектов SQL Server в Visual Studio щелкните правой кнопкой мыши базу данных, из которой вы хотите создать проект, и выберите "Создать проект...".
В диалоговом окне "Создание проекта" укажите имя проекта, которое не обязательно совпадает с именем базы данных. Проверьте и измените расположение проекта по мере необходимости. Параметры импорта по умолчанию импортируют объекты в папки по схеме, а затем тип объекта. Параметры импорта можно изменить, чтобы изменить структуру папок или включить разрешения в импортируемые объекты. Запустите импорт.
Пока импорт продолжается, ход выполнения отображается как сообщения в диалоговом окне импорта базы данных . После завершения импорта импортированные объекты отображаются в Обозреватель решений, а журналы хранятся в файле в каталоге проекта.Import Schema Logs
Выберите Готово.
Параметр 1 недоступен для командной строки. Вместо этого используйте вариант 2 .
В представлении обозревателя объектов базы данных в VS Code или Azure Data Studio выберите базу данных, из которой вы хотите создать проект. Щелкните правой кнопкой мыши базу данных и выберите "Создать проект из базы данных".
В Azure Data Studio диалоговое окно "Создание проекта из базы данных " требует выбора имени и расположения проекта. Параметры импорта по умолчанию импортируют объекты в папки по схеме, а затем тип объекта. Вы можете выбрать другую структуру папок или включить разрешения в импортируемые объекты перед нажатием кнопки "Создать".
В VS Code командная строка запрашивает имя и расположение проекта. Параметры импорта по умолчанию импортируют объекты в папки по схеме, а затем тип объекта. Вы можете выбрать другую структуру папок или включить разрешения в импортируемые объекты до начала импорта.
Откройте представление "Проекты базы данных", чтобы просмотреть новый проект и импортированные определения объектов.
Параметр 1 недоступен для командной строки. Вместо этого используйте вариант 2 .
Шаг 2. Создание проекта SQL
Процесс сборки проверяет связи между объектами и синтаксисом для целевой платформы, указанной в файле проекта. Выходные данные артефакта из процесса сборки — это .dacpac
файл, который можно использовать для развертывания проекта в целевой базе данных и содержит скомпилированную модель схемы базы данных.
В Обозреватель решений щелкните правой кнопкой мыши узел проекта и выберите "Сборка".
Окно вывода автоматически открывается для отображения процесса сборки. При возникновении ошибок или предупреждений они отображаются в окне вывода. В успешной сборке создается артефакт сборки (.dacpac
файл) его расположение включается в выходные данные сборки (по умолчанию bin\Debug\projectname.dacpac
).
Параметр 1 недоступен для командной строки. Вместо этого используйте вариант 2 .
В представлении проектов баз данных VS Code или Azure Data Studio щелкните правой кнопкой мыши узел проекта и выберите "Сборка".
Окно вывода автоматически открывается для отображения процесса сборки. При возникновении ошибок или предупреждений они отображаются в окне вывода. В успешной сборке создается артефакт сборки (.dacpac
файл) его расположение включается в выходные данные сборки (по умолчанию bin/Debug/projectname.dacpac
).
Параметр 1 недоступен для командной строки. Вместо этого используйте вариант 2 .
Вариант 2. Создание пустого проекта SQL и импорт объектов из существующей базы данных
Кроме того, можно выполнить действия по созданию проекта и импорту объектов отдельно.
Шаг 1. Создание пустого проекта SQL
Мы начинаем проект, создав проект базы данных SQL перед импортом объектов в него.
Выберите "Файл", "Создать", а затем "Проект".
В диалоговом окне "Новый проект" используйте термин SQL Server в поле поиска. Главным результатом должен быть проект базы данных SQL Server.
Нажмите Далее, чтобы перейти к следующему шагу. Укажите имя проекта, которое не обязательно соответствует имени базы данных. Проверьте и измените расположение проекта по мере необходимости.
Выберите Создать, чтобы создать проект. Пустой проект открывается и отображается в Обозреватель решений для редактирования.
Выберите "Файл", "Создать", а затем "Проект".
В диалоговом окне "Новый проект" используйте термин SQL Server в поле поиска. Главным результатом должно быть проект базы данных SQL Server, стиль пакета SDK (предварительная версия).
Нажмите Далее, чтобы перейти к следующему шагу. Укажите имя проекта, которое не обязательно соответствует имени базы данных. Проверьте и измените расположение проекта по мере необходимости.
Выберите Создать, чтобы создать проект. Пустой проект открывается и отображается в Обозреватель решений для редактирования.
В представлении проектов баз данных VS Code или Azure Data Studio нажмите кнопку "Создать проект".
Первый запрос определяет, какой шаблон проекта следует использовать, в первую очередь, на основе того, является ли целевая платформа SQL Server или SQL Azure. Если появится запрос на выбор определенной версии SQL, выберите версию, соответствующую целевой базе данных, но если целевая версия базы данных неизвестна, выберите последнюю версию в качестве значения позже.
Введите имя проекта в появившемся текстовом вводе, которое не обязательно совпадает с именем базы данных.
В появившемся диалоговом окне "Выбор папки" выберите каталог для папки, .sqlproj
файла и другого содержимого проекта.
При появлении запроса на создание проекта в стиле SDK (предварительная версия) нажмите кнопку "Да".
После завершения пустой проект открывается и отображается в представлении проектов баз данных для редактирования.
С установленными шаблонами .NET для проектов Microsoft.Build.Sql можно создать новый проект базы данных SQL из командной строки. Параметр -n
указывает имя проекта, а -tp
параметр указывает целевую платформу проекта.
Используйте этот параметр, чтобы просмотреть все доступные -h
параметры.
# install Microsoft.Build.Sql.Templates
dotnet new sqlproject -n MyDatabaseProject
Шаг 2. Импорт объектов из существующей базы данных
В Обозреватель решений щелкните правой кнопкой мыши узел проекта и выберите import -> Database.... Если этот параметр отключен, в проекте базы данных могут быть созданы объекты. Объекты можно удалить или создать новый проект.
В диалоговом окне импорта базы данных выберите подключение к базе данных, из которой вы хотите импортировать объекты. Если вы подключились к базе данных в обозревателе объектов SQL Server, она присутствует в списке журналов.
Параметры импорта по умолчанию импортируют объекты в папки по схеме, а затем тип объекта. Параметры импорта можно изменить, чтобы изменить структуру папок или включить разрешения в импортируемые объекты. Запустите импорт.
Пока импорт продолжается, ход выполнения отображается как сообщения в диалоговом окне импорта базы данных . После завершения импорта импортированные объекты отображаются в Обозреватель решений, а журналы хранятся в файле в каталоге проекта.Import Schema Logs
Нажмите кнопку "Готово ", чтобы вернуться в проект.
Мы будем использовать интерфейс командной строки SqlPackage для импорта объектов из существующей базы данных в новый проект базы данных SQL, созданный в Visual Studio на шаге 1. Следующая команда SqlPackage импортирует схему базы данных в папку, упорядоченную вложенными папками MyDatabaseProject
схемы и типа объектов.
sqlpackage /a:Extract /ssn:localhost /sdn:MyDatabase /tf:MyDatabaseProject /p:ExtractTarget=SchemaObjectType
Если эти папки помещаются в папку проекта базы данных SQL в стиле ПАКЕТА SDK, они автоматически включаются в проект без необходимости импортировать их или изменить файл проекта SQL.
Примечание.
Расширение База данных SQL Projects в VS Code не поддерживает импорт объектов из базы данных в проект. Используйте расширение База данных SQL Projects в Azure Data Studio для импорта объектов из базы данных или следуйте параметру 1, чтобы создать проект из существующей базы данных в VS Code.
В расширении База данных SQL Projects в Azure Data Studio откройте представление "Проекты баз данных". Щелкните правой кнопкой мыши узел проекта и выберите "Обновить проект" из базы данных.
В диалоговом окне "Обновить базу данных" выберите подключение к базе данных, из которой нужно импортировать объекты. Если вы подключились к базе данных в представлении "Подключения", она присутствует в списке журналов.
Выберите вариант "Просмотреть изменения в схеме", чтобы просмотреть и выбрать подмножество объектов для импорта или применения всех изменений для импорта всех объектов.
Интерфейс командной строки SqlPackage можно использовать для извлечения схемы существующей базы данных в .dacpac
файл или отдельные .sql
файлы. Следующая команда SqlPackage извлекает схему базы данных в .sql
файлы, организованные вложенными папками схемы и типа объектов.
sqlpackage /a:Extract /ssn:localhost /sdn:MyDatabase /tf:MyDatabaseProject /p:ExtractTarget=SchemaObjectType
Если эти папки помещаются в папку проекта базы данных SQL в стиле ПАКЕТА SDK, они автоматически включаются в проект без необходимости импортировать их или изменить файл проекта SQL.
Шаг 3. Создание проекта SQL
Процесс сборки проверяет связи между объектами и синтаксисом для целевой платформы, указанной в файле проекта. Выходные данные артефакта из процесса сборки — это .dacpac
файл, который можно использовать для развертывания проекта в целевой базе данных и содержит скомпилированную модель схемы базы данных.
В Обозреватель решений щелкните правой кнопкой мыши узел проекта и выберите "Сборка".
Окно вывода автоматически открывается для отображения процесса сборки. При возникновении ошибок или предупреждений они отображаются в окне вывода. В успешной сборке создается артефакт сборки (.dacpac
файл) его расположение включается в выходные данные сборки (по умолчанию bin\Debug\projectname.dacpac
).
В Обозреватель решений щелкните правой кнопкой мыши узел проекта и выберите "Сборка".
Окно вывода автоматически открывается для отображения процесса сборки. При возникновении ошибок или предупреждений они отображаются в окне вывода. В успешной сборке создается артефакт сборки (.dacpac
файл) его расположение включается в выходные данные сборки (по умолчанию bin\Debug\projectname.dacpac
).
В представлении проектов баз данных VS Code или Azure Data Studio щелкните правой кнопкой мыши узел проекта и выберите "Сборка".
Окно вывода автоматически открывается для отображения процесса сборки. При возникновении ошибок или предупреждений они отображаются в окне вывода. В успешной сборке создается артефакт сборки (.dacpac
файл) его расположение включается в выходные данные сборки (по умолчанию bin/Debug/projectname.dacpac
).
Проекты базы данных SQL можно создавать из командной dotnet build
строки с помощью команды.
dotnet build
# optionally specify the project file
dotnet build MyDatabaseProject.sqlproj
Выходные данные сборки включают любые ошибки или предупреждения, а также определенные файлы и номера строк, в которых они происходят. В успешной сборке создается артефакт сборки (.dacpac
файл) его расположение включается в выходные данные сборки (по умолчанию bin/Debug/projectname.dacpac
).