Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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.
Ważne
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ć dostęp do tego komputera z uprawnienia sieciowego (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 programu SQL Server Agent w msdb bazie danych w celu korzystania z serwerów proxy:
SQLAgentUserRoleSQLAgentReaderRoleSQLAgentOperatorRole
Wymaga ALTER ANY CREDENTIAL uprawnienia, jeśli tworzenie poświadczenia odbywa się wraz z serwerem proxy.
Korzystanie z programu SQL Server Management Studio (SSMS)
W eksploratorze obiektów wybierz znak plus, aby rozwinąć serwer, na którym chcesz utworzyć serwer proxy w programie SQL Server Agent.
Aby rozwinąć SQL Server Agent, wybierz znak plus.
Kliknij prawym przyciskiem myszy folder Serwery proxy i wybierz Nowy serwer proxy.
Na oknie dialogowym Nowe konto proxy, na zakładce Ogólne, wprowadź nazwę konta proxy w polu Nazwa proxy.
W polu Nazwa poświadczenia wprowadź nazwę poświadczenia zabezpieczeń, którego będzie używać konto proxy.
W polu Opis wprowadź opis konta serwera proxy
Pod Aktywne dla następujących podsystemówwybierz odpowiedni podsystem lub podsystemy dla tego serwera proxy.
Na stronie Principals dodaj lub usuń loginy lub role, aby udzielić lub usunąć dostęp do konta proxy.
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.
Utwórz poświadczenie
CatalogApplicationCredential.USE msdb; GO CREATE CREDENTIAL CatalogApplicationCredential WITH IDENTITY = 'REDMOND/TestUser', SECRET = 'G3$1o)lkJ8HNd!'; GOUtwórz serwer proxy
Catalog application proxyi przypisz do niego poświadczenieCatalogApplicationCredential.EXECUTE dbo.sp_add_proxy @proxy_name = 'Catalog application proxy', @enabled = 1, @description = 'Maintenance tasks on catalog application.', @credential_name = 'CatalogApplicationCredential'; GOUdziel serwerowi proxy
Catalog application proxydostępu do podsystemu skryptów ActiveX.EXECUTE dbo.sp_grant_proxy_to_subsystem @proxy_name = N'Catalog application proxy', @subsystem_id = 2; GO