Give Others Ownership of a Job

Gilt für:SQL ServerAzure SQL Managed Instance

Wichtig

In Azure SQL Managed Instance werden derzeit die meisten, aber nicht alle, SQL Server-Agent-Features unterstützt. Details dazu finden Sie unter T-SQL-Unterschiede zwischen Azure SQL Managed Instance und SQL Server.

In diesem Artikel erfahren Sie, wie Sie den Besitz von Microsoft SQL Server-Agent-Aufträgen einem anderen Benutzer zuweisen.

Vorbereitungen

Einschränkungen

Um einen Auftrag erstellen zu können, muss ein Benutzer Mitglied einer der festen Datenbankrollen des SQL Server -Agents oder Mitglied der festen Serverrolle sysadmin sein. Ein Auftrag kann nur von seinem Besitzer bzw. Mitgliedern der sysadmin -Rolle bearbeitet werden. Weitere Informationen zu den festen Datenbankrollen des SQL Server -Agents finden Sie unter Feste Datenbankrollen des SQL Server-Agents.

Den Besitzer eines Auftrags können Sie nur ändern, wenn Sie als Systemadministrator angemeldet sind.

Wenn Sie einen Auftrag einem anderen Anmeldenamen zuweisen, ist nicht sichergestellt, dass die Berechtigungen des neuen Besitzers zum erfolgreichen Ausführen des Auftrags ausreichen.

Sicherheit

Aus Sicherheitsgründen kann nur der Auftragsbesitzer bzw. ein Mitglied der sysadmin -Rolle die Definition des Auftrags ändern. Nur Mitglieder der festen Serverrolle sysadmin können anderen Benutzern den Auftragsbesitz zuweisen. Zudem können sie unabhängig vom Auftragsbesitzer alle Aufträge ausführen.

Hinweis

Wenn Sie den Auftragsbesitz einem Benutzer zuweisen, der kein Mitglied der festen Serverrolle sysadmin ist, und wenn in dem Auftrag Schritte ausgeführt werden, für die Proxykonten erforderlich sind (beispielsweise die SSIS -Paketausführung), müssen Sie sicherstellen, dass der Benutzer auf dieses Proxykonto zugreifen kann. Andernfalls schlägt der Auftrag fehl.

Berechtigungen

Ausführliche Informationen finden Sie unter Implementieren der SQL Server-Agent-Sicherheit.

Verwendung von SQL Server Management Studio

So ändern Sie den Besitz eines Auftrags

  1. Stellen Sie im Objekt-Explorer eine Verbindung mit einer Instanz von SQL Server-Datenbank-Engineher, und erweitern Sie dann diese Instanz.

  2. Erweitern Sie zunächst den SQL Server-Agent, anschließend Aufträge, klicken Sie mit der rechten Maustaste auf den Auftrag, und wählen Sie dann Eigenschaftenaus.

  3. Wählen Sie aus der Liste Besitzer einen Anmeldenamen aus. Den Besitzer eines Auftrags können Sie nur ändern, wenn Sie als Systemadministrator angemeldet sind.

    Wenn Sie einen Auftrag einem anderen Anmeldenamen zuweisen, ist nicht sichergestellt, dass die Berechtigungen des neuen Besitzers zum erfolgreichen Ausführen des Auftrags ausreichen.

Verwenden von Transact-SQL

So ändern Sie den Besitz eines Auftrags

  1. Stellen Sie im Objekt-Explorer eine Verbindung mit einer Instanz von Database Engine (Datenbankmodul) her, und erweitern Sie dann diese Instanz.

  2. Klicken Sie auf der Symbolleiste auf Neue Abfrage.

  3. Geben Sie im Abfragefenster die folgenden Anweisungen ein, bei denen die gespeicherte Systemprozedur sp_manage_jobs_by_login (Transact-SQL) verwendet wird. Im folgenden Beispiel erfolgt eine Neuzuweisung aller Aufträge von danw an françoisa.

    USE msdb ;  
    GO  
    
    EXEC dbo.sp_manage_jobs_by_login  
        @action = N'REASSIGN',  
        @current_owner_login_name = N'danw',  
        @new_owner_login_name = N'françoisa' ;  
    GO  
    

Verwendung von SQL Server Management Objects

So ändern Sie den Besitz eines Auftrags

  1. Rufen Sie die Job -Klasse auf, indem Sie eine von Ihnen ausgewählte Programmiersprache, z. B. Visual Basic, Visual C# oder PowerShell verwenden. Beispielcode hierzu finden Sie unter Planen von automatischen, administrativen Tasks im SQL Server-Agent.

Weitere Informationen

Implementieren von Aufträgen
Erstellen von Aufträgen