#sql-server #mdf
#sql-сервер #mdf
Вопрос:
Я пытаюсь создать приложение, которое использует локальный файл базы данных .mdf (не прикрепленный к серверу sql). Visual Studio говорит, что перед этим я должен установить SQL Server Express. Мне было интересно, как я могу развернуть приложение в окне клиентов. Им также нужно установить SQL Server Express?
Большое спасибо
Комментарии:
1. mdb = MS Access / SQL Server использует .mdf /.ndf /.ldf — так что же это теперь??
Ответ №1:
Им нужен установленный SQL Server Express. После установки вам необходимо прикрепить файл базы данных (.mdf) к серверу.
Комментарии:
1. Спасибо за ваш ответ. Я не хочу присоединять его к серверу. Я просто хочу, чтобы он был автономным. Требуется ли для этого установка sql Express, поскольку я не хочу, чтобы мои клиенты устанавливали это.
2. Да. Файл .mdf должен быть прикреплен к экземпляру SQL Server, чтобы его можно было использовать. Если это невозможно, изучите SQL Server Compact Edition. Файлы для этого сервера имеют расширение .sdf. Я не знаю, какой язык программирования вы используете, но если это разновидность .NET, SQL Server CE может быть встроен в ваше приложение и не требует автономного сервера.
3. Если вы хотите, чтобы ваши базы данных были автономными и не требовали сервера, используйте либо MS Access (*.mdb / *.accdb), либо базы данных SQLite. Если вам нужно, чтобы ваши базы данных были защищены именами пользователей и паролями, выберите Access.
Ответ №2:
Не развертывайте MDFS. Пусть ваше приложение использует сценарии развертывания и запускает сценарии, которые создают базу данных, а также сценарии, которые создают все объекты в базе данных. Проблема с развертыванием двоичного файла (.MDF) заключается в том, что вы не сможете его обновить. В версии 1.1 вашего приложения вы столкнетесь с дилеммой, как развернуть ваш новый MDF, но сохранить все данные, которые ваши пользователи сохранили в старом .MDF. Это не тривиальная проблема. Red Gate пытается внедрить свое решение для непрерывной интеграции, которое использует инструменты diff для генерации сценариев обслуживания / обновления. Microsoft продвигает проект базы данных, который работает аналогично на основе сравнения различий, выполняемого инструментом vsdbcmd. Я не поклонник инструментов на основе различий, они склонны к принятию неверных решений, я гораздо, гораздо больше предпочитаю явные сценарии обновления.
Комментарии:
1. Вы правы в том, что инструменты могут принимать неправильные решения, поскольку они не могут предугадать намерения пользователя. В Red Gate мы скоро добавим новую функцию в SQL Compare, которая позволяет пользователю настраивать сценарий миграции и сохранять его для повторного использования в будущих миграциях, охватывающих те же версии базы данных. Свяжитесь с Дэвидом.аткинсоном по red-gate.com для получения дополнительной информации.
2. Есть ли причина не развертывать mdf при первоначальной установке и не использовать скрипты для последующих обновлений?
3. Тогда вы зависите от правильных версий — с начальным скриптом, который будет работать на любой версии, используемой клиентом (в зависимости от того, какие функции, специфичные для версии, вы использовали, конечно).
Ответ №3:
в обозревателе решений щелкните правой кнопкой мыши на вашем проекте
затем в новом элементе
затем выберите обслуживаемую базу данных
создайте базу данных и используйте ее