Jeśli odnosisz się do zadań agenta SQL, ta funkcja nie jest dostępna w wersji Express. Zobacz odpowiedź na to pytanie, aby poznać inne możliwości: stackoverflow.com/questions/3788583/…
8kb
Wersja Express obsługuje brokera SQL Server i możesz stworzyć własny mechanizm taki jak tutaj
Co możesz zrobić:
Możesz tworzyć zadania „ręcznie”, tworząc pliki wsadowe i pliki skryptów SQL oraz uruchamiając je za pomocą Harmonogramu zadań systemu Windows.
Na przykład możesz wykonać kopię zapasową bazy danych za pomocą dwóch plików, takich jak ten:
backup.bat:
sqlcmd -i backup.sql
backup.sql:
backupdatabase TeamCity to disk = 'c:\backups\MyBackup.bak'
Po prostu umieść oba pliki w tym samym folderze i uruchom plik wsadowy za pomocą Harmonogramu zadań systemu Windows.
Pierwszy plik to po prostu plik wsadowy systemu Windows, który wywołuje narzędzie sqlcmd i przekazuje plik skryptu SQL.
Plik skryptu SQL zawiera język T-SQL. W moim przykładzie jest to tylko jeden wiersz na kopię zapasową bazy danych, ale można w nim umieścić dowolny T-SQL. Na przykład możesz UPDATEzamiast tego wykonać kilka zapytań.
Jeśli zadania, które chcesz utworzyć, dotyczą kopii zapasowych, konserwacji indeksów lub kontroli integralności, możesz również skorzystać z doskonałego rozwiązania Maintenance firmy Ola Hallengren.
Składa się z wielu procedur składowanych (i zadań agenta SQL dla wersji SQL Server innych niż Express), aw FAQ znajduje się sekcja o tym, jak uruchamiać zadania w SQL Server Express:
Jak rozpocząć korzystanie z rozwiązania do konserwacji programu SQL Server w programie SQL Server Express?
SQL Server Express nie ma agenta SQL Server. Dlatego wykonywanie procedur składowanych należy zaplanować przy użyciu plików cmd i zaplanowanych zadań systemu Windows. Wykonaj poniższe czynności.
SQL Server Express nie ma agenta SQL Server. Dlatego wykonywanie procedur składowanych należy zaplanować przy użyciu plików cmd i zaplanowanych zadań systemu Windows. Wykonaj poniższe czynności.
Pobierz MaintenanceSolution.sql.
Wykonaj MaintenanceSolution.sql. Ten skrypt tworzy potrzebne procedury składowane.
@ HasanGürsoy Jeśli tworzysz zaplanowane zadanie, które uruchamia SQLCMD (z lub bez pliku BAT), zalecałbym użycie parametru „-E” SQLCMD do uwierzytelniania systemu Windows. Aby to zadziałało, zdefiniuj login SQL Server dla użytkownika systemu Windows, który jest właścicielem zaplanowanego zadania systemu Windows. Jeśli nie jest jasne, w którym systemie Windows loguje się zadanie, wpisz „WHOAMI” (polecenie DOS) w pliku BAT i przechwyć wynik pliku BAT, aby zobaczyć, kto wykonuje.
Doug_Ivison
@ HasanGürsoy Lub, w przypadku uwierzytelniania SQL Server, umieszczałbym hasło w zaplanowanym zadaniu systemu Windows (gdzie uprawnienia decydują o tym, kto może je odczytać), zamiast umieszczać je w pliku w dowolnym miejscu. Przechodzi do wiersza poleceń pliku BAT. Jeśli jest to pierwszy parametr przekazywany do pliku BAT, to w pliku BAT możesz odnosić się do niego jako% 1, na przykład w wierszu SQLCMD.
Doug_Ivison
41
Funkcjonalność tworzenia zadań SQL Agent nie jest dostępna w SQL Server Express Edition. Alternatywą jest wykonanie pliku wsadowego, który wykonuje skrypt SQL za pomocą Harmonogramu zadań systemu Windows.
Aby to zrobić, najpierw utwórz plik wsadowy o nazwie sqljob.bat
Następnie utwórz plik skryptu SQL o nazwie sqljob.sql
USE [databasename]
--T-SQL commands go hereGO
Zastąp nazwę [databasename]swojej bazy danych. Elementy USEi GOsą niezbędne podczas pisania skryptu SQL.
sqlcmdto narzędzie wiersza poleceń do wykonywania skryptów SQL. Po utworzeniu tych dwóch plików uruchom plik wsadowy za pomocą Harmonogramu zadań systemu Windows.
Uwaga: już wcześniej opublikowano prawie taką samą odpowiedź na to pytanie. Ale czułem, że jest niekompletny, ponieważ nie zawierał informacji o używaniu danych logowania sqlcmd.
Gdzie mógłbym zapisać ten plik sqljob.sql? i jak mogę ustawić, kiedy to się wykona?
WTFZane
1
@WTFZane, nie ma to znaczenia, o ile lokalizacja jest dostępna dla każdego, kto wykonuje plik wsadowy. (w powyższym skrypcie zastąp path of sqljob.sqldowolną lokalizacją, której używasz). Pamiętaj, że *.sqlplik tutaj to nic innego jak plik tekstowy.
Abel
16
Wersje programu SQL Server Express są pod pewnymi względami ograniczone - jednym z nich jest brak agenta SQL, który umożliwia planowanie zadań.
Istnieje kilka rozszerzeń innych firm, które zapewniają taką możliwość - sprawdź np:
Odpowiedzi:
SQL Server Express nie zawiera agenta SQL Server , więc nie można po prostu tworzyć zadań SQL Agent.
Co możesz zrobić:
Możesz tworzyć zadania „ręcznie”, tworząc pliki wsadowe i pliki skryptów SQL oraz uruchamiając je za pomocą Harmonogramu zadań systemu Windows.
Na przykład możesz wykonać kopię zapasową bazy danych za pomocą dwóch plików, takich jak ten:
backup.bat:
backup.sql:
backup database TeamCity to disk = 'c:\backups\MyBackup.bak'
Po prostu umieść oba pliki w tym samym folderze i uruchom plik wsadowy za pomocą Harmonogramu zadań systemu Windows.
Pierwszy plik to po prostu plik wsadowy systemu Windows, który wywołuje narzędzie sqlcmd i przekazuje plik skryptu SQL.
Plik skryptu SQL zawiera język T-SQL. W moim przykładzie jest to tylko jeden wiersz na kopię zapasową bazy danych, ale można w nim umieścić dowolny T-SQL. Na przykład możesz
UPDATE
zamiast tego wykonać kilka zapytań.Jeśli zadania, które chcesz utworzyć, dotyczą kopii zapasowych, konserwacji indeksów lub kontroli integralności, możesz również skorzystać z doskonałego rozwiązania Maintenance firmy Ola Hallengren.
Składa się z wielu procedur składowanych (i zadań agenta SQL dla wersji SQL Server innych niż Express), aw FAQ znajduje się sekcja o tym, jak uruchamiać zadania w SQL Server Express:
źródło
Funkcjonalność tworzenia zadań SQL Agent nie jest dostępna w SQL Server Express Edition. Alternatywą jest wykonanie pliku wsadowego, który wykonuje skrypt SQL za pomocą Harmonogramu zadań systemu Windows.
Aby to zrobić, najpierw utwórz plik wsadowy o nazwie sqljob.bat
Wymienić
servername
,username
,password
apath
z naszą.Następnie utwórz plik skryptu SQL o nazwie sqljob.sql
USE [databasename] --T-SQL commands go here GO
Zastąp nazwę
[databasename]
swojej bazy danych. ElementyUSE
iGO
są niezbędne podczas pisania skryptu SQL.sqlcmd
to narzędzie wiersza poleceń do wykonywania skryptów SQL. Po utworzeniu tych dwóch plików uruchom plik wsadowy za pomocą Harmonogramu zadań systemu Windows.Uwaga: już wcześniej opublikowano prawie taką samą odpowiedź na to pytanie. Ale czułem, że jest niekompletny, ponieważ nie zawierał informacji o używaniu danych logowania
sqlcmd
.źródło
path of sqljob.sql
dowolną lokalizacją, której używasz). Pamiętaj, że*.sql
plik tutaj to nic innego jak plik tekstowy.Wersje programu SQL Server Express są pod pewnymi względami ograniczone - jednym z nich jest brak agenta SQL, który umożliwia planowanie zadań.
Istnieje kilka rozszerzeń innych firm, które zapewniają taką możliwość - sprawdź np:
źródło