SQL Server,将命名实例转换为默认实例?

时间:2008-08-29 18:55:35

标签: sql-server sql-server-2005 named-instance

我需要将SQL Server 2005的命名实例转换为默认实例。

有没有办法在没有重新安装的情况下执行此操作?


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

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

7 个答案:

答案 0 :(得分:367)

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

如果您想从任何连接字符串 访问命名实例而不使用实例名称,并且只使用服务器名称和/或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部分上具有相同的端口。

答案 1 :(得分:20)

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

答案 2 :(得分:14)

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

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

这具有避免不必要的特定于应用程序的环境逻辑的额外好处,即当您将应用程序复制到登台服务器时,登台服务器已“知道”要使用的数据库。

答案 3 :(得分:2)

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

答案 4 :(得分:2)

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

答案 5 :(得分:0)

你不应该真的需要这样做。大多数声称要求默认实例(如Great Plains或Dynamics)的软件实际上并不存在。

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

答案 6 :(得分:0)

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