2010-01-13 2 views
2

Прежде всего, я здесь новый, так что я бы сказал HELLO EVERYONE и спасибо за много лет помощи.SQL Server 2008 + C# + Inno Installer

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

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

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

Я уверен, что это возможно, на самом деле я устанавливаю приложение 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, к примеру?

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

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

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

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

ответ

1

Во-первых, вы знаете, что файл SQLEXP32_x86_ENY.exe, который вы загрузили, является SQL Server Express edition - справа? Это бесплатно, даже для коммерческих целей, но у него есть несколько ограничений (используется только 1 процессор, максимальный размер DB ограничен 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

Должен/Может ли пользователь и связанный с ним пароль искусственного пользователя SQLServerUser автоматически и прозрачно создаваться программой установки InnoSetup? – ChrisW

+0

Да, это определенно могло - есть много API для создания нового пользователя в Windows и установки для него свойств –

0

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

Thanks marc_s !!!!!!!!!!