簡體   English   中英

我們如何為連接字符串.config中使用的Sql Server實例名設置別名?

[英]How do we alias a Sql Server instance name used in a Connection String .config?

我有兩個開發團隊,來自不同的團隊。

  • A組針對Sql Server 2008 R2的本地默認實例進行開發;
  • B組針對Sql Server 2008 R2的本地命名實例進行開發。

有沒有辦法設置別名,以便兩個組編碼相同的名稱? 現在,我們有連接字符串的戰爭,因為B組改變(本地)到./DEV組再次改變它?

在SQL Server配置管理器中,在SQL Server本機客戶端配置部分下有一個名為“別名”的子部分,您可以在此處添加指向命名實例的別名。 您只需使用別名,就好像它是具有別名名稱的服務器上的默認實例。 我們使用這個確切的模型並且只有一個指向標准別名的連接字符串。 每個開發人員都具有指向其自己實例的相同別名。

就個人而言,我會讓他們都使用同一個盒子。

也就是說,您可以使用SQL Server客戶端工具為每個開發人員的框設置本地別名

任何基於IP地址或服務器名稱(例如主機文件或DNS)都將失敗,因為實例名稱(和使用的端口)不同

別名為本地SqlExpress實例

為了擴展Ben的答案,我有一個特定的要求,即為指向特定服務器實例的連接字符串添加別名,而是將其重新路由到我們的本地開發人員Sql Express實例,即別名來自:

SomeServer\SomeInstance

.\SQLExpress

這被證明有點棘手,直到我在這里找到這個鏈接 我的Sql Express實例在標准端口1433上運行(即適應套件)

為SqlExpress啟用TCP / IP

由於通過TCP / IP端口進行別名,因此必須啟用TCP / IP協議 (如果您在本地工作,則無需打開SqlExpress進行遠程訪問)。

Sql Server -> Configuration Tools -> Sql Server Configuration Manager下使用Sql Server -> Configuration Tools -> Sql Server Configuration Manager

啟用TCP / IP

同時,將Listen All屬性設置為Yes

啟用LocalHost IP

確保IPv4( 127.0.0.1 )和IPv6( ::1 )localhosts都處於活動狀態並已啟用。

在每個IP上,將動態端口保持為零(顧名思義,端口將動態分配)。 然后全局使用IPAll動態和TCP端口。

激活本地主機

您需要重新啟動 MSSQLServer / SqlExpress服務才能實現更改。

創建別名(32位和64位)

Sql Native Client xx配置下 ,這需要簡單地將別名“From” Server\\InstanceAlias Name ,將實際服務器+實例添加為Server (即我的本地SqlExpress實例)。 我能夠通過端口1433或IpAll(9876)上的動態端口進行連接,盡管沒有理由使用后者。 必須為32位和64位客戶端配置執行別名。

添加Sql別名

您現在應該能夠通過SSMS使用別名SomeServer\\SomeInstance進行連接。

其他說明

  • 由於我是一個本地實例的別名,我不必為從主機, SomeServer到DNS或LocalHosts的別名。 如果你是遠程服務器的別名(加上我猜其他一些安全問題),這可能是必需的。
  • 我不需要運行Sql Browser服務。

因此,似乎Sql Client配置會在任何網絡或安全步驟之前處理替換。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM