Zarządzanie krokami procesu
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.
Etap zadania to akcja wykonywana przez zadanie na bazie danych lub na serwerze. Każde zadanie musi mieć co najmniej jeden krok. Kroki zadania mogą być następujące:
Programy wykonywalne i polecenia systemu operacyjnego.
Transact-SQL instrukcji, w tym procedur składowanych i rozszerzonych procedur składowanych.
Skrypty programu PowerShell.
Skrypty Microsoft ActiveX.
Zadania replikacji.
Zadania usług Analysis Services.
Pakiety usług Integration Services.
Każdy krok zadania jest uruchamiany w określonym kontekście zabezpieczeń. Jeśli krok zadania określa serwer proxy, krok zadania jest uruchamiany w kontekście zabezpieczeń poświadczenia serwera proxy. Jeśli krok zadania nie określa serwera proxy, jest wykonywany w kontekście konta usługi SQL Server Agent. Tylko członkowie stałej roli serwera sysadmin mogą tworzyć zadania, które nie określają jawnie serwera proxy.
Ponieważ kroki zadania są uruchamiane w kontekście określonego użytkownika systemu Microsoft Windows, ten użytkownik musi mieć uprawnienia i konfigurację niezbędną do wykonania kroku zadania. Jeśli na przykład utworzysz zadanie wymagające litery dysku lub ścieżki Universal Naming Convention (UNC), kroki zadania mogą być uruchamiane na koncie użytkownika systemu Windows podczas testowania tych zadań. Jednak użytkownik systemu Windows dla kroku zadania musi mieć również niezbędne uprawnienia, konfiguracje liter dysku lub dostęp do wymaganego dysku. W przeciwnym razie etap zadania zakończy się niepowodzeniem. Aby zapobiec temu problemowi, upewnij się, że serwer proxy dla każdego kroku zadania ma uprawnienia niezbędne do wykonania kroku zadania. Aby uzyskać więcej informacji, zobacz Zabezpieczenia i ochrona (aparat bazy danych).
Dzienniki kroków zadania
Program SQL Server Agent może zapisywać dane wyjściowe z niektórych kroków zadania do pliku systemu operacyjnego lub do tabeli sysjobstepslogs w bazie danych msdb. Następujące typy kroków zadania mogą zapisywać dane wyjściowe w obu miejscach docelowych:
Programy wykonywalne i polecenia systemu operacyjnego.
instrukcje Transact-SQL.
Zadania usług Analysis Services.
Tylko kroki zadania wykonywane przez użytkowników będących członkami ustalonej roli serwera sysadmin mogą zapisywać dane wyjściowe kroku zadania do plików systemu operacyjnego. Jeśli kroki zadania są wykonywane przez użytkowników będących członkami ról stałych SQLAgentUserRole, SQLAgentReaderRole lub SQLAgentOperatorRole w bazie danych msdb, dane wyjściowe z tych kroków zadania można zapisać tylko w tabeli sysjobstepslogs.
Dzienniki kroków zadania są automatycznie usuwane po usunięciu zadań lub kroków zadania.
Notatka
Zadanie replikacji i rejestrowanie kroku zadania pakietu usług Integration Services jest obsługiwane przez odpowiedni podsystem. Nie można użyć programu SQL Server Agent do skonfigurowania rejestrowania kroków zadań dla tych typów kroków zadań.
Programy wykonywalne i polecenia Operating-System jako kroki zadania
Programy wykonywalne i polecenia systemu operacyjnego mogą być używane jako kroki zadania. Te pliki mogą mieć rozszerzenia plików .bat, .cmd, .com lub .exe.
W przypadku użycia programu wykonywalnego lub polecenia systemu operacyjnego jako kroku zadania należy określić:
Kod zakończenia procesu został zwrócony, jeśli polecenie zakończyło się pomyślnie.
Polecenie do wykonania. Aby wykonać polecenie systemu operacyjnego, jest to po prostu samo polecenie. W przypadku programu zewnętrznego jest to nazwa programu i argumenty programu, na przykład: C:\Program Files\Microsoft SQL Server\100\Tools\Binn\sqlcmd.exe -e -q "sp_who"
Notatka
Należy podać pełną ścieżkę do pliku wykonywalnego, jeśli plik wykonywalny nie znajduje się w katalogu określonym w ścieżce systemowej lub ścieżce użytkownika, w którym jest uruchamiany krok zadania.
Transact-SQL Kroki pracy
Podczas tworzenia kroku zadania Transact-SQL należy wykonać następujące czynności:
Zidentyfikuj bazę danych, w której ma zostać uruchomione zadanie.
Wpisz instrukcję Transact-SQL do wykonania. Instrukcja może wywoływać procedurę składowaną lub rozszerzoną procedurę składowaną.
Opcjonalnie możesz otworzyć istniejący plik Transact-SQL jako polecenie dla kroku zadania.
Transact-SQL kroki zadania nie używają serwerów proxy programu SQL Server Agent. Zamiast tego krok zadania jest uruchamiany jako właściciel kroku zadania lub jako konto usługi agenta programu SQL Server, jeśli właściciel kroku zadania jest członkiem stałej roli serwera o nazwie sysadmin. Członkowie stałej roli serwera sysadmin mogą również określić, że kroki zadania Transact-SQL są uruchamiane w kontekście innego użytkownika za pomocą parametru database_user_name w procedurze składowanej sp_add_jobstep. Aby uzyskać więcej informacji, zobacz sp_add_jobstep (Transact-SQL).
Notatka
Pojedynczy krok zadania Transact-SQL może zawierać wiele partii. Transact-SQL kroki zadania mogą zawierać osadzone polecenia GO.
Kroki zadania skryptów programu PowerShell
Podczas tworzenia kroku zadania skryptu programu PowerShell należy określić jedną z dwóch rzeczy jako polecenie dla kroku:
Tekst skryptu programu PowerShell.
Istniejący plik skryptu programu PowerShell do otwarcia.
Podsystem programu PowerShell agenta programu SQL Server otwiera sesję programu PowerShell i ładuje przystawki programu SQL Server PowerShell. Skrypt programu PowerShell używany jako polecenie kroku zadania może odwoływać się do dostawcy programu SQL Server PowerShell i poleceń cmdlet. Aby uzyskać więcej informacji na temat pisania skryptów programu PowerShell przy użyciu dodatków SQL Server PowerShell, zobacz w SQL Server PowerShell.
Kroki zadania skryptowego ActiveX
Ważny
Krok zadania skryptów ActiveX zostanie usunięty z programu SQL Server Agent w przyszłej wersji programu Microsoft SQL Server. Unikaj używania tej funkcji w nowych pracach programistycznych i zaplanuj modyfikowanie aplikacji, które obecnie korzystają z tej funkcji.
Należy wykonać następujące czynności podczas tworzenia kroku skryptowego ActiveX:
Zidentyfikuj język skryptowy, w którym został napisany krok zadania.
Napisz skrypt ActiveX.
Możesz również otworzyć istniejący plik skryptu ActiveX jako polecenie dla kroku zadania. Alternatywnie polecenia skryptu ActiveX można kompilować zewnętrznie (na przykład przy użyciu programu Microsoft Visual Basic), a następnie uruchamiać jako programy wykonywalne.
Gdy polecenie kroku zadania jest skryptem ActiveX, można użyć obiektu SQLActiveScriptHost, aby wydrukować dane wyjściowe w dzienniku historii kroków zadania lub utworzyć obiekty COM. SQLActiveScriptHost to obiekt globalny wprowadzony przez system hostingu programu SQL Server Agent w przestrzeni nazw skryptu. Obiekt ma dwie metody (Print i CreateObject). W poniższym przykładzie pokazano, jak działa skrypty ActiveX w visual Basic Scripting Edition (VBScript).
' VBScript example for ActiveX Scripting job step
' Create a Dmo.Server object. The object connects to the
' server on which the script is running.
Set oServer = CreateObject("SQLDmo.SqlServer")
oServer.LoginSecure = True
oServer.Connect "(local)"
'Disconnect and destroy the server object
oServer.DisConnect
Set oServer = nothing
Kroki zadania replikacji
Podczas tworzenia publikacji i subskrypcji przy użyciu replikacji zadania replikacji są tworzone domyślnie. Typ utworzonego zadania jest określany przez typ replikacji (migawka, transakcja lub scalanie) oraz używane opcje.
Kroki zadania replikacji aktywują jednego z następujących agentów replikacji:
Agent migawki (zadanie migawki)
Agent czytnika dzienników (zadanie LogReader)
Agent dystrybucji (zadanie dystrybucji)
Agent konsolidacji (zdanie konsolidacji)
Agent czytnika kolejek (zadanie QueueReader)
Po skonfigurowaniu replikacji można określić, aby uruchamiać agentów replikacji na jeden z trzech sposobów: stale po uruchomieniu agenta programu SQL Server, na żądanie lub zgodnie z harmonogramem. Aby uzyskać więcej informacji na temat agentów replikacji, zobacz Omówienie agentów replikacji.
Kroki zadania usług Analysis Services
Program SQL Server Agent obsługuje dwa różne typy kroków zadań usług Analysis Services, kroki zadania polecenia i kroki zadania zapytania.
Kroki poleceń w zadaniu Analysis Services
Podczas tworzenia kroku zadania polecenia dla usług Analysis Services należy wykonać następujące czynności:
Zidentyfikuj serwer OLAP bazy danych, w którym ma zostać uruchomiony krok zadania.
Wpisz instrukcję do wykonania. Oświadczenie musi być w formacie XML dla metody programu Analysis Services Execute. Oświadczenie nie może zawierać pełnej powłoki protokołu SOAP ani XML-u dla metody Discover usług Analysis Services. Zwróć uwagę, że chociaż SQL Server Management Studio obsługuje pełne koperty protokołu SOAP i metodę Discover, kroki zadań agenta SQL Server tego nie robią.
Kroki zadania zapytania Analysis Services
Podczas tworzenia kroku zadania zapytania Analysis Services należy wykonać poniższe czynności:
Zidentyfikuj serwer OLAP bazy danych, w którym ma zostać uruchomiony krok zadania.
Wpisz instrukcję do wykonania. Instrukcja musi być zapytaniem z wyrażeniami wielowymiarowymi (MDX).
Aby uzyskać więcej informacji dotyczących MDX, zobacz MDX Statement Fundamentals (MDX).
Pakiety usług Integration Services
Podczas tworzenia kroku zadania pakietu usług Integration Services należy wykonać następujące czynności:
Zidentyfikuj źródło pakietu.
Zidentyfikuj lokalizację pakietu.
Jeśli pliki konfiguracji są wymagane dla pakietu, zidentyfikuj pliki konfiguracji.
Jeśli pliki poleceń są wymagane dla pakietu, zidentyfikuj pliki poleceń.
Określ weryfikację do zastosowania dla pakietu. Można na przykład określić, że pakiet musi być podpisany lub że pakiet musi mieć określony identyfikator pakietu.
Zidentyfikuj źródła danych dla pakietu.
Zidentyfikuj dostawców dzienników dla pakietu.
Określ zmienne i wartości do ustawienia przed uruchomieniem pakietu.
Zidentyfikuj opcje wykonywania.
Dodaj lub zmodyfikuj opcje wiersza polecenia.
Należy pamiętać, że jeśli pakiet został wdrożony w katalogu usług SSIS i określisz katalogu usług SSIS jako źródło pakietu, wiele z tych informacji o konfiguracji jest uzyskiwanych automatycznie z pakietu. Na karcie Konfiguracja można określić środowisko, wartości parametrów, wartości menedżera połączeń, przesłonięcia właściwości i czy pakiet działa w środowisku uruchomieniowym 32-bitowym.
Aby uzyskać więcej informacji na temat tworzenia kroków zadań, które uruchamiają pakiety usług Integration Services, zobacz zadania agenta programu SQL Server dla pakietów.
Powiązane zadania
Opis | Temat |
---|---|
Opisuje sposób tworzenia kroku zadania za pomocą programu wykonywalnego. | Utwórz krok zadania CmdExec |
Opisuje sposób resetowania uprawnień agenta programu SQL Server. | konfigurowanie użytkownika do tworzenia zadań agenta programu SQL Server i zarządzania nimi |
Opisuje sposób tworzenia kroku zadania Transact-SQL. | Utwórz Transact-SQL krok zadania |
Opisuje sposób definiowania opcji dla programu Microsoft SQL Server Agent w krokach zadania Transact-SQL. | Definiowanie opcji kroku zadania Transact-SQL |
Opisuje sposób tworzenia kroku zadania skryptu ActiveX. | Utwórz krok zadania skryptu ActiveX |
Opisuje sposób tworzenia i definiowania kroków zadań agenta programu SQL Server, które wykonują polecenia i zapytania usług SQL Server Analysis Services. | Utwórz krok zadania usług Analysis Services |
Opisuje akcję, jaką program SQL Server powinien podjąć w przypadku wystąpienia błędu podczas wykonywania zadania. | Ustaw przepływ sukcesu lub niepowodzenia kroku zadania |
Opisuje sposób wyświetlania szczegółów kroku zadania w oknie dialogowym Właściwości kroku zadania. | Wyświetl informacje o kroku zadania |
Opisuje sposób usuwania dziennika kroku zadania agenta programu SQL Server. | Usuń dziennik kroku zadania |
Zobacz też
sysjobstepslogs (Transact-SQL)
Tworzenie Miejsc Pracy
sp_add_job (Transact-SQL)