gpt4 book ai didi

sql-server-2005 - 部署 SQL Server : installing a second instance?

转载 作者:行者123 更新时间:2023-12-03 19:45:18 25 4
gpt4 key购买 nike

简单的问题。我正在开发一个 Delphi 2007/WIN32 应用程序,它现在使用 MS Access 作为简单的数据存储。我必须修改它以支持 SQL Server Express,这很容易。这些修改正在起作用,因此可以使用 SQL Server 或 MS Access 部署应用程序。 (无论用户喜欢什么。)我确实考虑过将整个应用程序与 SQL Compact 一起部署,但这并不实用。使用 SQL Server Express 2008 代替 2005 是一种选择,但也有一些我们现在不想解决的讨厌的副作用。

问题是部署整个项目。 SQL Server 的安装需要安静的安装,这样用户就不会注意到它。文档中提到了 SQL Server,因此他们知道它就在那里。我们只是不想用技术问题来打扰他们。在大多数情况下,这样的安装会很好。

但是,如果用户已经安装了用于其他用途的 SQL Server (2005) 怎么办?就个人而言,我更愿意在他们的系统上安装第二个 SQL Server 实例,这样它就不会与其他安装冲突。 (因此,如果他们卸载其他应用程序,SQL 实例将保持安装状态。)

虽然 SQL Server 2005 和 2008 可以简单地通过为实例使用两个不同的名称来安装在同一系统上,但我想知道是否也可以在一个系统上安装 SQL Server 2005 两次以获得两个实例。如果可能的话,怎么做?

最佳答案

回答您的问题:是的,SQL2005/SQL2008 和 SQLExpress2005/2008 都可以幸福地并肩生活。 SQLExpress 安装的默认实例名称是 [机器名称]\SQLEXPRESS。但是话虽如此,您应该考虑让您的客户选择使用他们已经拥有的 sql 实例,并且只有在他们选择时才安装新实例。

我不知道是否可以静默安装 SQLExpress(很可能只要在安装时在命令行中指定正确的属性即可)。但是我们已经将它推广给了很多客户,而且他们正常安装它的问题很少。

编辑:我已将此添加为编辑,因为评论不够。

我理解您不愿意让用户手动安装 SQL 和共享另一个实例。为了解决这些问题:

  • 卸载产品永远不应自动卸载 SQL 实例,即使该 SQL 实例在安装该产品时已放置在那里。无论如何,数据库可能会被炸毁,但卸载 SQL 实例应该是一个手动过程,因为它是一个服务器产品,可能会被许多其他产品使用
  • 您可以通过使用体面的安装程序产品使您的任务更轻松。例如,我们使用 InstallShield。它有一个内置的 sql 浏览对话框(它是 InstallShield 的一个内置功能),用户可以使用它来选择他们想要为我们的产品使用的 sql 实例和数据库。然后使用 XML 文件更改任务(也是 InstallShield 中的功能)将用户输入的详细信息插入到 web.config 文件中。通过使用这样的对话框,您可以消除很多潜在的用户错误。
  • 如果已经有一个现有的 sql 实例,请使用它。您的数据库应该对实例的唯一依赖是它是正确的版本(即 SQL2005,而 2008 适合 2005 数据库)。您唯一应该要求自己的实例的情况是,如果您正在处理/存储足够的数据以致需要您自己的服务器,或者您依赖于未记录的功能。如果现有实例已经处于高负载状态,那么坚持在不同的服务器上建立一个新实例是可以的,但是你也避免了整个并排的情况。或者,您可以只安装到现有实例中并让客户 promise 升级硬件。

  • 我希望这会有所帮助——我只是想说服你,需要一个单独的实例的原因是有限的,而且 99% 的时间你都可以很好地安装到现有的实例中。拥有自己的实例很好,但实际上它给您带来的真正好处很少,特别是如果您使用的是强大的安装程序。

    关于sql-server-2005 - 部署 SQL Server : installing a second instance?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1921632/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com