0
Items : 0
Subtotal : 0,00 
View CartCheck Out
0
Items : 0
Subtotal : 0,00 
View CartCheck Out

Zmuszony awarią jednego z serwerów musiałem po raz kolejny skonfigurować Linked Server’y oparte na Microsoft SQL Server 2008. Sprawa wydaje się dosyć prosta na pierwszy rzut oka, ale to tylko marne złudzenia… Firma Microsoft by nam ułatwić konfigurację tego mechanizmu postanowiła stworzyć dosyć przyjemny kreator. Użycie go sprawia, że dostajemy śliczny, nowy Linked Server który w większości przypadków nie działa 🙂

Można stworzyć za pomocą kreatora albo o tak:

EXEC sp_addlinkedserver XLS, ‚Jet 4.0’, ‚Microsoft.Jet.OLEDB.4.0’, ‚D:\test.xls’, NULL, ‚Excel 5.0’;
EXEC sp_addlinkedsrvlogin XLS, false, null, null;
SELECT * FROM XLS…Arkusz1$;

Linked Server nie działa zazwyczaj z kilku powodów…

  1. Serwer nie jest członkiem domeny, a użytkownik próbuje podłączyć się z poświadczeniami domenowymi do serwera których on nie rozpoznaje. Linked Server generalnie nie działał mi do momentu podłączenia serwera do domeny w której znajdowali się użytkownicy chcący publikować dane (akurat w tym wypadku z pliku .xls) poprzez mechanizm Linked Server. Do podłączania do SQL’a użytkownicy używają poświadczeń domenowych, a nie wbudowanych w SQL’a i wszytsko śmiga.
  2. Użytkownik na którym uruchomiony jest MSSQL powinien mieć ustawione zmienne systemowe TMP i Temp na ten sam katalog… czyli np. tworzymy katalog C:\Temp nadając mu jako właściciela użytkownika na którym uruchomiony jest MSSQL. Dajemy mu pełne prawa i restartujemy usługi serwera SQL.
  3. Należy doprowadzić do takiej sytuacji aby użytkownik SQL serwera na którym tworzy się Linked Server miał dostęp do plików xls/db które zamierzamy podlinkować.
  4. W przypadku SQL Server 2008 EE należy w Sufarce Area Configuration zaznaczyć że chcemy korzystać z Ad Hoc Distributed Queries. W „pełnym” SQL Server 2008 należy wykonać:

    USE master;
    GO
    EXEC sp_configure ‚show advanced option’, ‚1’;
    RECONFIGURE;

    EXEC sp_configure ‚Ad Hoc Distributed Queries’, ‚0’;
    RECONFIGURE;

  5. Przy podłączaniu się do serwerów bazodanowych np. Oracla, należy doinstalować odpowiednie komponenty do systemu, oraz stworzyć odpowiednie źródło ODBC.

Generalnie te kilka rzeczy rozwiązało sporo moich problemów z mechanizmem Linked Server w MSSQL 2008.

About the author

Bloger i niezależny konsultant z wieloletnim doświadczeniem w branży IT. Specjalizujący się w wirtualizacji i cloud computingu. Posiada tytuły MCP, MCTS, VCP oraz VMware vExpert.
2 Responses
  1. Witam Pana
    Mam do Pana wielką prośbę. Jestem młodym naukowcem 🙂 – doktorantem. Potrzebowałbym pewnych informacji od Pana dotyczących wykonania własnymi siłami maszyny obliczeniowej o pewnych możliwościach. Bardzo spodobały mi się Pana informacje zamieszczone na BLOGu. Staram się z nich skorzystać lecz trochę się gubię w temacie, po prostu nigdy się tym nie zajmowałem i brak mi pewnych elementów wiedzy. Mam następujący problem, mianowicie moim zadaniem jest stworzenie modelu zjawiska fizycznego występującego w jednym z elementów sieci elektroenergetycznej (http://www.par.pl/2010/files/02-10_artykul2p.pdf). Środowisko, w którym wykonuję owy model na poziome jakim ja się zajmuję jest bardzo wymagające. Mówiąc w prost muszę stworzyć mały SUPERKOMPUTER. Mam dostępne 4 komputery, każdy z QUADEM 64bit (i5 oraz i7), około 8GB RAM itd. Czy rozwiązanie, wg Pana mogłoby brzmieć CLUSTER? Jeśli tak to jak w najprostrzym stylu można by wykonać takie połączenie kilku komputerków. Pisze Pan o VM, interesujące ale niestety Trial na stronie VMware jest na 30 dni, za krótko. Potrzebowałbym wykonywać obliczenia przez około 4 miesiące. Win Server 2008 jest dostępny na okres 6 miesięcy za FREE do testów, mogłoby wystarczyć. Dlatego chciałbym skorzystać z niego by zrealizować to zadanie. Czy jest mi Pan w stanie przedstawić swoją wizję wykonania takiej maszynki do obliczeń? Jeśli byłby Pan zainteresowany wesprzeć młodego naukowca fachową wiedzą to czułbym zaszczycony. Proszę o informacje. Bardzo dziękuję, pozdrawiam.
    Andrzej B.

  2. ml

    Może Pan zastosować w sowim rozwiązaniu maszyny wirtualne oparte o technologię VMware i oprogramowanie ESXi (darmowy hypervisor). Jednak odradzałbym takie podejście. Kiedy mamy zamiar wykorzystać komputer do dużych obliczeń – przetwarzania ogromnych ilości danych, dużej ilości operacji we/wy itp. zastosowanie maszyn wirtualnych mija się z celem. Każda technologia pośrednicząca miedzy programem a sprzętem każe nam zapłacić podatek w wydajności. Zastosowanie maszyn wirtualnych spowalnia redio pracę systemów o jakeś 10-15%, wydaje się to marginalną wartością ale proszę sobie przeliczyć jak wydłuża się czas w przypadku 4 miesięcy… Tak wiec nie polecam stosowanie wirtualizacji w Pana przypadku.

    Myślę że może Pan podążać dwoma ścieżkami, jednak każda z nich będzie wymagać napisania specjalistycznego oprogramowania… Jeżeli jest Pan zaznajomiony z technologiami Microsoft. Wybrałbym na Pana miejscu rozwiązanie Microsoft HPC Server 2008 R2. W przypadku kiedy posiada Pan 4 komputery pozwoli to Panu utworzyć mały klaster… nie będzie to co prawda superkomputer ale na pewno będzie mail sporą wydajność. Jeżeli zdecyduje się Pan na takie rozwiązanie można rozejrzeć się na uczelni czy przypadkiem niema podpisanej umowy z Microsoftem, tzw. Microsoft Academic Alliance. Dzięki niej Mozę Pan uzyskać dostęp do w zasadzie każdego oprogramowania MS do celów naukowych za darmo.

    Druga ścieżka to Open Source i systemy oparte o Linux/Unix. Znalazłem takie poradnik w sieci http://www.mta.ca/torch/pdf/linux_hpc_cluster_installation_redbook_sg246041.pdf instruuje on w jaki sposób można sobie skonfigurować klaster wydajnościowy oparty o oprogramowani Red Hat. Oczywiście kiedy się Pan czuje dobrze w środowisku Linux/Unix można pokusić się o prawdziwy hardkor – http://www.scientificlinux.org/. Używają go choćby w CERN. Dobrze skonfigurowany potrafi dać ogromne możliwości.

    Tak czy owak w obu przypadkach musi Pan stworzyć dedykowane oprogramowanie. Proszę na początku zdecydować która technologia będzie dla Pana odpowiedniejsza – czy MS czy Open Source a potem cóż… czas przystąpić do działania.

Leave a Reply