Опыт работы с SQLExpress для многопользовательского коммерческого приложения?

StackOverflow https://stackoverflow.com/questions/96997

Вопрос

Я унаследовал приложение VB6 / Access, которое мы разрабатывали и продавали в течение многих лет.Мы переходим на SQL Server 2005 Express Edition и .Net.

Приложение может быть многопользовательским.В настоящее время настройка проста для клиента - перейдите в папку, чтобы создать базу данных при первом запуске;второй пользователь переходит к тому же файлу.

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

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

Вы настраиваете отдельную установку для сервера / клиента или просто предоставляете подробные инструкции?В каких вещах клиенты ошибаются с первой попытки?

Это было полезно?

Решение

Проект развертывания из Visual Studio позволяет с легкостью установить экземпляр SQL Server Express.

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

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

Сохранение идентификатора версии в базе данных, например1.0.1 Обновление AssemblyInfo.cs клиентского приложения и обеспечение соответствия версии сборки версии, хранящейся в базе данных.Если этого не произойдет, пользователю будет предложено установить новую версию.

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

Другие советы

Я бы порекомендовал пойти по пути SQL Express и включить его в установочный пакет.Установщик имеет массу опций командной строки, и вы можете использовать SQL-скрипты для выполнения любой конфигурации базы данных после установки (т. Е. для включения / отключения интеграции CLR, OpenRowset, других функций).

Кроме того, он намного стабильнее, чем старые установки MSDE 2000;Мне снились кошмары, подтверждающие это.Я также обнаружил, что в 99 случаях из 100 установка параметров установки базы данных по умолчанию делает людей счастливыми.

Веб-журнал SQL Express

Как установить SQL 2008 Из командной строки

Сколько пользователей и сколько данных?

Я не знаю, существуют ли общие рекомендации относительно того, сколько пользователей - это "слишком много" для SQL Express 2005, но существует жесткий лимит данных в 4 ГБ.Я предполагаю, что вы бы не достигли этого с наследием Access, но было бы полезно знать.

Вы можете автоматизировать установку SQL Express.Я видел, как это было сделано, потому что это сделало что-то, что установила моя жена, и она - последний человек, которого я бы заподозрил в установке этого.

Существует также Версия SQL Server Compact Edition который, как я полагаю, нацелен на .NET 3.5, а также на Windows Mobile.Я полагаю, что это больше похоже на биты "базы данных с одним файлом", подобные тем, которые вы получили с Access.

SQL Express станет огромным шагом вперед по сравнению с Access в плане возможностей и надежности.Это не должно нуждаться в дополнительной настройке, просто в другом подходе при условии, что вы знаете, что делаете.

В моей компании мы часто им пользуемся.Были некоторые проблемы с медленным запуском на более медленных машинах.

Процесс установки не идеален - существует утилита, которая восстановит базу данных, которую приложение использует в качестве шаблона базы данных.

Поскольку вы все еще рассматриваете возможность перехода на SQLExpress, рассматривала ли ваша группа SQLite - файл?Вы по-прежнему можете иметь необходимую функциональность базы данных без необходимости установки движка в системе клиента.

SQL Server 2005 Express Edition легко устанавливается с помощью любого приличного установщика.Пара часов работы - вот и все, что для этого потребуется!Если ваше сердце настроено на это, то не позволяйте страху перед установкой сдерживать вас.

Другой вариант:Я полагаю, что вы также можете использовать SQL Server Express в "файловом режиме", где вы просто указываете на файл MDF и вам не обязательно запускать экземпляр SQL Server.Это было бы очень похоже на то, как это звучит, если ваше текущее приложение использует Access.Я не уверен, как это работает в многопользовательских ситуациях, но, возможно, это стоит изучить.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top