SQL Server 2008 + C # + Inno Installer - PullRequest
       12

SQL Server 2008 + C # + Inno Installer

2 голосов
/ 13 января 2010

Во-первых, я здесь новичок, так что я бы сказал ПРИВЕТ ВСЕМ и спасибо за годы помощи.

У меня следующая проблема:

Мне нужно создать установку приложения C #, использующего SQL Server 2008. Я использую InnoSetup Installer, потому что я думал, что это может быть лучшим выбором, но я понятия не имею, как установить SQL Server 2008 и несколько баз данных (. mdf, .ldf или .bak), которые должны быть установлены на локальном компьютере.

Итак, моя задача, имея на своем компьютере приложение C # и инструмент SQL Server 2008 engine +, чтобы распространять его среди моих клиентов без присмотра (потому что тот факт, что они используют базу данных, должен быть прозрачным для конечный пользователь).

Я уверен, что это возможно, на самом деле я устанавливаю приложение C # и механизм SQL Server (загружено SQLEXP32_x86_ENY.exe), но как насчет баз данных? Это моя проблема, а также правильная конфигурация SQL SERVER: потому что, как вы, наверное, знаете, это не так тривиально, чтобы заставить его работать должным образом (проблемы контроля доступа, права администратора и т. Д.).

Например, чтобы установить SQL Server, я делаю это в режиме консоли, как благословляет Microsoft:

SQLEXP32_x86_ENY.exe /ACTION=install /FEATURES=SQL,Tools
/INSTANCENAME=SQLExpress
/SECURITYMODE=SQL /SAPWD=****
/SQLSYSADMINACCOUNTS="Builtin\Administrators"
\ENABLERANU /SQLSVCACCOUNT=""
/SQLSVCPASSWORD=""

Что я должен написать в / SQLSVCACCOUNT / SQLSVCPASSWORD, например?

Что я должен сделать, чтобы импортировать мои существующие базы данных, которые я предоставляю? До недавнего времени люди использовали объект CMO SQLDMO, но я читал, что это больше не поддерживается.

Как ты это делаешь? Вот в чем вопрос, по крайней мере, купольные наконечники могут быть полезны.

Моему клиенту нужна локальная база данных, но в начале ему нужно было создать несколько баз данных, а также некоторые исходные данные.

Заранее спасибо !!!

Ответы [ 2 ]

1 голос
/ 13 января 2010

Во-первых, вы знаете, что загруженный вами файл SQLEXP32_x86_ENY.exe является выпуском SQL Server Express - верно? Он бесплатный, даже для коммерческих целей, но у него есть несколько ограничений (используется только 1 процессор, максимальный размер БД ограничен 4 ГБ и еще несколько).

Во-вторых, для вашего SQLSVCACCOUNT - лучший способ для производственной среды - иметь специальную системную учетную запись для запуска SQL Server - что-то вроде «искусственного» пользователя с именем SQLServerUser или как вы хотите его назвать. У этой учетной записи есть пароль, и это две вещи, которые вы бы поставили для SQLSVCACCOUNT и SQLSVCPASSWORD.

Для среды разработки эти настройки обычно установлены на что-то вроде SYSTEM\NETWORK SERVICE или NT AUTHORITY\LOCAL SYSTEM что-то похожее (для учетной записи).

Что касается присоединения существующих баз данных к новому экземпляру SQL Server - у вас есть несколько вариантов:

  • если вы можете сделать это в интерактивном режиме, загрузите и установите выпуск SQL Server Management Studio Express и присоедините ваши базы данных в этом инструменте

  • если вам нужно сделать это во время установки, вы можете, например, используйте sqlcmd - инструмент SQL командной строки - для выполнения оператора SQL, например ATTACH DATABASE ......, непосредственно из командной строки. sqlcmd устанавливается вместе с SQL Server (включая редакции Express)

  • если вам нужен полный контроль, вы можете использовать SMO - объекты управления SQL Server - которые устанавливаются вместе с SQL Server 2008 для автоматизации вашей задачи (вместо устаревшего SQL-DMO, который больше не поддерживается)

0 голосов
/ 15 января 2010

Наконец-то я поработаю с SQL SERVER COMPACT 3.5 ... Он дает мне достаточно ресурсов для моих предложений, и его немного легче развернуть. Кроме того, я буду уверен, что мои пользователи не используют базу данных ненадлежащим образом ... Спасибо!!!!! Во всяком случае, я буду постоянно пытаться правильно развернуть SQL SERVER 2008, но Vista - это неприятность! Hahaah

Спасибо marc_s !!!!!!!!!!

...