Экспресс SQL Server для производственных баз данных?

На Солярисе,

netstat -k

Показывает сводку различной статистики. Полезный для проверки ошибок и т.д.

14
задан 31 August 2009 в 08:34
6 ответов

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

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

SQL-серверу нравится много RAM.Чем больше, тем лучше. Поскольку SQL Server не может загрузить данные в кэш, это создаст дополнительную нагрузку для дисков. Необходимо посмотреть на Web Edition или выпуск Рабочей станции SQL Server. Те выпуски имеют более высокие пределы, чем выпуск Экспресса, но стоят меньше, чем Standard Edition.

Если Вы действительно запускаете с выпуска Экспресса, можно всегда обновить позже до Standard Edition после покупки лицензии.

17
ответ дан 2 December 2019 в 21:00
  • 1
    +1 can' t добавляют что-либо еще к тому ответу –  Nick Kavadias 31 August 2009 в 08:47
  • 2
    Я не думаю, рабочая группа и веб-лицензия выпуска могут использоваться для внешних размещенных бизнес-приложений. –  Akash Kava 31 August 2009 в 11:25
  • 3
    Лицензии ЦП доступны для всех выпусков (кроме Экспресса, который doesn' t нужна лицензия ЦП), что означает, что можно использовать ее для общедоступного веб-сайта. Here' s ссылка на Рабочую группу лицензия bit.ly/KDLDR ЦП. Я couldn' t находят Web Edition легко, но любой VAR должен смочь обеспечить его без большого оглядывания. –  mrdenny 31 August 2009 в 11:31
  • 4
    Я также предлагаю запуститься с чего-то выше Экспресса, и переместиться от экспресса до любого другого выпуска может иногда быть трудным. –  DanBig 31 August 2009 в 17:35
  • 5
    SQL Express является тем же самым механизмом как другие выпуски, только с пределами размера на месте. Перемещение от Экспресса до другого выпуска является просто вопросом отсоединения базы данных от выпуска Экспресса и присоединения его к другому экземпляру, который выполняет другой выпуск. –  mrdenny 5 January 2010 в 23:51

Несколько производственных проблем и обходных решений, которые я имел с выпуском Экспресса:

Запланированное резервное копирование

SSIS

Профилирование

  • Никакой профилировщик SQL
  • Обходное решение: попробуйте SqlProfiler За Express Edition
  • Протест: Я не находил его всегда полезным в решении производственных чрезвычайных ситуаций, как то, когда sqlexpress берет 100% мощности процессора сервера. Я не мог добраться, профилировщик производят любую трассировку в одном таком случае.
  • См. также: Какого профилировщика использовать с экспрессом sql?
15
ответ дан 2 December 2019 в 21:00
  1. При чтении Лицензии SQL Server Вы не должны покупать дополнительную лицензию на пассивный сервер, если его только используемый для обработки отказа и это не служит запросам до Ваших первых сбоев сервера.

  2. Мы использовали SQL Server Express для довольно длинного, и его польза и намного лучше затем более ранний механизм данных Microsoft, у нас есть более затем 200 simulatenous соединений, но у нас только есть одна база данных размера 2 ГБ, и все гладко. У нас никогда не было проблем, если мы избегаем дорогих соединений, и мы делаем хорошую индексацию. Теперь мы используем Стандарт SQL, но пока Ваш размер базы данных не больше затем 4 ГБ, и Ваше число пользователей менее затем 200-500, можно, конечно, жить с SQL Express.

  3. SQL Server Express использует немного меньше объема потребляемой памяти ~200MB, где еще Стандартный выпуск использует ~1.5GB, вероятно, потому что стандартный выпуск сделает большое кэширование. Ваши запросы будут медленнее в Экспрессе в немногих миллисекундах по сравнению со стандартным выпуском. Выпуск Unfortunately Express не использует многоядерные CPU (thats ограниченная функция), таким образом, это не очень поможет, есть ли у Вас 2 ядра или 4 ядра.

2
ответ дан 2 December 2019 в 21:00
  • 1
    Я думал, что SSE 2008 использовал мультиядра (до 4)? –  Beep beep 1 September 2009 в 00:52
  • 2
    Стандарт @LuckyLindy будет использовать до 4 сокетов со многими ядрами на сокет, как Вы имеете. –  mrdenny 1 September 2009 в 05:48

LuckyLindy - Я поощрил бы Вас останавливаться на только секунду и проверять, что Вам не нужен SQL Agent. Вы записали:

Мы собираемся развернуть двойное веб-/внутреннее транзакционное приложение, где у каждого клиента есть их собственная база данных. Каждая база данных является очень маленькой - менее чем 50 МБ каждый, таким образом, мы задавались вопросом, будет ли иметь смысл использовать SQL Express 2008 вместо полного SQL Server.

Каков Ваш план относительно резервных копий? Вы не должны использовать SQL Agent, но он уверенный делает жизнь DBA легче. Вы могли записать T-SQL/SMO/PowerShell/whatever сценарии, которые делают Ваши резервные копии и затем выполняются через sqlcmd или PowerShell с помощью Запланированной задачи.

Каков Ваш план относительно сопровождения базы данных? Со временем те базы данных должны будут дефрагментироваться и проверяться на непротиворечивость. Standard Edition имеет все виды положительных героев для создания этого легким, тогда как в Экспрессе необходимо работать (снова со сценариями и запланированными задачами).

Как Вы будете уведомлены относительно проблем на сервере? Агент помогает здесь с Предупреждениями уведомить Вас, когда журнал становится полным, диск заполняется и т.д.


Это критические задачи типа DBA SQL Server. Это - одна вещь выполнить Экспресс для внутреннего приложения, но после того как Вы начинаете говорить нам о хостинге их для клиентов я волнуюсь :)


Часть 2 этого спрашивает Вас, сколько клиентов Вы планируете поддержку на этом - и в запуске и после одного года? Если Вы скажете, то "100 клиентов", затем 100 баз данных 50 МБ не будут достаточны на Экспрессе - у Вас просто нет достаточной памяти. Heck - в зависимости от того, сколько дельты Вы имеете, Вы могли бы истратить в 15 DBS, я не знаю.

У нас никогда не будет больше чем ~200 параллельных пользователей, и большинство операций будет более транзакционным (который, кажется, способствует большому количеству высокоскоростных дисков по тяжелой RAM/ЦП, правильно?)

Транзакционные операции, такие как ВСТАВКИ все еще записаны в память, так не ожидайте необходимость в меньшей поддержке памяти. На самом деле, в зависимости от того, сколько ВВОДИТ Вас, делают, у Вас могли бы быть большие потребности памяти, чем большинство с тем числом пользователей. При загрузке большого количества данных, которые люди не будут действительно использовать затем, это все еще занимает память. Вы могли бы столкнуться с состязательными проблемами между "данными, которые пользователи запрашивают часто" и "данные, которые пользователи загружают, который никто не запросит некоторое время". SQL защищает нас путем сохранения людей данных, запрашивают более часто в памяти дольше, но у Вас все еще будет конкуренция.

На данном этапе я околачиваюсь lol. И 200 параллельных пользователей не насмехаются со мной ни над одним для Экспресса. Скажем, 64k является средним требованием к памяти соединения, сколько связей Ваши приложения установят? Вы будете использовать организацию пула подключений?

В целом, мое инстинктивное чувство от чтения Вашего описания говорит, "Нет - Express Edition просто не достаточно мощно". И я ненавижу Выпуск Рабочей группы - думают, что это - мошенничество - настолько Стандартный, кажется правильным мне.

2
ответ дан 2 December 2019 в 21:00
  • 1
    Scott - Большой ответ. К Вашей точке... SQL Server Express на самом деле не имеет никакого предела размера ресурса хранения через базы данных, у Вас просто не может быть единой базы данных больше чем с 4 ГБ данных. Как тест я создал 10 000 баз данных 100 МБ (1 ТБ) на единственном сервере, и SQL Server Express хорошо работала. Кроме того, память, связанная с каждым соединением, не считается к общему количеству на 1 ГБ. Я действительно соглашаюсь, что управление всеми этими базами данных могло бы быть чем-то вроде боли..., но с тех пор we' ll на самом деле имеют 1000-е баз данных, we' d, вероятно, нужны сценарии так или иначе (there' s никакой путь я хочу вручную коснуться базы данных, если это не становится поврежденным). –  Beep beep 4 September 2009 в 00:43
  • 2
    +1, я соглашаюсь, что это был ответ gr8, но я также upvoted это –  Gennady Vanin Геннадий Ванин 26 August 2010 в 15:18

Вы рассмотрели использование одного из свободного DBMS (MySQL, PostreSQL...)? Это облегчило бы Ваше лицензирование проблем?

Если это не опция, SQL Server Express походит на хорошее решение.

1
ответ дан 2 December 2019 в 21:00
  • 1
    Мы на самом деле выполнили тесты производительности против всех главных баз данных в прошлом году - MySQL, PostgreSQL, Firebird, DB2, Oracle, SQL Server, SQL Server Express и Рабочий стол SQL. Мы нашли, что DB2, Oracle и SQL Server (и Экспресс, но не Настольные) сдули MySQL и PostgreSQL в Windows для наших транзакционных операций - фактором 2. 1/2 производительность означает дважды # серверов. При хостинге на Linux MySQL и PostgreSQL сделали немного лучше, но все еще наравне. –  Beep beep 1 September 2009 в 00:48

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

  1. Сторонний продукт, такой как SQLAutomate
  2. Планировщик задач Windows
  3. Стандартный или корпоративный выпуск SQL Server с установленной функцией главного сервера 1 и 2 очень дешевы или бесплатны. 3 стоит дорого, если он еще не доступен в вашей среде.

См. Отличную презентацию Майкла Оти (в Google) на тему «Использование SQL Server Express в производственной среде».

1
ответ дан 2 December 2019 в 21:00

Теги

Похожие вопросы