Tworzenie kroku zadania CmdExec
Dotyczy:programu SQL Server
Azure SQL Managed Instance
Ważny
W usługi Azure SQL Managed Instancewiększość, ale nie wszystkie funkcje agenta programu SQL Server są obecnie obsługiwane. Aby uzyskać szczegółowe informacje, zobacz Różnice języka T-SQL usługi Azure SQL Managed Instance z programu SQL Server.
W tym temacie opisano sposób tworzenia i definiowania kroku zadania programu Microsoft SQL Server Agent w programie SQL Server, który używa programu wykonywalnego lub polecenia systemu operacyjnego przy użyciu programu SQL Server Management Studio, Transact-SQL lub obiektów zarządzania programu SQL Server.
Przed rozpoczęciem
Bezpieczeństwo
Domyślnie tylko członkowie sysadmin stałej roli serwera mogą tworzyć kroki zadania CmdExec. Te kroki zadania uruchamiają się w kontekście konta serwisowego usługi SQL Server Agent, chyba że użytkownik sysadmin tworzy konto proxy. Użytkownicy, którzy nie są członkami roli sysadmin, mogą utworzyć kroki zadania CmdExec, jeśli mają dostęp do konta serwera proxy cmdExec.
Uprawnienia
Aby uzyskać szczegółowe informacje, zobacz Implementowanie zabezpieczeń agenta programu SQL Server.
Korzystanie z programu SQL Server Management Studio
Aby utworzyć etap zadania CmdExec
W Eksploratorze obiektów połącz się z wystąpieniem aparatu bazy danych programu SQL Server, a następnie rozwiń to wystąpienie.
Rozwiń węzeł programu SQL Server Agent, utwórz nowe zadanie lub kliknij prawym przyciskiem myszy istniejące zadanie, a następnie kliknij polecenie właściwości .
W oknie dialogowym Job Properties kliknij kartę Kroki, a następnie kliknij przycisk Nowy.
W oknie dialogowym Nowy Krok Zadania wpisz nazwę kroku .
Na liście Wpisz wybierz pozycję System operacyjny (CmdExec).
Na liście Uruchom jako wybierz konto proxy, które ma poświadczenia, których użyje zadanie. Domyślnie kroki zadania CmdExec są uruchamiane w kontekście konta usługi agenta programu SQL Server.
W polu kodu zakończenia procesu pomyślnego polecenia wejdź wartość z zakresu od 0 do 999999.
W polu Polecenie wprowadź polecenie systemu operacyjnego lub program wykonywalny. Zobacz przykład "Używanie języka Transact T-SQL.
Kliknij stronę Zaawansowane, aby ustawić opcje kroku zadania, takie jak: jakie działania należy wykonać, jeśli krok zadania zakończy się powodzeniem lub niepowodzeniem, ile razy agent programu SQL Server powinien spróbować wykonać krok zadania, oraz plik, w którym program SQL Server Agent może zapisać dane wyjściowe kroku zadania. Tylko członkowie sysadmin stałej roli serwera mogą zapisywać dane wyjściowe kroku zadania do pliku systemu operacyjnego.
Korzystanie z Transact-SQL
Aby utworzyć krok zadania typu CmdExec
W Eksploratorze Obiektów nawiąż połączenie z wystąpieniem silnika bazy danych.
Na pasku Standardowa kliknij pozycję Nowe zapytanie.
Skopiuj i wklej poniższy przykład w oknie zapytania, a następnie kliknij pozycję Wykonaj.
-- creates a job step that uses CmdExec USE msdb; GO EXEC sp_add_jobstep @job_name = N'Weekly Sales Data Backup', @step_name = N'Set database to read only', @subsystem = N'CMDEXEC', @command = 'C:\clickme_scripts\SQL11\PostBOLReorg GetHsX.exe', @retry_attempts = 5, @retry_interval = 5 ; GO
Aby uzyskać więcej informacji, zobacz sp_add_jobstep (Transact-SQL)
Korzystanie z obiektów zarządzania programu SQL Server
Aby utworzyć krok zadania CmdExec
Użyj klasy JobStep przy użyciu wybranego języka programowania, takiego jak Visual Basic, Visual C# lub PowerShell.