将命名实例转换为默认实例?

我需要将 SQLServer2005的命名实例转换为默认实例。

有没有不重新安装的方法?


问题是,6个开发人员中有2个使用命名实例安装。因此,它成为一个痛苦,改变连接字符串为我们其他四个人。我正在寻找阻力最小的路径,让这两个回到我们的团队标准设置。

每个人都表示,这将是,太多的麻烦,这将带走他们的开发时间。我认为这需要一些时间来解决,为了所有参与者的最佳利益,我试图梳理安装的配置应用程序,没有看到任何东西,所以我认为有更多的内部工作知识的人会在这里。

110786 次浏览

据我所知,没有。原因之一是硬盘上的文件夹结构; 它们的名称类似于 MSSQL10。[ instancename ]

更改实例名称的唯一方法是重新安装-卸载并作为默认实例安装。

你根本不需要这么做。大多数 声称需要默认实例的软件实际上并不需要。

如果您重新发布您的情况(安装 X,然后 Y,但需要完成 Z) ,我敢打赌,你会得到一些很好的变通方法。

很多时候,我会使用客户机别名将应用程序指向与其连接字符串所针对的服务器不同的 sql 服务器,尤其是。在使用 DTS 或具有硬编码连接字符串的应用程序时非常方便。让每个人都使用通用的别名,使用连接字符串中的别名,并将每个 dev 框中的别名指向不同的实例。这样您就不必担心服务器是否是默认实例。

这就是为什么许多公司将应用程序的连接字符串存储在机器级别而不是应用程序级别的原因。

只需将连接字符串完全从源代码中取出。然后让每个人把 他们的连接字符串放到 他们的 machine.config 中。

这样做的另一个好处是避免了不必要的特定于应用程序的环境逻辑,例如,当您将应用程序复制到登台服务器时,登台服务器已经“知道”要使用什么数据库。

我还想将一个命名实例转换为默认实例——我的理由是只使用来自各种应用程序的机器名来访问它。

如果您希望从任何连接字符串 而不使用实例名中获取 访问命名实例,并且只使用服务器名称和/或 IP 地址,那么您可以执行以下操作:

  • 打开 SQL Server Configuration Manager
  • SQL Server Network Configuration
  • 单击要使其可用的 Protocols for INSTANCENAME(即 SQLExpress)
  • 右键单击 TCP/IP并单击 Enabled
  • 右键单击 TCP/IP并转到 Properties
    • 转到 IP Addresses选项卡
    • 向下滚动到 IPAll部分
    • 清除字段 TCP Dynamic Ports(即 空[空]的)
    • TCP Port设置为 1433
    • Ok
  • 转到 SQL Server Services
  • 右键单击 SQL Server (INSTANCENAME)并单击 Restart

SQL Server Configuration Manager

这将使命名实例监听默认端口。注意: 您只能配置一个这样的实例——除非实例是故障转移集群,否则没有两个实例可以在 IP All 部分具有相同的端口。

我认为您可以在不安装默认实例的情况下从 SqlServer 迁移数据。您可以在 Oracle Sql Developer 中指定 Sql Server 实例的端口号,并且只使用服务器名称进行连接,而不使用服务器名称和实例。 像这样: 连接到“ MYSERVER,1433”