SQLExpress - cykliczne uruchamianie procedur.

1

Koledzy,
Poproszę Was o pomoc SQL Express nie ma harmonogramu zadań.
Muszę zrobić dwa zadania polegające na cyklicznym uruchamianiu napisanych procedur (niezależne):

  • Uruchamiana 1x na dobę o określonej godzinie.
  • Uruchamiana co 15 minut.

Możecie pomóc jak to zrobić :-), czy dobrze myślę?

Plik sqljob.bat ma być uruchamiany w Windows Task Scheduler.

Z tego co znalazłem, tworzymy plik: sqljob.bat:
sqlcmd -S servername -U username -P password -i path of sqljob.sql
np:
sqlcmd -S FIRMOWY -U sa -P 12345 -i C:\SQLTASK\sqljob.sql

Następnie utwórz plik skryptu SQL o nazwie sqljob.sql
Umieszczamy go w katalogu: C:\SQLTASK\

USE [databasename] --T-SQL commands go here GO
np: USE [FIRMA] Exec NAZWA_PROCEDURY GO

Dzięki za pomoc.

0

Dokładnie tak, tylko ustal ścieżkę do sqlcmd gdyż w każdej wersji SQLa jest w innej lokalizacji

0

Tak, harmonogram systemowy to jedyne rozwiązanie dla wersji express, ja preferuję dodanie opcji ’d’ z nazwą bazy danych, wtedy możesz mieć jeden skrypt do kilku serwerów/baz bo nie musisz używać use

0

Dzięki,
Działa idealnie tylko "GO" musi być w oddzielnej Linii.
Jedna wada że w pliku trzeba pokazać dane logowania do serwera :-(

0

Do tego masz autoryzacje windows, dodaj użytkownika w systemie, nadaj mu odpowiednie uprawnienia na bazie i uruchum zadanie w kontekście tego użytkownika. a sqlcmd wywołuj tak:

sqlcmd -S FIRMOWY -E -i C:\SQLTASK\sqljob.sql
0

Na jednym serwerze poszło na drugim się "Stawia":
Microsoft SQL Server Native Client 11.0 : Login failed for user:...

0

Poszło....
W nazwie serwera trzeba było:

  • S Server
  • S Server\SqlExpress
0
Panczo napisał(a):

Do tego masz autoryzacje windows, dodaj użytkownika w systemie, nadaj mu odpowiednie uprawnienia na bazie i uruchum zadanie w kontekście tego użytkownika. a sqlcmd wywołuj tak:

sqlcmd -S FIRMOWY -E -i C:\SQLTASK\sqljob.sql

Można jeszcze wstawić ten ciąg do HARMONOGRAMU ZADAŃ, mało kto tam zagląda.
I nie trzeba wtedy tworzyć pliku wywołującego skrypt.
Na dysku masz sam *.sql

0

hej

a nie łatwiej skrypt w powershell'u napisać

1 użytkowników online, w tym zalogowanych: 0, gości: 1