2011-06-20 96 views
12

我有幾臺SQL Server 2008 R2實例的服務器,並且別名在任何服務器上都不起作用。別名不能在SQL Server 2008 r2上工作

客戶端連接到這些服務器使用TCP/IP沒有任何問題,telnet工程IP /端口我用我的別名,防火牆例外創建,基本上一切工作正常,除了當我創建一個別名,我不能使用TCP/IP或命名管道(本地或其他服務器之一)通過它連接到我的服務器。

我已經安裝了最新的累積更新,它也更新本地客戶端(我認爲這是問題的根源),但我仍然遇到問題。陌生人部分是,如果我用sql server 2005(本地客戶端9)在服務器上創建別名,我可以連接到我的2008 r2實例。有什麼建議麼?

+0

別名或實例名稱?別名是一個對象。確保您運行SQL瀏覽器服務。 –

+0

我的SQL瀏覽器正在運行。我可以連接實例名稱或IP。但是當我創建一個別名,我卡住了 – Saba

+0

我不明白,別名是你在實例中使用的東西。我不知道有能力給一個命名實例一個別名。 –

回答

2

你在使用命名實例嗎?如果是的話你是否檢查過該端口是靜態分配的?

如果您使用的是默認實例,您是在x64平臺上運行的嗎?有32位和64位的別名,因此與數據庫引擎相同的盒子上的SSMS將使用32位部分下的別名,即使該盒子是64位。

+0

nope ,它們都是默認實例,我使用靜態端口。無論如何,我可以通過TCP/IP和實例名稱/ IP連接到我的實例,所以我的協議配置沒有問題 – Saba

+0

嗯,我只有「SQL本機客戶端配置」節點(不是在任何地方提到的32位)所以我假設這個別名是在64位版本的本機客戶端下,並且沒有安裝32位版本。 – Saba

0

您是否遇到指定此鏈接的任何問題? http://blog.sqlauthority.com/2008/08/24/sql-server-fix-error-40-could-not-open-a-connection-to-sql-server-fix-connection-problems-of-sql-server/ 如果是這樣,請按照並嘗試解決它

+0

這個地方是我的最後一招:)我研究了這個問題,第一個去的地方是Pinal的故障排除指南,但它根本沒有幫助。請注意,我可以通過TCP/IP正常連接到所有實例,唯一不起作用的是別名 – Saba

6

對我來說,這是創建重要的別名序列。看到這個鏈接: W2K8 R2 SQL Alias will not connect 我開始刪除一切,CliConfig別名和Configuration Manager Native Client配置別名。然後重新創建,首先添加CLICONFG版本。

  1. 運行CLICONFG - 創建TCP別名

  2. 從SQL Server配置 管理器下創建別名(如果你是一個64位的O/S將默認爲64 版) 「SQL Native Client 10.0 configuration」

嘗試使用SSMS進行連接 - 它對我有用。如果不行,你可以繼續嘗試32位設置。無論如何,我做了這個,因爲我正在開發的應用程序使用別名是x86。

  • %SYSTEMROOT%/ SYSWOW64 /工具Cliconfg.exe(在64位的32位ö版本/ S)
  • 「SQL本機客戶端10.0配置(32位)」 下的 配置管理器工具。
  • +0

    您先生剛剛救了我的一天!非常感謝 – Vinzz

    1

    嘗試使用IP地址,如127.0.0.1而不是機器名,本地主機或。(點)。

    +0

    這對我來說非常合適! – MattSlay

    22

    確定之後,它不是防火牆問題,TCP/IP問題,並且您可以定期連接到服務器而無需使用別名,並且只有與別名連接的問題,我在Vista和Windows 7上遇到了這個問題。

    解決方法是在「SQL Server配置管理器」中的「SQL Server網絡配置」中設置適當的端口。

    步驟如下:

    轉到計算機管理 - >服務和應用程序 - > SQL Server配置管理器 - > SQL Server網絡配置

    請注意,您也可以直接打開SQL Server配置管理器(而不是從計算機管理)

    然後在SQL Server網絡配置,如果它尚未啓用,啓用TCP/IP協議。

    右鍵點擊打開TCP/IP協議的屬性

    然後在IP不會忽略選項卡,你將有幾個記錄。

    對於每一個放TCP端口= 1433

    如果使用64位操作系統,你有兩個「SQL Server網絡配置」節點,一個用於32位,另一個用於64位。確保你已經檢查了這兩個端口。

    好運

    +1

    感謝提到32位。在我的情況下,直到我設置了32位別名纔開始工作 –

    0

    此外,檢查您的別名使用已啓用監聽器(是你的別名配置爲使用TCP,而服務器只能通過共享內存在聽嗎?)

    5

    對我來說,答案是使用32位CLICONFG。 Management Studio和我試圖安裝的應用程序都是64位服務器上的32位應用程序。故事的道德是創建64位和32位別名。

    0

    對我而言,這是由於我在64位機器上創建別名而引起的,而軟件是作爲32位應用程序運行的。

    1. SQL Native Client的{VersionNo進行}配置
    2. SQL Native Client的{:

      SQL Server配置管理確保別名以下各節下設置versionNo}配置(32位)

    這樣,無論處理器平臺如何,它都可以使用。當然,如果你只想出於某種原因爲一個平臺提供別名,請設置適當的別名,而不是其他名稱。

    0

    在我的情況下,只有當我將端口放在連接[server] \ [instance],[port]上時才起作用。示例:DBSERVER \ OPERATIONS,1433