Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Инсталятор для клиент-серверного приложения на базе MS SQL Server  [new]
DarkDiamonD
Member

Откуда:
Сообщений: 3
Здравствуйте, товарищи! Помогите, пожалуйста, советом как сделать правильно.. Ситуация такая...
Есть программа на C#, работающая с БД SQL Server 2008 R2 Express через LINQ to SQL, используя следующую строку подключения:
Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\LISDatabase.mdf;Integrated Security=True;User Instance=True
(Сгенерирована студией для проекта LINQ to SQL)
Насколько я понимаю, при этом стартует еще один экземпляр службы SQLEXPRESS от имени текущего пользователя Windows, и в нем регистрируется наша БД (добавляется файл LISDatabase.mdf). Таким образом все работает локально, и для этой программы создан инсталлятор, который просто проверяет установлен ли SQL Server на данной машине, ставит его если нет, и дальше ставит саму прогу, копируя в том числе файл *.mdf в свою директорию.
Задача состоит в том, чтобы теперь вынести БД на отдельный сервер в локальной сети и сделать максимально простую инсталяцию всего этого дела.
То есть нужно
1) Определиться какой способ аутентификации лучше подойдет: Windows или SQL Server (что безопаснее и проще настраивается)
2) Сделать инсталятор для сервера, который
2а) устанавливает SQL Express, если не установлен другой SQL Server
2б) добавляет нашу БД к установленному серверу
2в) в случае Server Autentification регистрирует пользователя на сервере. (Здесь я не совсем уверен, т.к. еще путаюсь в ролях, схемах и пользователях)
3) Несколько переписать клиента в соответствии с тем, какой будет сервер.
Буду очень признателен за любые советы и ссылки по пунктам 1) и 2). Сейчас я все настраиваю через SQL Server Management Studio. Но для заказчика нужно сделать все максимально простым и легковесным.
28 май 11, 21:29    [10725389]     Ответить | Цитировать Сообщить модератору
 Re: Инсталятор для клиент-серверного приложения на базе MS SQL Server  [new]
kDnZP
Member [заблокирован]

Откуда: ★[msg=16399436]★[msg=20850760]
Сообщений: 11289
DarkDiamonD,
1. Для домена лучше Windows-аутентификация. Для других случаев - вопрос спорный и завязан на организацию ЛВС.
2. Задлянафига? Т.е. я бы (на месте админа) крайне негативно воспринял попытки какого-то приложения мне сервак поставить. Что же касается инсталляторов SQL Server - у Майкрософта их есть несколько, на разный вкус, цвет и размер кошелька.
2б-2в - решается скриптованием действий. Для понимания что и как делать есть BOL.
3. В принципе все должно своидиться к редактированию строки подключения. На этом настройка клиентской части завершается.

* Для заказчика (разового случая - можете сами поставить, заодно заработаете), для постоянных случаев - есть соответствующие админы, DBA их звать.
28 май 11, 21:43    [10725426]     Ответить | Цитировать Сообщить модератору
 Re: Инсталятор для клиент-серверного приложения на базе MS SQL Server  [new]
Lepsik
Member

Откуда: glubinka
Сообщений: 4257
kDnZP
DarkDiamonD,
2. Задлянафига? Т.е. я бы (на месте админа) крайне негативно воспринял попытки какого-то приложения мне сервак поставить.


эта редакция для того и служит чтобы с приложением поставляться
30 май 11, 20:14    [10734777]     Ответить | Цитировать Сообщить модератору
 Re: Инсталятор для клиент-серверного приложения на базе MS SQL Server  [new]
kDnZP
Member [заблокирован]

Откуда: ★[msg=16399436]★[msg=20850760]
Сообщений: 11289
Lepsik
kDnZP
DarkDiamonD,
2. Задлянафига? Т.е. я бы (на месте админа) крайне негативно воспринял попытки какого-то приложения мне сервак поставить.


эта редакция для того и служит чтобы с приложением поставляться

Что, серьезно? А другие редакции нужны, для запуска ракет в космос? Если бы сервак ставился на рабочее место пользователя - хрен с ним. Если бы SQL CE в проекте была - тоже нормально. Но, вот если делается попытка втихаря поднять еще один инстанс/сервер - мне бы такое не понравилось однозначно.
31 май 11, 08:35    [10736265]     Ответить | Цитировать Сообщить модератору
 Re: Инсталятор для клиент-серверного приложения на базе MS SQL Server  [new]
DarkDiamonD
Member

Откуда:
Сообщений: 3
kDnZP,

Там где есть DBA, разумеется проблем не возникнет. С великим облегчением даем ему нашу БД, и он сам добавляет ее на сервере, как ему удобно. Проблема в том, что заказчики сильно отличаются по своему уровню IT администрирования. В лучшем случае админ занимается насущными делами по настройке ОС, сети, офисного софта и переборке железа. В худшем — все это выполняет сотрудник с другой основной специализацией. Если сам сервер он и поставит, то возиться с настройкой придется мне или кому-то еще от нашей конторы. Вот и хочется максимально упростить процесс.
В данный момент схема развертывания следующая:
1) На сервер ставится SQL Server 2008 R2 Express (На свой комп я ставил релиз "Microsoft SQL Server2008 R2 Express with Advanced Services". Так вот он особо простым в установке мне не показался.)
2) Ставится если нет в комплекте Management Studio.
3) При помощи последней добавляется наша БД и настраиваются права доступа к ней.

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

Сейчас разобрался, как сгенерировать скрипт по БД в Management Studio (Нашел здесь). Насколько я понимаю, теперь будет достаточно его исполнить на нужном нам сервере? Попробую сегодня же вечером.
Теперь ищу, как установить самый минимальный релиз сервера, и, с какими ключами его запускать, чтобы делал все по умолчанию, ни о чем не спрашивая. Если кто знает, пожалуйста, поделитесь.
И вообще.. Я в этом деле новичок. Так что принимаются любые советы, коментарии, как делать лучше да правильнее... )))
31 май 11, 11:00    [10736912]     Ответить | Цитировать Сообщить модератору
 Re: Инсталятор для клиент-серверного приложения на базе MS SQL Server  [new]
DarkDiamonD
Member

Откуда:
Сообщений: 3
Кажется, уже сам нашел, о чем спрашивал.. ))
С этой страницы можно скачать нужный дистрибутив (в моем случае Database Only). А здесь вроде задокументировано, как его настроить. Конечно, еще предстоит во всем разобраться. Поэтому, если кто знает про какие-нибудь подводные камни, буду премного благодарен.
31 май 11, 11:32    [10737237]     Ответить | Цитировать Сообщить модератору
 Re: Инсталятор для клиент-серверного приложения на базе MS SQL Server  [new]
kDnZP
Member [заблокирован]

Откуда: ★[msg=16399436]★[msg=20850760]
Сообщений: 11289
DarkDiamonD, вот, вы уже на правильном пути.
Делается это так обычно:
Пишется инструкция по установке ПО, где описано:
1. Зайди туда, выкачай это (если в комплекте не положили) и установи. В вашем случае SQLEXPRESS
2. Настрить нужно вот таким образом (перечисляете какие порты открыть, как проверить) со стороны клиента и т.д. Ссылки на статьи и рекомендации, решение проблем по установке стороннего ПО желательны.
3. Все, с серваком вы разобрались, если кто-то не может установить - подымать вопрос о проф. пригодности. А также появляется возможность заработать денег.
4. Терь ваша часть (ваш клиент) и БД.
5. В инструкции выкладывается с картинками подключение БД в SSMS, либо дается набор скриптов для автоматического выполнения дейстий (что не исключает документирования), хоть на тех же батниках с использованием sqlcmd или osql. И в батниках, и в описании - обязательно вынести вверх все, что требует настройки (указание сервера, портов и прочего). Тем же способом (тут уж скриптами гораздо проще) - раздача прав. Тут же рекомендации по резервному копированию и обслуживнию (ОБЯЗАТЕЛЬНО). А лучше готовые скрипты для планировщика (и если что, будет возможность отмазаться - заказчик сам дурак).
6. Описание настройки вашей клиентской части. Ну можете утилитку для редактирования строки подключения какую-нить вложить. Это совсем для идиотов.
7. Никаких самодельных инсталляторов для стороннего ПО настоятельно не рекомендуется. Только для своего, ну и россыпи длл, активХ или чего подобного.
8. Инструкцию держать актуальной и периодически дорабатывать по возникновению идиотских случаев. А они будут 100% даю.
9. Если случай разовый, то лишние пункты можно опустить. Хотя особо лишних тут нет. Лучше один раз создать заготовку, потом будет проще ее под других заказчиков допиливать.

* Прошу учесть, что написано сходу, с головы, посему мог чего-то забыть ;).
31 май 11, 11:53    [10737467]     Ответить | Цитировать Сообщить модератору
Между сообщениями интервал более 1 года.
 Re: Инсталятор для клиент-серверного приложения на базе MS SQL Server  [new]
f50
Member

Откуда: Россия
Сообщений: 459
люди, скажите, кто нибудь вставлял инстал MSSQL Express к себе в инсталятор?

О своем случае... программа удобная у меня, народу нравится, но вот MSSQL 99% людей отпугивает. Ну не любит наш народ ставить всякие сервера... любит чтоб скачал-установил на автомате-запустилось! Инсталл даже в 150мег не отпугнёт...

Мне требуется встроить установку MSSQL в свой инсталл. В итоге - инсталл ставит MSSQL + мою программу на локальный ПК. Можно так MSSQL поиспользовать?

Сообщение было отредактировано: 31 окт 12, 16:05
31 окт 12, 16:03    [13403281]     Ответить | Цитировать Сообщить модератору
 Re: Инсталятор для клиент-серверного приложения на базе MS SQL Server  [new]
Winnipuh
Member [заблокирован]

Откуда: Київ
Сообщений: 10428
f50
люди, скажите, кто нибудь вставлял инстал MSSQL Express к себе в инсталятор?

О своем случае... программа удобная у меня, народу нравится, но вот MSSQL 99% людей отпугивает. Ну не любит наш народ ставить всякие сервера... любит чтоб скачал-установил на автомате-запустилось! Инсталл даже в 150мег не отпугнёт...

Мне требуется встроить установку MSSQL в свой инсталл. В итоге - инсталл ставит MSSQL + мою программу на локальный ПК. Можно так MSSQL поиспользовать?


вставлял.
31 окт 12, 16:08    [13403318]     Ответить | Цитировать Сообщить модератору
 Re: Инсталятор для клиент-серверного приложения на базе MS SQL Server  [new]
f50
Member

Откуда: Россия
Сообщений: 459
Winnipuh
вставлял.


А можно поподробнее, линк с сайта MS версии SQL сервера?

Целиком его вставляли к себе в инсталятор, а потом с ini файлом запукали распаковку-установку? Или у себя на машине распаковывали, потом по файлам "запихивали" в инсталл, и регили "руками"?

Фокус уходит от основного инсталятора? Мне вот не надо, чтоб высплавали диалоговые окна MS, лиц. соглашения на английском и т.п.
1 ноя 12, 11:01    [13406877]     Ответить | Цитировать Сообщить модератору
 Re: Инсталятор для клиент-серверного приложения на базе MS SQL Server  [new]
f50
Member

Откуда: Россия
Сообщений: 459
up
2 ноя 12, 14:09    [13414358]     Ответить | Цитировать Сообщить модератору
 Re: Инсталятор для клиент-серверного приложения на базе MS SQL Server  [new]
Winnipuh
Member [заблокирован]

Откуда: Київ
Сообщений: 10428
f50
up


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

типа такого

http://social.msdn.microsoft.com/Forums/en-US/sqlexpress/thread/28e0c22f-9512-47e2-bf22-70ea7976f742/
2 ноя 12, 14:21    [13414451]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить