【问题标题】:What are the benefits of named instances in SQL Server?SQL Server 中的命名实例有什么好处?
【发布时间】:2014-03-08 01:46:56
【问题描述】:

在 SqlLocalDB 中创建命名实例而不是使用默认的 v11.0 实例有什么好处?在我的场景中,我在连接字符串中使用 AttachDbFileName 选项附加数据库文件。

一个辅助问题:是否可以为不同的 LocalDB 实例设置不同的设置?如果是这样,什么样的设置(我读到你不能改变例如排序规则)?

【问题讨论】:

  • 命名anything有什么好处? :)
  • 你可以通过名字来称呼它。很明显。但请注意,v11.0 也是命名的,但我不需要创建它(共享、管理安全等)。那么为什么要打扰呢?我希望 MS 提供一个功能是有原因的。

标签: sql-server sql-server-2012 localdb


【解决方案1】:

请注意,您只能安装一个默认实例,但可以安装多个命名实例。最好只为每台主机安装默认实例,除非您有特殊需要在同一台主机上安装多个 SQL Server 实例,例如同时运行不同版本、集群或其他隔离要求。任何其他实例都必须命名(显然是为了区分)。

默认实例和命名实例之间的根本区别主要在于网络连接。客户端可以仅使用主机名通过众所周知的 1433 端口连接到默认实例。要连接到命名实例,客户端指定主机和实例名称(例如“MyHost\My_Instance”),SQL Server Browser 服务会返回命名实例正在侦听的端口。

在现实世界中,拥有多个实例的原因因组织而异。以下是一些最常见的原因:

应用功能或负载测试

  • 负载测试 - 能够加载多个代码库,协调停止所需的实例以执行负载测试,进行负载测试,然后在完成后重新启动所有实例。 功能测试
  • 能够拥有多个代码库并能够使用预先分配的资源量进行独立测试。

服务器整合

  • 最近的趋势之一是将多个 SQL Server 实例整合到单个服务器上。对于多个 SQL Server 实例,可以对单个实例执行完整的 SQL Server 备份和恢复,以保持与原始服务器相同的功能。

内部托管\部门服务器共享

  • SQL Server 最初被视为部门解决方案,因此可以在一台物理服务器上拥有多个 SQL Server 实例,以平均共享服务器的资源(大量 CPU 和内存)。
  • 此方案非常适合遵循该范式的组织向部门退款。

安全

  • 多个实例非常适合那些需要提升 SQL Server 权限且不想在同一实例上混合应用程序的讨厌的第三方应用程序。

演示

  • 多个实例非常适合支持演示,其中需要演示特定应用程序及其对 SQL Server 的影响。

来源:

很高兴阅读:

【讨论】:

    【解决方案2】:

    我可以看到两个可能的好处,性能和控制配置的能力。

    LocalDB 的限制方式与其他 SQL Express 实例相同,CPU 和 RAM 限制适用于每个实例。如果您的应用程序使用它自己的实例,它将自己获取所有实例,而无需与其他应用程序共享。使用默认实例意味着您的应用程序必须使用默认实例与其他应用程序共享。

    如果您需要进行任何可能破坏其他应用程序的特殊实例范围的配置,您也可以使用命名实例。或者,如果您担心其他一些行为不端的应用程序可能会对破坏您的应用程序的默认实例进行更改,并让您的客户责备您。双向工作:-)

    【讨论】:

    • 第一个原因(关于资源限制)是有道理的,谢谢。至于第二个问题:我(或任何其他使用共享实例的应用程序)真的可以在 LocalDB 的情况下进行任何实例范围的配置更改吗?
    【解决方案3】:

    如果您希望在同一台计算机上运行多个 SQL Server 实例,则必须为它们命名以区分它们。除此之外,就正常使用而言,没有真正的“好处”。

    如果您需要不同的服务器配置,甚至不同的版本,多个实例很有用。例如,假设您有一个为 Sql 2008 制作的数据库,并希望为使用 Sql 2012 的新应用程序创建一个新数据库。您可以将两者托管在同一台机器上,并使用最高级版本的功能,同时保持旧版本保持原样工作.

    【讨论】:

    • 命名实例是指您使用“sqllocaldb.exe create MyInstance”命令创建的实体。稍后您可以在连接字符串中使用它,例如“Data Source=(LocalDB)\MyInstance;AttachDbFileName=c:\myfile.mdf”
    • 好吧,是的,我们说的是同一件事。我编辑了我的答案,为您提供更多详细信息。
    • 如果您觉得我没有回答您的问题,请随时询问更多详情。
    • 您将节省许可费用
    猜你喜欢
    • 1970-01-01
    • 2021-12-26
    • 2010-10-06
    • 2023-03-14
    • 2011-07-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多