Tworzenie serwerów połączonych (aparat bazy danych programu SQL Server)

Tworzenie serwer połączony pozwala pracować z danymi z wielu źródeł.Serwer połączony musi być inne wystąpienie SQL Server, ale jest typowych scenariuszy.W tym temacie opisano sposób tworzenia serwer połączony i dostęp do danych z innego SQL Server.

W tym temacie

  • Przed rozpoczęciem:

    Tło

    Zabezpieczenia

  • Przykłady:

    SQL Server Management Studio

    Transact-SQL

  • Nawiązanie: Czynności po utworzeniu serwer połączony

Tło

Serwer połączony umożliwia dostęp do rozproszonych, heterogenicznych kwerend źródeł danych OLE DB.Po utworzeniu serwer połączony kwerendami rozproszonymi można uruchomić na tym serwerze i kwerend można utworzyć łączyć między tabelami z więcej niż jednego źródło danych.Jeśli serwer połączony jest zdefiniowane jako wystąpienie z SQL Server, mogą być wykonywane zdalnych procedur przechowywanych.

Możliwości i wymagane argumenty serwer połączony mogą się znacznie różnić.Typowym przykładem podać przykłady w tym temacie, ale nie opisano wszystkie opcje.Aby uzyskać więcej informacji, zobacz sp_addlinkedserver (Transact-SQL).

Zabezpieczenia

Uprawnienia

Wymaga ALTER ANY LINKED SERVER uprawnień na serwerze.

[Top]

Jak utworzyć serwer połączony

Można użyć dowolnego z następujących czynności:

  • SQL Server Management Studio

  • Transact-SQL

Przy użyciu programu SQL Server Management Studio

Aby utworzyć serwer połączony do innego wystąpienie programu SQL Server przy użyciu programu SQL Server Management Studio

  1. W SQL Server Management Studio, otwórz obiekt Eksploratora, rozwiń Serwera obiektów, kliknij prawym przyciskiem myszy Serwerów połączonych, a następnie kliknij przycisk Nowy serwer połączony.

  2. Na Ogólne strona w serwer połączony wpisz nazwę wystąpienie sql Server obszaru można łączenie.

    Ostrzeżenie

    Jeśli wystąpienie sql Server jest wystąpienie domyślne, wprowadź nazwę komputera obsługującego wystąpienia sql Server.Jeśli sql Server jest wystąpienie nazwane, wprowadź nazwę komputera i nazwę instancji, takich jak Accounting\SQLExpress.

  3. W Typ serwera obszaru wybierz sql Server , aby wskazać, że serwer połączony jest inne wystąpienie sql Server.

  4. Na zabezpieczeń strona, określić kontekst zabezpieczeń, który będzie używany podczas oryginału SQL Server łączy do serwer połączony.W środowisku domena, gdzie użytkownicy łączą się przy użyciu ich logowania do domena, zaznaczając dokonywane przy użyciu bieżącego kontekstu zabezpieczeń logowania jest często najlepszym rozwiązaniem.Gdy użytkownicy łączą się z oryginałem sql Server za pomocą sql Server logowania, najlepszym rozwiązaniem jest często zaznacz za pomocą tego kontekstu zabezpieczeńi następnie zapewniające niezbędne poświadczenia uwierzytelniania serwer połączony.

  5. Kliknij przycisk OK.

[Top]

Za pomocą języka Transact-SQL

Aby utworzyć serwer połączony za pomocą Transact-SQL, użyj sp_addlinkedserver (Transact-SQL)Utwórz logowania (Transact-SQL) i sp_addlinkedsrvlogin (języka Transact-SQL) instrukcji.

Aby utworzyć serwer połączony do innego wystąpienie programu SQL Server przy użyciu języka Transact-SQL

  1. Edytor kwerend wprowadź następujący Transact-SQL polecenia, aby połączyć się z wystąpienie SQL Server o nazwie SRVR002\ACCTG:

    USE [master]
    GO
    EXEC master.dbo.sp_addlinkedserver 
        @server = N'SRVR002\ACCTG', 
        @srvproduct=N'SQL Server' ;
    GO
    
  2. Wykonać następujący kod w celu skonfigurowania serwer połączony na używanie poświadczenia domena logowania, który używa serwer połączony.

    EXEC master.dbo.sp_addlinkedsrvlogin 
        @rmtsrvname = N'SRVR002\ACCTG', 
        @locallogin = NULL , 
        @useself = N'True' ;
    GO
    

[Top]

Nawiązanie: Czynności po utworzeniu serwer połączony

Aby przetestować serwer połączony

  • Wykonać następujący kod, aby przetestować połączenie do serwer połączony.W tym przykładzie zwraca nazwy bazy danych serwer połączony.

    SELECT name FROM [SRVR002\ACCTG].master.sys.sysdatabases ;
    GO
    

Zapisywanie kwerendy, który łączy tabele z serwer połączony

  • Umożliwia odwoływanie się do obiektu serwer połączony czteroczęściowym nazwy.Wykonać następujący kod, aby uzyskać listę wszystkich identyfikatorów logowania na serwerze lokalnym i ich pasujące identyfikatory logowania serwer połączony.

    SELECT local.name AS LocalLogins, linked.name AS LinkedLogins
    FROM master.sys.server_principals AS local
    LEFT JOIN [SRVR002\ACCTG].master.sys.server_principals AS linked
        ON local.name = linked.name ;
    GO
    

    Zwracana jest wartość NULL dla logowania serwer połączony wskazuje, że identyfikator logowania nie istnieje serwer połączony.Te identyfikatory logowania, nie będzie mógł używać serwer połączony, chyba że połączony serwer jest skonfigurowany do przekazywania w innym kontekście zabezpieczeń lub połączony serwer akceptuje połączenia anonimowe.

[Top]