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

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

Я не очень хорошо разбираюсь в студии управления сервером MS SQL, поэтому мне интересно, какой самый простой, самый быстрый и чистый процесс для получения базы данных MS SQL 2005+ в файле, который также очень легко «распаковать» в настоящую базу данных.

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

Мне очень нравится .exe, который добавляет таблицы членства .Net в базу данных по вашему выбору. Действительно проста в использовании. Существуют ли какие-либо инструменты, которые могут делать что-то подобное?

Другой вариант, о котором я знаю, - это файл .bak, но я не считаю его особенно простым в сборке / распаковке. (требуется слишком много шагов, таких как запуск студии управления сервером sql)

1
Thomas Stock 28 Май 2009 в 02:09

4 ответа

Лучший ответ

Я большой поклонник Мастер публикации базы данных Microsoft SQL Server 1.1. Это приложение позволяет использовать простой пользовательский интерфейс для выбора нужной базы данных. Затем он преобразует всю БД, как ее структуру, так и данные, в текстовый файл SQL. Конечному пользователю нужно только запустить файл в пустой базе данных, чтобы все заново создать.

Это хороший метод, потому что его можно использовать в средах, где у пользователей нет прямого доступа к серверу для прикрепления файлов mdf.

2
Michael La Voie 27 Май 2009 в 22:16

Для прямого SQL Server самый быстрый способ - отсоединить базу данных, заархивировать ее и повторно подключить к целевому серверу. Для резервного копирования и восстановления потребуется еще несколько щелчков мышью.

Если вы используете SQL Compact 3.5, вам не нужно ничего делать - база данных - это всего лишь один файл, который развертывается вместе с приложением. Но функциональность в Compact сильно ограничена, поэтому это может быть не вариант в каждом сценарии.

1
cdonner 27 Май 2009 в 22:18

Самым простым для конечного пользователя (а не для вас) является включение всей базы данных в виде компактной версии sql server. Вы даже можете сделать это без какой-либо локальной установки (поместив соответствующую dll в личный путь приложения), так что это не требует никаких усилий.

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

1
ShuggyCoUk 27 Май 2009 в 22:13

Если вы предоставляете файлы базы данных mdf и ldf, вы можете выполнить однострочную команду Attach.

Если вам не требуется много от БД, вы можете попробовать SQL CE, который не является механизмом установки (просто включите сборки), и ваша база данных будет одним файлом.

1
jvanderh 27 Май 2009 в 22:13