SQLExpress - cykliczne uruchamianie procedur.

SQLExpress - cykliczne uruchamianie procedur.
CI
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 44
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.

  • Rejestracja: dni
  • Ostatnio: dni
0

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

PA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 3890
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

  • Rejestracja: dni
  • Ostatnio: dni
0

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

PA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 3890
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:

Kopiuj
sqlcmd -S FIRMOWY -E -i C:\SQLTASK\sqljob.sql
  • Rejestracja: dni
  • Ostatnio: dni
0

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

  • Rejestracja: dni
  • Ostatnio: dni
0

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

  • S Server
  • S Server\SqlExpress
  • Rejestracja: dni
  • Ostatnio: dni
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:

Kopiuj
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

SI
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 109
0

hej

a nie łatwiej skrypt w powershell'u napisać

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.