Моя компания заставляет меня задуматься о переходе от нашего текущего метода управления базами данных, которые использует наше программное обеспечение. Нам нужно не только управлять базами данных внутри офиса, но и базами данных клиентов по всей стране. В настоящее время у нас есть программа, которая запускает различные сценарии sql для добавления, удаления и обновления полей и таблиц в базах данных, но это начинает становиться большим и громоздким.Как обновить/распределить проекты базы данных SQ Server?
Мне было поручено исследовать проекты базы данных SQL Server, и, что касается создания новой базы данных, она выглядит великолепно. Однако я не могу найти много информации о том, как мы можем распространять обновления для наших клиентов, используя это (они запускают собственные SQL-серверы на сайте), так что они имеют последние таблицы и информацию о схеме, чтобы соответствовать изменениям и добавленной функциональности в нашей программы. Есть ли способ сделать это?
Каждый раз, когда я искал обновление существующей базы данных с проектами БД, он говорит, что использует сравнение схемы. Это определенно не вариант, по разным причинам, вне личных тестовых баз данных.
Я хочу убедиться, что понимаю. Я имею базовую базу данных sql, которая содержит все статические данные и имеет правильную схему как проект SQL. У меня есть клиент, у которого есть база данных на своем сервере, которая нуждается в обновленной схеме и статических данных. Каким будет мой процесс для использования SQLPackage? Я создаю свой SQL-проект и получаю файл dacpac. Затем, на клиентской машине, я бы запускал SqlPackage с некоторыми параметрами, которые я предполагаю, некоторые указывают на dacpac и другие на базу данных/сервер? Если бы вы могли прояснить/исправить этот общий процесс, вы стали бы еще более жизнеспособной, чем вы уже сделали. – downeysyndrome
Исправить. Вот блог, объясняющий развертывание с помощью SqlPackage.exe: http://blogs.msmvps.com/deborahk/deploying-a-dacpac-with-sqlpackage. Для статических данных рекомендуется написать сценарий после развертывания, который объединяет эти данные в таблицы (например, делает его idempotent таким образом, чтобы множественные развертывания не испортили данные). Jamie Thomson имеет примеры этого в этом сообщении в блоге: http://sqlblog.com/blogs/jamie_thomson/archive/2012/01/01/implementing-sql-server-solutions-using-visual-studio-2010-database-projects -a-сборник-оф-проект-experiences.aspx. –
Также здесь страница документа SqlPackage.exe - полезно, поскольку она объясняет различные параметры, необходимые для публикации/скрипта https://msdn.microsoft.com/en-us/library/hh550080(v=vs.103).aspx –