我有两个开发团队,来自不同的团队。
有没有办法设置别名,以便两个组都使用相同的名称进行编码?就目前而言,当B组更改(本地)到./DEV
并且A组再次将其更改回来时,我们会发生连接字符串战争。
答案 0 :(得分:8)
在SQL Server配置管理器中,在SQL Server本机客户端配置部分下有一个名为“别名”的子部分,您可以在此处添加指向命名实例的别名。您只需使用别名,就好像它是具有别名名称的服务器上的默认实例。我们使用这个确切的模型并且只有一个指向标准别名的连接字符串。每个开发人员都有相同的别名,指向他们自己的实例。
答案 1 :(得分:2)
就个人而言,我会让他们都使用同一个盒子。
也就是说,您可以使用SQL Server客户端工具设置local aliases per developer's box。
任何基于IP地址或服务器名称(例如主机文件或DNS)都将失败,因为实例名称(和使用的端口)不同
答案 2 :(得分:0)
别名到本地SqlExpress实例
为了扩展Ben的答案,我有一个特定的要求,即对指向特定服务器实例的连接字符串进行别名,而是将其重新路由到我们的本地开发人员Sql Express实例,即别名来自:< / p>
SomeServer\SomeInstance
到
.\SQLExpress
在我找到link here之前,这有点棘手。我的Sql Express实例在标准端口1433上运行(即适应套件)
为SqlExpress启用TCP / IP
由于通过TCP / IP端口TCP/IP protocol must be enabled进行别名处理。 (如果您在本地工作,则无需打开SqlExpress进行远程访问)。
在Sql Server -> Configuration Tools -> Sql Server Configuration Manager
下使用
同时,将Listen All
属性设置为Yes
。
启用LocalHost IP&#39>
确保IPv4(127.0.0.1
)和IPv6(::1
)本地主机都处于活动状态并已启用。
在每个IP上,将动态端口保持为零(顾名思义,端口将动态分配)。然后全局使用IPAll
动态和TCP端口。
您需要重新启动 MSSQLServer / SqlExpress服务才能实现更改。
创建别名(32位和64位)
在 Sql Native Client xx配置下,这需要简单地添加别名&#34; From&#34; Server\Instance
为 Alias Name ,实际服务器+实例为 Server (即我的本地SqlExpress实例)。我能够通过端口1433或IpAll(9876)上的动态端口进行连接,尽管没有理由使用后者。必须为32位和64位客户端配置执行别名。
您现在应该能够通过SSMS使用别名SomeServer\SomeInstance
进行连接。
其他笔记
SomeServer
的DNS或LocalHosts添加别名。但是,如果你是远程服务器的别名(加上我猜其他一些安全问题),可能需要这样做。因此,似乎Sql Client配置会在任何网络或安全步骤之前处理替换。