Published on

May 7, 2015

Создание сложного проекта базы данных в SQL Server с помощью Visual Studio

Управление сложным проектом базы данных может быть сложной задачей, особенно когда есть несколько баз данных с взаимозависимостями. В этой статье мы рассмотрим подход к созданию сложного проекта базы данных в Visual Studio с помощью инструментов SQL Server Data Tools (SSDT), который может помочь преодолеть эти трудности.

Фон

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

Предыдущие попытки создания развертываемого проекта базы данных для этого продукта включали импорт всех баз данных в SSDT. Однако из-за огромного размера и объема задачи Visual Studio часто зависала или вылетала во время процесса импорта.

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

Решение

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

Давайте ближе рассмотрим две базы данных в нашей структуре: DB1 и DB2. DB1 имеет ссылки на DB2, а DB2 имеет ссылки на другие базы данных. Вместо импорта всех баз данных в один проект мы создали проект специально для DB1 и включили только те объекты из DB2, которые ему нужны для разрешения ссылок.

Например, если DB1 нужны только Table1, Table2, Table3, StoredProc1 и Function1 из DB2, мы включили только эти объекты в проект DB1. Мы также создали отдельный проект для DB2, который включал все необходимые объекты из DB2 без каких-либо данных таблиц или фактического кода в хранимых процедурах и функциях.

После успешной сборки проекта DB2 мы создали файл dacpac из него и добавили его в качестве ссылки на базу данных в проект DB1. Мы повторили этот процесс для каждой из других баз данных, что привело к проекту DB1 с ссылками на другие базы данных.

Следуя этому подходу, мы смогли создать проект DB1, который успешно собирается и позволяет развертывание. Большая часть нашей работы с базами данных выполняется в DB1, поэтому это единственный проект, который нам нужен на данный момент. Если разработчикам нужно вносить изменения в другие базы данных, мы можем создать отдельные проекты для каждой из них, которые можно развернуть.

Заключение

Создание сложного проекта базы данных в SQL Server с помощью Visual Studio может быть сложной задачей, особенно при работе с несколькими базами данных и взаимозависимостями. Приняв модульный подход и создав отдельные проекты для каждой базы данных, мы можем преодолеть эти трудности и использовать преимущества SSDT для наших процессов разработки и развертывания.

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

Click to rate this post!
[Total: 0 Average: 0]

Let's work together

Send us a message or book free introductory meeting with us using button below.