ďťż
 
MSDTC =?ISO-8859-2?Q?k=B3opoty_z_komunikacj=B1?= ďťż
 
MSDTC =?ISO-8859-2?Q?k=B3opoty_z_komunikacj=B1?=
Zobacz wiadomości
 
Cytat
A gdyby tak się wedrzeć na umysłów górę, / Gdyby stanąć na ludzkich myśli piramidzie, / I przebić czołem przesądów chmurę, / I być najwyższą myślą wcieloną. . . Juliusz Słowacki, Kordian
Indeks BCB i MySQL subiekt gt fototapeta
 
  Witamy

MSDTC =?ISO-8859-2?Q?k=B3opoty_z_komunikacj=B1?=



Piotr Porzucek - 13-05-2007 00:18
MSDTC =?ISO-8859-2?Q?k=B3opoty_z_komunikacj=B1?=
  Witam, mam następujący problem, z którym nie mogę sobie poradzić:

Sieć lokalna z 2 serwerami:

A) SQL Server 2005 Express Edition (WindowsXP Sp2)
B) SQL Server 2005 Standard Edition (Windows 2003 Server Sp2)

Próbuje wykonać transakcję rozproszoną z A -> B. Otrzymuję komunikat:

"Transakcja została już jawnie lub niejawnie przekazana lub przerwana".

Próbuje wykonać transakcję rozproszoną z B -> A. Otrzymuję komunikat:

"No transaction is active."

Transakcja jest bardzo prosta, w stylu:

begin distributed tran
SELECT * FROM SerwerA.testowa.dbo.tabela;
commit

Na obu komputerach są włączone MSDTC, odpowiednio skonfigurowane (do
pracy w sieci), nie ma żadnych firewalli (sieć lokalna), nazwy serwerow
są poustawiane (w pliku hosts). O co może chodzić??

Pozdrawiam,
Piotr





Marcin A. Guzowski - 13-05-2007 00:18

  Piotr Porzucek wrote:
> Witam, mam następujący problem, z którym nie mogę sobie poradzić:
>
> Sieć lokalna z 2 serwerami:
>
> A) SQL Server 2005 Express Edition (WindowsXP Sp2)
> B) SQL Server 2005 Standard Edition (Windows 2003 Server Sp2)
>
> Próbuje wykonać transakcję rozproszoną z A -> B. Otrzymuję komunikat:
>
> "Transakcja została już jawnie lub niejawnie przekazana lub przerwana".
>
> Próbuje wykonać transakcję rozproszoną z B -> A. Otrzymuję komunikat:
>
> "No transaction is active."
>
> Transakcja jest bardzo prosta, w stylu:
>
> begin distributed tran
> SELECT * FROM SerwerA.testowa.dbo.tabela;
> commit
>
> Na obu komputerach są włączone MSDTC, odpowiednio skonfigurowane (do
> pracy w sieci), nie ma żadnych firewalli (sieć lokalna), nazwy serwerow
> są poustawiane (w pliku hosts). O co może chodzić??

O szereg rzeczy (niestety). Ogólnie rzecz biorąc różne wersje
koordynatorów niekoniecznie się ze sobą lubią (wersje na różne systemy
operacyjne).

Najpierw sprawdź network issues. Nie chodzi tutaj tylko o
firewalle/sieć. MSDTC tak na prawdę śmiga po RPC, więc czasem w tej
usłudze może być coś nie tak. Kompleksowo testy możesz załatwić sobie
fajnym narzędziem - DTCPingiem:

http://www.microsoft.com/downloads/d...displaylang=en

Jeżeli doprowadzisz do sytuacji, że narzędzie to wykaże prawidłową
komunikację, to na 95% wszystko pójdzie prawidłowo przy prawdziwej
transakcji rozproszonej.

Drugą sprawą jest prawidłowa konfiguracja obydwu MSDTC. Mówiąc, że masz
to odpowiednio skonfigurowane, możesz być w dużym błędzie, zwłaszcza na
XP, gdzie domyślnie wszystko jest powyłączane. Poczytaj, posprawdzaj:

http://support.microsoft.com/?id=817066
http://blogs.msdn.com/florinlazar/ar...18/159127.aspx

Microsoft się do tego nie przyznaje, ale już mi się zdarzyła sytuacja,
że dwie konkretne wersje MSDTC za żadne skarby nie chciały ze sobą
współpracować.. też i tak bywa (ale szanse na to, że tak jest w Twoim
przypadku, to ok 1/1000).

--
Pozdrawiam,
Marcin Guzowski
http://guzowski.info




Piotr Porzucek - 13-05-2007 00:18

  Marcin A. Guzowski napisał(a):
>
>
> O szereg rzeczy (niestety). Ogólnie rzecz biorąc różne wersje
> koordynatorów niekoniecznie się ze sobą lubią (wersje na różne systemy
> operacyjne).
>
> Najpierw sprawdź network issues. Nie chodzi tutaj tylko o
> firewalle/sieć. MSDTC tak na prawdę śmiga po RPC, więc czasem w tej
> usłudze może być coś nie tak. Kompleksowo testy możesz załatwić sobie
> fajnym narzędziem - DTCPingiem:
>
> http://www.microsoft.com/downloads/d...displaylang=en
>
>
> Jeżeli doprowadzisz do sytuacji, że narzędzie to wykaże prawidłową
> komunikację, to na 95% wszystko pójdzie prawidłowo przy prawdziwej
> transakcji rozproszonej.
>
> Drugą sprawą jest prawidłowa konfiguracja obydwu MSDTC. Mówiąc, że masz
> to odpowiednio skonfigurowane, możesz być w dużym błędzie, zwłaszcza na
> XP, gdzie domyślnie wszystko jest powyłączane. Poczytaj, posprawdzaj:
>
> http://support.microsoft.com/?id=817066
> http://blogs.msdn.com/florinlazar/ar...18/159127.aspx
>
> Microsoft się do tego nie przyznaje, ale już mi się zdarzyła sytuacja,
> że dwie konkretne wersje MSDTC za żadne skarby nie chciały ze sobą
> współpracować.. też i tak bywa (ale szanse na to, że tak jest w Twoim
> przypadku, to ok 1/1000).
>
>
>

OK, dziękuje za odpowiedź. Z problemem w sieci lokalnej sobie poradziłem
- transakcje rozproszonę śmigają, DTCTester poprawnie się uruchamia w
obie strony. Teraz, chciałbym uruchomić transakcję z zewnętrznym
serwerem (nie działają niestety). Mam znowu 2 serwery:

A) SQL Server 2005 Standard Edition (Windows 2003 Server Sp2) (mój w
sieci lokalnej)
B) SQL Server 2005 (zewnętrzny)

Pomiędzy nimi *firewall*. Mam dostęp jedynie do serwera A. Zapytania
rozproszone działają bez problemu w obie strony.

Próbuje wykonać transakcję rozproszoną z *A* -> *B*. Otrzymuję komunikat:

"No transaction is active."

Próbuje wykonać transakcję rozproszoną z *B* -> *A*. Otrzymuję komunikat:

"Transakcja została już jawnie lub niejawnie przekazana lub przerwana".

Biorąc pod uwagę, że w sieci lokalnej serwer *A* działa dobrze to
wnioskuję, że coś może być nie tak z portami. Serwer B podobno jest
poprawnie skonfigurowany. Na firewallu mam ustawione, żeby forwardować
porty 1433 i 135 (RPC). O czym zapomniałem?

Pozdrawiam,
Piotr




Marcin A. Guzowski - 13-05-2007 00:18

  Piotr Porzucek wrote:
> (..)
> Biorąc pod uwagę, że w sieci lokalnej serwer *A* działa dobrze to
> wnioskuję, że coś może być nie tak z portami. Serwer B podobno jest
> poprawnie skonfigurowany. Na firewallu mam ustawione, żeby forwardować
> porty 1433 i 135 (RPC). O czym zapomniałem?

Na pewno co najmniej o tym, żeby się dowiedzieć, jak działa usługa RPC.

Na porcie 135 chodzi tylko tzw. epmap (RPC End Point Mapper). To usługa
dynamicznego przydzielania docelowego portu RPC. Rzeczywista komunikacja
RPC (np. transakcja rozproszona) wcale nie idzie na zasadzie

HostA:135 <-> HostB:135

tylko odbywa się na wyższych portach.

AFAIK domyślnie zakres przydzielania na Windows 2003 obejmuje porty 1024
- 5000. Teoretycznie zakres ten da się modyfikować za pomocą RPC
Configuration Tool (rpccfg.exe) i tylko te przepuszczać na firewallach,
w praktyce podobno nie jest tak pięknie i nie da się zmienić domyślnego
zakresu (tak się kiedyś dowiedziałem od sieciowców u mnie w firmie).

--
Pozdrawiam,
Marcin Guzowski
http://guzowski.info





Piotr Porzucek - 14-05-2007 00:03

  Marcin A. Guzowski napisał(a):

> Na pewno co najmniej o tym, żeby się dowiedzieć, jak działa usługa RPC.
>
> Na porcie 135 chodzi tylko tzw. epmap (RPC End Point Mapper). To usługa
> dynamicznego przydzielania docelowego portu RPC. Rzeczywista komunikacja
> RPC (np. transakcja rozproszona) wcale nie idzie na zasadzie
>
> HostA:135 <-> HostB:135
>
> tylko odbywa się na wyższych portach.
>
> AFAIK domyślnie zakres przydzielania na Windows 2003 obejmuje porty 1024
> - 5000. Teoretycznie zakres ten da się modyfikować za pomocą RPC
> Configuration Tool (rpccfg.exe) i tylko te przepuszczać na firewallach,
> w praktyce podobno nie jest tak pięknie i nie da się zmienić domyślnego
> zakresu (tak się kiedyś dowiedziałem od sieciowców u mnie w firmie).
>

Dzięki za odpowiedź. Wyeliminowałem firewall i teraz jestem bezpośrednio
podłączony do Internetu. Czyli teraz nie powinno być problemów z RPC. A
jednak nie... Dostaję ten sam komunikat. Czy problemem może być to, że
korzystam z dynamicznych DNS-ów (mam neostradę)? Gdzieś czytałem, że Sql
Servery muszą znać swoje nazwy DNS/Netbios podczas komunikacji.

Pozdrawiam,
Piotr
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • effulla.pev.pl
  • comp
    Wydajność baz danych w zależności od poziomu izolacji ANSI/ISO Czy zna (obsługuje) ktoś program Iso Draw ? MYSQL - kodowanie w ISO-PL strona plus baza w iso do utf-8 Kodowanie: z iso na utf Konwesja znaków w dump'ie bazy danych - ISO -> utf-8 -> ISO -> utf-8 =?iso-8859-2?q?Co_oznacza_b=B3=B1d_Warning:_mysql=5Fconnect() _[function.mysql-connect]:_Can't_connect_to_local_MySQL_server_through_sock et_'/var/run/mysqld/mysqld.sock'_(2)_in?= =?iso-8859-2?q?Ati_Mobility_Radeon_X300_W_Notebooku_Jak_Zwi=E Akszy=E6_Ilo=B6=E6_Grafiki_Poprzez_Wsp=F3=B3dziele nie_Z_Ramu=3F=3F=3F?= =?ISO-8859-2?Q?=AFegnam_si=EA=2E=2E=2E?= Manager =?ISO-8859-2?Q?font=F3w=2E=2E=2E?=
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • natalia97.htw.pl
  • Cytat

    Decede mihi sole - nie zasłaniaj mi słonca.
    Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści
    Hoc fac - tak czyń.
    A tergo - od tyłu; z tyłu.
    I czarne włosy posiwieją. Safona

    Valid HTML 4.01 Transitional

    Free website template provided by freeweblooks.com