SQL Server 2014 Express .MSI для LocalDB не удалось установить на целевой виртуальной машине

Сообщение было переписано после дополнительного расследования. Сообщение об ошибке было:

Не удалось установить этот продукт, так как он не поддерживается в этой операционной системе. Сведения о поддерживаемых конфигурациях см. в документации по продукту.

Целью установки является гостевая машина Hyper-V: 2 ГБ ОЗУ, 14,5 ГБ свободного места на диске C:, процессор 2,5 ГГц. .NET 3.5 включен.

На этой странице https://www.microsoft.com/en-us/download/details.aspx?id=42299 следующее примечание сбило меня с толку (выделено жирным шрифтом):

Примечание. Microsoft® SQL Server® 2014 Express включает как 32-разрядные, так и 64-разрядные версии. SQLEXPR32_x86 — это пакет меньшего размера, который можно использовать для установки SQL Server 2014 Express только в 32-разрядных операционных системах. SQLEXPR_x86 — это тот же продукт, но он поддерживает установку как в 32-разрядных, так и в 64-разрядных (WoW) операционных системах. SQLEXPR_x64 — это собственный 64-разрядный SQL Server 2014 Express, который поддерживает установку только в 64-разрядных операционных системах. системы. Других различий между этими пакетами нет. Microsoft® SQL Server® 2014 Express не поддерживается в системах IA64.

Формулировка, казалось, указывала на то, что x86.exe будет работать в обеих 32- и 64-битных системах, что согласуется с моими выводами. Но я подумал, что это также указывает на то, что 32bit.msi также будет работать в обеих 32/64-битных системах. Я начинаю думать, что неправильно понял, и был бы признателен за подтверждение того, что ошибка связана с моим прочтением заметки.


person Alan    schedule 30.12.2015    source источник


Ответы (3)


Ваше сообщение об ошибке отвечает на ваш вопрос. Вы пытаетесь установить его на неподдерживаемую ОС. Посетите https://msdn.microsoft.com/en-us/library/ms143506(v=sql.120).aspx, в котором перечислены требования. Похоже, что в среде Hyper-V все версии SQL 2014 поддерживаются только в Windows 2008 SP2. 2008 R2 SP1 или ОС 2012.

person Matthew Verstraete    schedule 30.12.2015
comment
Спасибо, Мэтью, но прежде чем я отмечу это как ответ, посмотрите мою заметку выше (которую я публиковал, пока вы публиковали :-)). Я посмотрел ссылку и прочитал ее, но я успешно установил SQL 2014 на своего гостя, так что теперь я действительно запутался. Не знаю, куда обратиться. - person Alan; 31.12.2015
comment
Мне интересно, относится ли требование к виртуализации, на которое вы ссылались, для хоста Hyper-V. То есть, Hyper-V может быть размещен на ОС Win 8/10, и хотя он работает на этих ОС, он не так предсказуем, как при работе на сервере, отсюда и обнаруженное вами ограничение. Но я ожидаю, что гостевые машины будут работать нормально и принимать SQL, как показывает мой последующий тест, упомянутый выше. - person Alan; 31.12.2015
comment
@Alan Увидев ваше редактирование и перечитав страницу, я думаю, что вы правы. Между установками MSI и EXE не должно быть различий, поскольку это просто разные мастера установки (EXE иногда является загрузчиком для MSI). К сожалению, у меня нет настройки Hyper-V, поэтому я не могу проверить ваши выводы. - person Matthew Verstraete; 31.12.2015
comment
Мне удалось интегрировать 64bitLocalDB.msi в мой setup.exe, и он успешно установился на виртуальной машине. Эмпирически это говорит о том, что я просто не понял заметки Microsoft. Я не буду обновлять этот пост ответом, пока не подтвержу это - хотя, вероятно, их будет немного, я уверен, что есть другие, кто столкнулся с этой проблемой. В конце концов, я не думаю, что это виртуальная машина, это проблема 32/64 бит. Спасибо за ваши комментарии. - person Alan; 31.12.2015

Моя особая проблема заключалась в непонимании того, что 32-битный MSI будет работать на 64-битной ОС. Однажды я перешел на 64-битный MSI SQL Express 2014, который отлично загрузился в виртуальную машину. 32-битный установочный файл x86 .exe действительно работал в 64-битной ОС, но не установочный файл MSI.

person Alan    schedule 04.01.2016

Обратите внимание, что существует два разных имени файла _x86: SQLEXPR32_x86 работает только в 32-разрядных системах. SQLEXPR_x86 (обратите внимание на отсутствующее «32») будет работать как в 64-разрядных, так и в 32-разрядных системах, но по-прежнему работает как 32-разрядный процесс.

person Joel Coehoorn    schedule 04.01.2016