SQL Server 2008+;C#和#x2B;Inno安装程序

SQL Server 2008+;C#和#x2B;Inno安装程序,c#,sql-server,sql-server-2008,inno-setup,C#,Sql Server,Sql Server 2008,Inno Setup,首先,我是新来的,所以,我要向大家问好,谢谢你们多年来的帮助 我有以下问题: 我需要创建一个使用SQLServer2008的C#应用程序的安装。我使用InnoSetup Installer是因为我认为它可能是最好的选择,但我不知道如何安装SQL Server 2008,以及应安装在本地计算机上的几个数据库(.mdf、.ldf或.bak) 因此,我的任务是,在我的计算机中安装C#app和SQL Server 2008 engine+工具,以无人值守的方式将其分发给我的客户机(因为他们使用的数据库对

首先,我是新来的,所以,我要向大家问好,谢谢你们多年来的帮助

我有以下问题:

我需要创建一个使用SQLServer2008的C#应用程序的安装。我使用InnoSetup Installer是因为我认为它可能是最好的选择,但我不知道如何安装SQL Server 2008,以及应安装在本地计算机上的几个数据库(.mdf、.ldf或.bak)

因此,我的任务是,在我的计算机中安装C#app和SQL Server 2008 engine+工具,以无人值守的方式将其分发给我的客户机(因为他们使用的数据库对最终用户来说应该是透明的)

我确信这是可能的,实际上我安装了C应用程序和SQL Server引擎(下载了
SQLEXP32\u x86\u 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=""
例如,我应该在/sqlsvccount/sqlsvccassword中写什么

如何导入我提供的现有数据库?直到最近人们才习惯使用SQLDMOCMO对象,但我读到它不再受支持

你是怎么做到的?这就是问题所在,至少穹顶的尖端可能是有用的

我的客户需要一个本地数据库,但一开始他们需要在中创建一些数据库和一些初始数据


提前感谢

首先,您知道您下载的文件
SQLEXP32\u x86\u ENY.exe
是SQL ServerExpress版本-对吗?它是免费的,即使是出于商业目的,但它也有一些限制(仅使用1个CPU,最大DB大小限制为4 GB或更多)

第二,对于您的
sqlsvccount
,生产环境的最佳实践是使用一个特殊的系统帐户来运行SQL Server,类似于一个名为
SQLServerUser
的“人工”用户,或者任何您想称之为的用户。此帐户有密码,这是您为
sqlsvccount
sqlsvccassword
提供的两个密码

对于开发环境,这些设置通常设置为类似于
SYSTEM\networkservice
NT AUTHORITY\LOCAL SYSTEM
的类似设置(对于帐户)

至于将现有数据库附加到新的SQL Server实例,您有几个选项:

  • 如果可以以交互方式执行此操作,请下载并安装SQL Server Management Studio Express edition,并将数据库附加到该工具中

  • 如果需要在安装期间执行此操作,例如,可以使用命令行SQL工具
    sqlcmd
    ,直接从命令行执行SQL语句,如
    ATTACH DATABASE…
    <代码>sqlcmd随SQL Server一起安装(包括快速版)

  • 如果需要完全控制,可以使用随SQL Server 2008一起安装的SMO(SQL Server管理对象)来自动化任务(而不是不再支持的旧式SQL-DMO)


最后,我将使用SQL SERVER COMPACT 3.5。。。它为我的提议提供了足够的资源,并且更易于部署。 此外,我将确保我的用户不会以不好的方式使用数据库。。。 谢谢 无论如何,我将继续努力正确部署SQLServer2008,但Vista是一个令人头痛的问题!哈哈


谢谢marc_s

InnoSetup安装程序是否应该/能否自动透明地创建人工SQLServerUser用户和相关密码?是的,它肯定可以-有很多API可以在Windows中创建新用户并为其设置属性