Сколько времени занимает установка SQL Express?
Широко распространена ситуация, когда в решение необходимо интегрировать датабазный движок и распространять его вместе с ним клиентам, чтобы база данных устанавливалась в составе общей инсталляции решения, а клиент про нее может даже особо не знать и не заморачиваться. Очень расстроила на днях одна уважаемая партнерская фирма, которой понадобилось встроить в состав своего решения бесплатный датабазный движок и которая в связи с этим стала воротить нос в сторону, стыдно сказать, MySQL.
– Мужики, разве ваше решение работает не на Windows?
– На ней, родимой, куда от вас деваться.
– Мало одного проца, одного гига памяти? Размер базы ожидает вылезти за пределы 10 гигабайт?
– Да нет, здесь версия рассчитана на средние предприятия, и база данных особо расти не будет.
– Тогда почему MySQL, а не SQL Express?
– Как ты лучше меня знаешь, SQL Express – это младший брат SQL Server. SQL Server затачивался под большие нагрузки и сложные запросы. Его надо настраивать. А здесь ведь сложных запросов не будет. Нам важнее, чтобы он на простых летал.
– Так ведь SQL Express уделывает по производительности MySQL. Безо всякой дополнительной настройки, в том числе на простых запросах.
– Интересно, надо будет посмотреть. Но ты мне еще скажи по-честному, вы же в бесплатной версии все программные возможности порезали. На SQL Express написать вообще чего-нибудь реально?
– Блин, ребята. Ну вы же серьезная компания, а не посиделка студентов младших курсов, которые в течение всего года динамили курс по вычислительной технике. Это там могут рождаться перлы, что основное в SQL – SELECT ... LIMIT, а если оно, скажем, делается при помощи ROW_NUMBER() OVER (ORDER BY ...), то все, кранты. Это уже не может называться нормальным сервером баз данных. Да они ни разу таких слов не знают; по ним, так и сервера в Редмонде работают на *nix. Им, конечно, виднее.
Если говорить серьезно, с точки зрения разработчика SQL Server Express не отличается от корпоративной редакции. Это относится и к базовым программным возможностям средствами SQL, и к созданию хранимых процедур, функций, триггеров, агрегатов, пользовательских типов на языках CLR (C#, VB.NET, Managed C++, ...). Поддерживается тип XML и операции над ним, геопространственные расширения, возможность хранения неструктурированного контента в файловой системе при помощи атрибута FILESTREAM (кстати, данные в таких полях не учитываются в ограничении на размер базы) и многое другое. Например, механизм отслеживания изменений Change Tracking, при помощи которого можно реализовать синхронизацию в отсоединенных приложениях. Скажем, приложение большую часть времени работает автономно, используя SQL Express как локальный кэш. В моменты соединения Express синхронизирует изменения со «взрослым» SQL Server. Кстати, Change Tracking поддерживается в Sync Framework.
На одну физическую машину можно установить до 16 экземпляров SQL Server Express. Они могут администрироваться из графической утилиты SQL Server Management Studio от коммерческой редакции, либо можно скачать ее бесплатную версию здесь, либо скачать SQL Server Express уже вместе с Management Studio здесь. Для SQL Server Express возможно использование полнотекстового поиска и служб отчетности – брать здесь. Собственно, если встраивать SQL Server Express в собственное приложение, как правило, навороты излишни – требуется голый движок. Такая опция тоже существует для свободного скачивания.
Как и остальные редакции, SQL Server Express поддерживает SQL Server Driver for PHP, который обеспечивает обращение к данным SQL Server напрямую из скриптов PHP. Берется бесплатно здесь. Для облегчения процесса переноса данных на SQL Server с других систем можно использовать специализированные утилиты миграции, некоторые из которых не только бесплатны, но и очень просты в использовании. В частности, здесь показан пример миграции практического Web-приложения (форума phpBB) с MySQL на SQL Server Express.
– Во, грузанул! Обожди, дай усвоить. Ответь лучше, сколько времени занимает установка? У нас коллеги говорят, что MySQL ставится максимум 10 мин., а для SQL Server это удовольствие растягивается чуть ли не на час. Прикинь, заказчик запустил инстоллер. Там, собственно, наш кусок – копейки. Все остальное время мы что, должны заставлять его сидеть до опупения и ждать, пока ваш SQL Server поставится?
На последний вопрос я не смог ответить с ходу, т.к. время установки SQL Server Express не отслеживал. Про «взрослый» SQL Server партнер, конечно, загнул. У меня даже на виртуалке получалось заведомо меньше часа. Но и гарантированно больше, чем 10 мин. А что будет в случае SQL Express, пришлось проверить экспериментально. Входные условия: на ноутбуке имеется Windows 7 Ultimate как виртуальная машина под Hyper-V. У нее в распоряжении 1 виртуальный процессор и 1 гигабайт памяти. SQL Server Express брался отсюда. Для него доступны 3 даунлоуда – х64, х86 + WoW, строго х86. Скачал второй вариант и запустил установку. Как можно видеть из журнала установки, время составило 7 мин. 35 сек.
Overall summary:
Final result: Passed
Exit code (Decimal): 0
Exit message: Passed
Start time: 2010-06-22 19:09:19
End time: 2010-06-22 19:16:54
Requested action: Install
Machine Properties:
Machine name: W7X86SQL08R2
Machine processor count: 1
OS version: Windows 7
OS service pack:
OS region: United States
OS language: English (United States)
OS architecture: x86
Process architecture: 32 Bit
OS clustered: No
Product features discovered:
Product Instance Instance ID Feature Language Edition Version Clustered
Sql Server 2008 R2 MSSQLSERVER MSSQL10_50.MSSQLSERVER Database Engine Services 1033 Developer Edition 10.50.1600.1 No
Sql Server 2008 R2 MSSQLSERVER MSSQL10_50.MSSQLSERVER SQL Server Replication 1033 Developer Edition 10.50.1600.1 No
Sql Server 2008 R2 MSSQLSERVER MSSQL10_50.MSSQLSERVER Full-Text Search 1033 Developer Edition 10.50.1600.1 No
Sql Server 2008 R2 MSSQLSERVER MSAS10_50.MSSQLSERVER Analysis Services 1033 Developer Edition 10.50.1600.1 No
Sql Server 2008 R2 MSSQLSERVER MSRS10_50.MSSQLSERVER Reporting Services 1033 Developer Edition 10.50.1600.1 No
Sql Server 2008 R2 SQLEXPRESS MSSQL10_50.SQLEXPRESS Database Engine Services 1033 Express Edition 10.50.1600.1 No
Sql Server 2008 R2 Management Tools - Basic 1033 Developer Edition 10.50.1600.1 No
Sql Server 2008 R2 Management Tools - Complete 1033 Developer Edition 10.50.1600.1 No
Sql Server 2008 R2 Client Tools Connectivity 1033 Developer Edition 10.50.1600.1 No
Sql Server 2008 R2 Client Tools Backwards Compatibility 1033 Developer Edition 10.50.1600.1 No
Sql Server 2008 R2 Client Tools SDK 1033 Developer Edition 10.50.1600.1 No
Sql Server 2008 R2 Integration Services 1033 Developer Edition 10.50.1600.1 No
Package properties:
Description: SQL Server Database Services 2008 R2
ProductName: SQL Server 2008 R2
Type: RTM
Version: 10
SPLevel: 0
Installation location: c:\d018f0600738f5f846\x86\setup\
Installation edition: EXPRESS
User Input Settings:
ACTION: Install
ADDCURRENTUSERASSQLADMIN: True
AGTSVCACCOUNT: NT AUTHORITY\NETWORK SERVICE
AGTSVCPASSWORD: *****
AGTSVCSTARTUPTYPE: Disabled
ASBACKUPDIR: Backup
ASCOLLATION: Latin1_General_CI_AS
ASCONFIGDIR: Config
ASDATADIR: Data
ASDOMAINGROUP: <empty>
ASLOGDIR: Log
ASPROVIDERMSOLAP: 1
ASSVCACCOUNT: <empty>
ASSVCPASSWORD: *****
ASSVCSTARTUPTYPE: Automatic
ASSYSADMINACCOUNTS: <empty>
ASTEMPDIR: Temp
BROWSERSVCSTARTUPTYPE: Disabled
CONFIGURATIONFILE:
CUSOURCE:
ENABLERANU: True
ENU: True
ERRORREPORTING: False
FARMACCOUNT: <empty>
FARMADMINPORT: 0
FARMPASSWORD: *****
FEATURES: SQLENGINE
FILESTREAMLEVEL: 2
FILESTREAMSHARENAME: SQLEXPRESS2
FTSVCACCOUNT: <empty>
FTSVCPASSWORD: *****
HELP: False
IACCEPTSQLSERVERLICENSETERMS: False
INDICATEPROGRESS: False
INSTALLSHAREDDIR: c:\Program Files\Microsoft SQL Server\
INSTALLSHAREDWOWDIR: C:\Program Files\Microsoft SQL Server\
INSTALLSQLDATADIR: <empty>
INSTANCEDIR: C:\Program Files\Microsoft SQL Server\
INSTANCEID: sqlexpress2
INSTANCENAME: SQLEXPRESS2
ISSVCACCOUNT: NT AUTHORITY\NetworkService
ISSVCPASSWORD: *****
ISSVCSTARTUPTYPE: Automatic
NPENABLED: 0
PASSPHRASE: *****
PCUSOURCE:
PID: *****
QUIET: False
QUIETSIMPLE: False
ROLE: AllFeatures_WithDefaults
RSINSTALLMODE: FilesOnlyMode
RSSVCACCOUNT: NT AUTHORITY\NETWORK SERVICE
RSSVCPASSWORD: *****
RSSVCSTARTUPTYPE: Automatic
SAPWD: *****
SECURITYMODE: SQL
SQLBACKUPDIR: <empty>
SQLCOLLATION: Cyrillic_General_CI_AS
SQLSVCACCOUNT: Administrator
SQLSVCPASSWORD: *****
SQLSVCSTARTUPTYPE: Automatic
SQLSYSADMINACCOUNTS: W7X86SQL08R2\Administrator
SQLTEMPDBDIR: <empty>
SQLTEMPDBLOGDIR: <empty>
SQLUSERDBDIR: <empty>
SQLUSERDBLOGDIR: <empty>
SQMREPORTING: False
TCPENABLED: 0
UIMODE: AutoAdvance
X86: False
Configuration file: C:\Program Files\Microsoft SQL Server\100\Setup Bootstrap\Log\20100622_190811\ConfigurationFile.ini
Detailed results:
Feature: Database Engine Services
Status: Passed
MSI status: Passed
Configuration status: Passed
Rules with failures:
Global rules:
Scenario specific rules:
Rules report file: C:\Program Files\Microsoft SQL Server\100\Setup Bootstrap\Log\20100622_190811\SystemConfigurationCheck_Report.htm
Комментарии.
- Как можно видеть из журнала (секция Product features discovered), на машине уже были установлены два экземпляра SQL Server (Developer Ed. и Express), так что время на установку пререквизитов ему не понадобилось. С другой стороны, я потратил время на ручной ввод ответов при установке (выбор эккаунта, серверной коллации, путей, включения FILESTREAM и т.д.) Если сделать unattended setup, оно сэкономится.
- Строго говоря, установка началась не в 19:09, а в 19:05, если считать с момента запуска скачанного ехешника. Это самораскрывающийся архив, 4 минуты он распаковывался во временную директорию. Я не учитываю это время по той причине, что партнер может вполне распаковать его заранее и включить в свой релиз дистрибутив SQL Express уже в раскрытом виде. Не согласные с таким результатом мускулисты могут приплюсовать сюда еще время скачки.
Алексей Шуленин
Comments
Anonymous
January 01, 2003
This is test commentAnonymous
January 01, 2003
This is a test commentAnonymous
January 01, 2003
Нисколько не лукавлю: копи-паст журнала один в один. Знаете, если бы у меня получились неудобоваримые цифры, я бы предпочел промолчать, чем лукавить.Anonymous
July 04, 2010
Я могу поддержать вас с точки зрения сравнения MySQL и Sql Express. Но вот с временем установки лукавите, мало того, что инсталлятор придумал дурак, постоянные проверки на нужные компоненты, если ошибка, то нет никакой помощи по решению или автоматического устранения. А количество шагов в визарде - укошмар.Anonymous
July 04, 2010
Прошу еще заметить, что после всего, инсталляция шла пол часа или больше, серьезно, я не ожидал такого, 2005 ставился у меня быстрееAnonymous
September 30, 2010
станавливал 2008 Express R2 adv как апгрейд c 2008 Expres adv на W2003sp2, стоит ещё VS2008 sp1 . В процессе установки произошел сбой из- за неправ. доменной политики. Вышел из домена, начал установку заново. Сервис БД остался от 2008, остальные службы установилось от R2. Повторил установку - тот же результат. Деинсталлировал все, кроме БД, удалил папки и ветки из реестра MS SQL Server. Устанавливаю R2 c 0, проверка проходит нормально, в процессе установки - сообщение "Программа установки обраб тек операцию" и на этом установка прекращается. На диске созданная папка Содержимое папки C:Program FilesMicrosoft SQL Server100Setup BootstrapLog20100930_100344 30.09.2010 10:36 <DIR> . 30.09.2010 10:36 <DIR> .. 30.09.2010 10:36 1 013 1 30.09.2010 10:06 <DIR> Datastore_ComponentUpdate 30.09.2010 10:04 <DIR> Datastore_GlobalRules 30.09.2010 10:06 119 413 Detail_ComponentUpdate.txt 30.09.2010 10:04 69 840 Detail_GlobalRules.txt 30.09.2010 10:04 <DIR> resources 30.09.2010 10:06 2 283 Summary_nakarte-test_20100930_100344_ComponentUpdate.txt 30.09.2010 10:04 2 588 Summary_nakarte-test_20100930_100344_GlobalRules.txt 30.09.2010 10:04 9 757 SystemConfigurationCheck_Report.htm 30.09.2010 10:06 526 210 WatsonX86_Cpu32_1_ComponentUpdate.log При попытке установить пред релиз - тот же результат. Помогите с установкой, где искать причину сбоя?Anonymous
October 02, 2010
Установка MS SQL Server Express 2008 SP1 заняла час на компьютере со следующими данными: Windows XP SP3, Celeron 1GHz, 512 MB RAM.Anonymous
October 13, 2010
Установка MS SQL Server 2008 R2 Express Edition with Tools заняла 45 минут на компьютере: Windows Vista SP1, Core Duo T2450 2.0 GHz, 1 GB RAM.Anonymous
November 19, 2010
1222222222322222222222222222222 21111111111111113 352456Anonymous
June 03, 2013
The comment has been removed