2011-06-20 22 views
12

Mam kilka serwerów z instancjami SQL Server 2008 R2 na nich, a alias nie działa na żadnej z nich.alias nie działa na serwerze sql 2008 r2

Klienci łączą się z tymi serwerami bez żadnego problemu za pomocą protokołu TCP/IP, telnet działa na IP/Port Używam dla mojego aliasu, tworzone są wyjątki zapory, zasadniczo wszystko działa poprawnie, z wyjątkiem sytuacji, gdy utworzę alias, nie mogę połączyć się z nim na moim serwerze za pomocą TCP/IP lub nazwanych potoków (lokalny lub jeden z innych serwerów).

Zainstalowałem najnowsze aktualizacje zbiorcze, które również aktualizują klienta natywnego (co jest moim zdaniem źródłem problemu) i nadal mam problem. Obcą częścią jest to, że jeśli utworzę alias na serwerze z serwerem sql 2005 (natywny klient 9), mogę połączyć się z moimi instancjami r2 z 2008 r. Jakieś sugestie?

+0

Aliasy lub nazwy instancji? Alias ​​jest obiektem. Upewnij się, że uruchomiona jest usługa SQL Browser. –

+0

moja przeglądarka sql działa. Mogę połączyć się z nazwą instancji lub adresem IP. ale kiedy utworzę alias, utknąłem – Saba

+0

Nie rozumiem, alias to coś, czego używasz wewnątrz instancji. Nie jestem świadomy żadnej zdolności nadania nazwanej instancji aliasu. –

Odpowiedz

2

Czy używasz nazwanych wystąpień? A jeśli tak, czy sprawdziłeś, czy port jest statycznie przypisany?

Jeśli używasz domyślnych instancji, czy korzystasz z platformy x64? Istnieją aliasy dla 32-bitowych i 64-bitowych, więc SSMS w tym samym pudełku, co silnik bazy danych, użyłby aliasu w sekcji 32-bitowej, mimo że pudełko ma 64-bitowe numery:

+0

nope , wszystkie są domyślnymi instancjami i używam portów statycznych. tak czy inaczej, mogę połączyć się z moimi wystąpieniami poprzez TCP/IP i nazwę instancji/IP, więc nie ma problemu z konfiguracją mojego protokołu – Saba

+0

Mam tylko węzeł "SQL Native Client Configuration" (nie wspominając o 32-bitowym miejscu) więc zakładam, że alias jest w 64-bitowej wersji natywnego klienta, a wersja 32-bitowa nie jest zainstalowana. – Saba

0

Czy pojawił się któryś z problemów określonych tym łączem? 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/ Jeśli tak, wykonaj i spróbuj go rozwiązać.

+0

To miejsce jest swego rodzaju ostatnią deską ratunku :) Zbadałem problem i pierwsze miejsce, do którego poszedłem, to przewodnik diagnostyczny Pinal, ale w niczym mu to nie pomogło. Zauważ, że mogę połączyć się ze wszystkimi moimi wystąpieniami normalnie przez TCP/IP, jedyną rzeczą, która nie działa, jest alias – Saba

6

Dla mnie ważna była sekwencja tworzenia aliasów. Zobacz ten link: W2K8 R2 SQL Alias will not connect Zacząłem od usunięcia wszystkich aliasów CliConfig i aliasów konfiguracji klienta rodzimego programu Configuration Manager. Następnie utwórz ponownie, dodając najpierw wersję CLICONFG.

  1. run CLICONFG - utworzyć alias TCP (domyślnie w wersji x64 jeśli jesteś na 64-bitowym O/S)

  2. z konfiguracji programu SQL Server Menedżer utworzyć alias pod "SQL Native Client 10.0 konfiguracja"

spróbować połączyć za pomocą SSMS - pracował dla mnie. Jeśli nie, możesz przejść do konfiguracji 32-bitowej. Zrobiłem to tak czy inaczej, ponieważ aplikacja, którą rozwijam, która używa aliasu to x86.

  1. % KatalogGłównySystemu%/SysWow64/cliconfg.exe (w wersji 32-bitowej w 64-bitowym O/S)
  2. "SQL macierzystym klienta 10,0 konfiguracji (32-bitowy)," pod narzędzie do zarządzania konfiguracją.
+0

Ty, Sir, właśnie uratowałeś mój dzień! Wielkie dzięki – Vinzz

1

Wypróbuj za pomocą adresu IP, na przykład 127.0.0.1 zamiast nazwy komputera, localhost lub. (Kropka).

+0

To działało idealnie dla mnie! – MattSlay

22

Po upewnieniu się, że nie jest to problem z firewallem, problem z TCP/IP i możesz regularnie łączyć się z serwerem bez użycia aliasu i masz problem z łączeniem się z alisem, mam ten problem w systemach Vista i Windows 7.

Rozwiązaniem jest skonfigurowanie właściwego portu wewnątrz "Konfiguracja sieciowa serwera SQL" wewnątrz "Menedżer konfiguracji SQL Server".

Oto kroki:

idź do Zarządzanie komputerem -> Serwis i Application -> SQL Server Configuration Manager -> SQL Server Network Configuration

Zauważ, że można także otworzyć bezpośrednio SQL Server Configuration Manager (nie z zarządzania komputerem)

Następnie w SQL Server Konfiguracja sieci, jeśli nie jest jeszcze włączona, włącz protokół TCP/IP.

Kliknij prawym przyciskiem myszy, aby otworzyć właściwości protokołu TCP/IP

Następnie na karcie Adresy IP będziesz miał kilka rekordów.

Dla każdego postawić TCP Port = 1433

Jeśli używasz systemu operacyjnego x64, masz dwa "SQL Server Network Configuration" węzły, po jednym dla 32bit i drugi dla 64-bitowych. Upewnij się, że sprawdziłeś port na obu.

Powodzenia

+1

Dziękuję za wzmianka o wersji 32-bitowej. W moim przypadku było tak dopiero, gdy ustawiłem 32-bitowe aliasy, zanim zacząłem działać –

0

Należy także sprawdzić, czy alias wykorzystuje słuchaczy, które są włączone (to alias skonfigurowany do korzystania z protokołu TCP, podczas gdy serwer nasłuchuje tylko przez pamięć współdzielona?)

5

Dla mnie odpowiedź była używać 32-bitowego CLICONFG. Zarówno Management Studio, jak i aplikacja, którą próbowałem zainstalować, były aplikacjami 32-bitowymi na 64-bitowym serwerze. Morał z tej historii polega na tworzeniu aliasów 64-bitowych i 32-bitowych.

0

U mnie było to spowodowane tworzeniem aliasu na maszynie 64-bitowej, ale oprogramowaniem działającym jako aplikacja 32-bitowa.

Kiedy w SQL Configuration Server Menedżer zapewnienia alias jest ustawiona pod zarówno następujące sekcje:

  1. SQL Native Client {VersionNo} Konfiguracja
  2. SQL Native Client { versionNo} Konfiguracja (32bit)

W ten sposób będzie dostępny niezależnie od platformy procesora. Oczywiście, jeśli z jakiegoś powodu potrzebujesz tylko aliasu dostępnego dla jednej platformy, ustaw odpowiednie, a nie drugie.

0

W moim przypadku zadziałało to tylko wtedy, gdy umieściłem port w połączeniu [serwer] \ [instancja], [port]. Przykład: DBSERVER \ OPERATIONS, 1433

Powiązane problemy