Я использую SQL Server 2008 R2 и VS2010. Я сделал простое приложение, используя эти инструменты. Я прикрепляю базу данных как .mdf в своем приложении и развертываю это приложение на другой машине, это прекрасно работает. Теперь, если я планирую новую версию своего приложения, в которой некоторые расширенные функции, я могу загрузить код по DLL, но проблема в обновлении файла .mdf, для обработки этого я экспортирую базу данных в листы .xls (у приложения есть одна утилита для резервного копирования базы данных) а затем импортировать в SQL Server для создания нового файла .mdf. У кого-то есть лучшее решение? Могу ли я открыть старую версию файла .mdf в SQL Server (стороннее программное обеспечение) и выполнить на нем сценарий DML/DDL, чтобы обеспечить совместимость последнего кода и базы данных? Могу ли я сохранить файл .sql в одном из кода проекта и выполнить его с помощью некоторой утилиты ..? Любой класс в C#, который может справиться с этим ..?План выпуска для моего приложения на другом компьютере с использованием файла .mdf
ответ
Я не получил ваш запрос полностью. Вы хотите обновить БД через приложение? Конечно, вы можете запускать файлы .sql через ваше приложение, но я не уверен, что это поможет вам изменить конфигурацию базы данных.
В качестве альтернативы, если у вас уже есть обновленный файл .mdf, а имя базы данных такое же, вы можете выполнить следующие шаги. 1. Отсоедините базу данных SSMS в сторонней среде через SSMS. 2. Замените .mdf, .ldf и .ndf (если есть) на диске. 3. Прикрепите обновленный файл .mdf. Это позволит получить новые определения объектов, а также данные.
Насколько я знаю, нет никакого процесса для слияния файлов .mdf, так как SQL Server может быть не в состоянии точно идентифицировать похожие объекты, поскольку таблицы sys могут быть разными, а также не знали какие данные должны храниться в конечной базе данных, в случае возникновения структуры таблицы, ограничений или конфликтов данных.
Однако, глядя на ваши требования, наилучшим образом я могу предложить,
1. Сгенерировать скрипты Alter для таблиц, модифицированных (щелкнув правой кнопкой мыши по имени объекта и используя параметр «Таблица скриптов как ..»). Конечно, я предполагаю, что у вас есть список измененных объектов и модификаций.
2. Подключите два сервера БД по сети и напишите пакет SSIS или импортируйте данные из старой БД в новую для таблиц, которые вы хотите.
Надеюсь, это поможет.
Я не хочу потерять данные из старого файла .mdf. Просто я хочу, чтобы в файл .mdf добавились данные из старого .mdf-файла и некоторая новая структура таблицы или новый colm. –
О, хорошо. Тогда, я думаю, вы можете просто сгенерировать sql-скрипты в файл .sql для всех измененных объектов из старой БД через SSMS и запустить их на новом сервере БД. – Bedabrata
Можете ли вы предоставить мне код или способ, как это сделать? –