Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
gäller för:SQL Server
I den här artikeln beskrivs hur du skapar en SQL Server Agent-proxy i SQL Server med hjälp av SQL Server Management Studio eller Transact-SQL.
Ett SQL Server Agent-proxykonto definierar en säkerhetskontext där ett jobbsteg kan köras. Varje proxy motsvarar en säkerhetsautentiseringsuppgift. Om du vill ange behörigheter för ett visst jobbsteg skapar du en proxy som har de behörigheter som krävs för ett SQL Server Agent-undersystem och tilldelar sedan proxyn till jobbsteget.
Viktigt!
På Azure SQL Managed Instancestöds de flesta, men inte alla SQL Server Agent-funktioner för närvarande. Mer information finns i T-SQL-skillnader i Azure SQL Managed Instance från SQL Server - eller SQL Agent-jobbbegränsningar i SQL Managed Instance .
Begränsningar
Du måste skapa en autentiseringsuppgift innan du skapar en proxy om en inte redan är tillgänglig.
SQL Server Agent-proxyservrar använder autentiseringsuppgifter för att lagra information om Windows-användarkonton. Användaren som anges i autentiseringsuppgifterna måste ha åtkomst till den här datorn från nätverksbehörigheten (SeNetworkLogonRight) på den dator där SQL Server körs.
SQL Server Agent kontrollerar undersystemåtkomsten för en proxy och ger åtkomst till proxyn varje gång jobbsteget körs. Om proxyn inte längre har åtkomst till undersystemet misslyckas jobbsteget. Annars personifierar SQL Server Agent den användare som anges i proxyn och kör jobbsteget. En lista över proxyundersystem finns i sp_grant_proxy_to_subsystem.
Skapande av en proxy ändrar inte behörigheterna för den användare som anges i proxyns autentiseringsuppgifter. Du kan till exempel skapa en proxy för en användare som inte har behörighet att ansluta till en instans av SQL Server. I det här fallet kan jobbsteg som använder proxyn inte ansluta till SQL Server.
Om inloggningen för användaren har åtkomst till proxyn, eller om användaren tillhör någon roll med åtkomst till proxyn, kan användaren använda proxyn i ett jobbsteg.
Behörigheter
Endast medlemmar i den fasta serverrollen sysadmin har behörighet att skapa, ändra eller ta bort proxykonton. Användare som inte är medlemmar i den fasta serverrollen sysadmin måste läggas till i någon av följande fasta databasroller för SQL Server Agent i msdb databasen för att kunna använda proxyservrar:
SQLAgentUserRoleSQLAgentReaderRoleSQLAgentOperatorRole
Kräver ALTER ANY CREDENTIAL behörighet om du skapar en autentiseringsuppgift utöver proxyn.
Använda SQL Server Management Studio (SSMS)
I Object Explorer väljer du plustecknet för att expandera servern där du vill skapa en proxy på SQL Server Agent.
Välj plustecknet för att expandera SQL Server Agent.
Högerklicka på mappen Proxyservrar och välj Ny proxy.
I dialogrutan Nytt proxykonto går du till sidan Allmänt och anger namnet på proxykontot i rutan Proxynamn .
I rutan Namn på autentiseringsuppgifter anger du namnet på säkerhetsautentiseringsuppgifterna som proxykontot ska använda.
I rutan Beskrivning anger du en beskrivning för proxykontot
Under Aktiv till följande undersystem väljer du lämpligt undersystem eller undersystem för den här proxyn.
På sidan Huvudnamn lägger du till eller tar bort inloggningar eller roller för att bevilja eller ta bort åtkomst till proxykontot.
När du är klar väljer du OK.
Använd Transact-SQL
Följande skript skapar en autentiseringsuppgift med namnet CatalogApplicationCredential, skapar proxy Catalog application proxy och tilldelar autentiseringsuppgifterna CatalogApplicationCredential till den och ger proxyåtkomst till undersystemet ActiveX-skript.
Skapa autentiseringsuppgifter
CatalogApplicationCredential.USE msdb; GO CREATE CREDENTIAL CatalogApplicationCredential WITH IDENTITY = 'REDMOND/TestUser', SECRET = 'G3$1o)lkJ8HNd!'; GOSkapa proxy
Catalog application proxyoch tilldela autentiseringsuppgifternaCatalogApplicationCredentialtill den.EXECUTE dbo.sp_add_proxy @proxy_name = 'Catalog application proxy', @enabled = 1, @description = 'Maintenance tasks on catalog application.', @credential_name = 'CatalogApplicationCredential'; GOBevilja proxyåtkomst
Catalog application proxytill undersystemet ActiveX Scripting.EXECUTE dbo.sp_grant_proxy_to_subsystem @proxy_name = N'Catalog application proxy', @subsystem_id = 2; GO