Udostępnij za pośrednictwem


Tworzenie serwera proxy agenta programu SQL Server

Dotyczy:programu SQL Server

W tym artykule opisano, jak utworzyć serwer proxy agenta SQL Server używając SQL Server Management Studio lub Transact-SQL.

Konto proxy agenta programu SQL Server określa kontekst zabezpieczeń, w którym można uruchomić krok zadania. Każdy serwer proxy odpowiada poświadczeniu zabezpieczeń. Aby ustawić uprawnienia dla określonego kroku zadania, utwórz serwer proxy, który ma wymagane uprawnienia dla podsystemu agenta programu SQL Server, a następnie przypisz ten serwer proxy do kroku zadania.

W usłudze Azure SQL Managed Instanceobsługiwane są obecnie większość funkcji agenta programu SQL Server, ale nie wszystkie. Aby uzyskać szczegółowe informacje, zobacz różnice języka T-SQL usługi Azure SQL Managed Instance z programu SQL Server lub ograniczenia zadań agenta SQL w usłudze SQL Managed Instance.

Ograniczenia

Przed utworzeniem serwera proxy należy utworzyć poświadczenie, jeśli nie jest jeszcze dostępne.

Serwery proxy programu SQL Server Agent używają poświadczeń do przechowywania informacji o kontach użytkowników systemu Windows. Użytkownik określony w poświadczeniu musi mieć uprawnienie "Dostęp do tego komputera z sieci" (SeNetworkLogonRight) na komputerze, na którym jest uruchomiony program SQL Server.

Agent programu SQL Server sprawdza dostęp podsystemu dla serwera proxy i zapewnia dostęp do serwera proxy przy każdym uruchomieniu kroku zadania. Jeśli serwer proxy nie ma już dostępu do podsystemu, krok zadania zakończy się niepowodzeniem. W przeciwnym razie usługa SQL Server Agent personifikuje użytkownika określonego w proxy i uruchamia krok zadania. Aby uzyskać listę podsystemów proxy, rzuć okiem na sp_grant_proxy_to_subsystem.

Utworzenie serwera proxy nie zmienia uprawnień użytkownika określonego w poświadczeniu serwera proxy. Możesz na przykład utworzyć serwer proxy dla użytkownika, który nie ma uprawnień do nawiązywania połączenia z wystąpieniem programu SQL Server. W takim przypadku etapy zadania, które używają tego proxy, nie mogą nawiązać połączenia z programem SQL Server.

Jeśli konto użytkownika ma dostęp do serwera proxy lub użytkownik należy do jakiejkolwiek roli z dostępem do serwera proxy, użytkownik może użyć serwera proxy w kroku zadania.

Uprawnienia

Tylko członkowie sysadmin stałej roli serwera mają uprawnienia do tworzenia, modyfikowania lub usuwania kont serwera proxy. Użytkownicy, którzy nie są członkami stałej roli serwera sysadmin , muszą zostać dodani do jednej z następujących stałych ról bazy danych SQL Server Agent w bazie danych msdb, aby móc używać serwerów proxy: SQLAgentUserRole, SQLAgentReaderRolelub SQLAgentOperatorRole.

Wymaga ALTER ANY CREDENTIAL uprawnienia w przypadku tworzenia poświadczeń oprócz serwera proxy.

Korzystanie z programu SQL Server Management Studio (SSMS)

  1. W eksploratorze obiektów wybierz znak plus, aby rozwinąć serwer, na którym chcesz utworzyć serwer proxy w programie SQL Server Agent.

  2. Aby rozwinąć SQL Server Agent, wybierz znak plus.

  3. Kliknij prawym przyciskiem myszy folder Serwery proxy i wybierz Nowy serwer proxy.

  4. Na oknie dialogowym Nowe konto proxy, na zakładce Ogólne, wprowadź nazwę konta proxy w polu Nazwa proxy.

  5. W polu Nazwa poświadczenia wprowadź nazwę poświadczenia zabezpieczeń, którego będzie używać konto proxy.

  6. W polu Opis wprowadź opis konta serwera proxy

  7. Pod Aktywne dla następujących podsystemówwybierz odpowiedni podsystem lub podsystemy dla tego serwera proxy.

  8. Na stronie Principals dodaj lub usuń loginy lub role, aby udzielić lub usunąć dostęp do konta proxy.

  9. Po zakończeniu wybierz pozycję OK.

Użyj Transact-SQL

Poniższy skrypt tworzy poświadczenie o nazwie CatalogApplicationCredential, tworzy serwer proxy Catalog application proxy i przypisuje do niego poświadczenie CatalogApplicationCredential, a następnie nadaje serwerowi proxy uprawnienia dostępu do podsystemu skryptów ActiveX.

  1. Utwórz poświadczenie CatalogApplicationCredential.

    USE msdb;
    GO
    
    CREATE CREDENTIAL CatalogApplicationCredential
        WITH IDENTITY = 'REDMOND/TestUser', SECRET = 'G3$1o)lkJ8HNd!';
    GO
    
  2. Utwórz serwer proxy Catalog application proxy i przypisz do niego poświadczenie CatalogApplicationCredential.

    EXECUTE dbo.sp_add_proxy
        @proxy_name = 'Catalog application proxy',
        @enabled = 1,
        @description = 'Maintenance tasks on catalog application.',
        @credential_name = 'CatalogApplicationCredential';
    GO
    
    
  3. Udziel serwerowi proxy Catalog application proxy dostępu do podsystemu skryptów ActiveX.

    EXECUTE dbo.sp_grant_proxy_to_subsystem
        @proxy_name = N'Catalog application proxy',
        @subsystem_id = 2;
    GO