2

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

我有以下问题:

我需要创建一个使用 SQL Server 2008 的 C# 应用程序的安装。我正在使用 InnoSetup 安装程序,因为我认为它可能是最佳选择,但我不知道如何安装 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 中写什么?

我应该怎么做才能导入我提供的现有数据库?直到最近人们还使用 SQLDMO CMO 对象,但我读到它不再受支持。

你是怎样做的?这就是问题所在,至少圆顶提示可能有用。

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

提前致谢!!!

4

2 回答 2

1

首先,您知道SQLEXP32_x86_ENY.exe您下载的文件是 SQL Server Express版本 - 对吧?它是免费的,即使用于商业目的,但它确实有一些限制(仅使用 1 个 CPU,最大数据库大小限制为 4 GB 和更多)。

其次,对于您SQLSVCACCOUNT而言,生产环境的最佳实践是拥有一个特殊的系统帐户来运行 SQL Server,例如调用的“人工”用户SQLServerUser或任何您想要调用的用户。这个帐户有一个密码,这就是你需要为SQLSVCACCOUNT和提供的两件事SQLSVCPASSWORD

对于开发环境,这些设置通常设置为类似SYSTEM\NETWORK SERVICENT AUTHORITY\LOCAL SYSTEM类似的东西(对于帐户)。

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

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

  • 如果您需要在安装期间执行此操作,您可以使用sqlcmd- 命令行 SQL 工具 -ATTACH DATABASE ......直接从命令行执行 SQL 语句。sqlcmd与 SQL Server 一起安装(包括 Express 版本)

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

于 2010-01-13T11:08:09.600 回答
0

最后,我将使用 SQL SERVER COMPACT 3.5 ...它为我的提议提供了足够的资源,并且更易于部署。同样,我会确保我的用户不会以不良方式使用数据库...谢谢!!!!!!无论如何,我将继续尝试正确部署 SQL SERVER 2008,但 Vista 是一个痛苦的屁股!哈哈哈

谢谢marc_s!!!!!!!!!!

于 2010-01-15T12:54:42.043 回答