Obsługuję aplikację w dużym przedsiębiorstwie, jedną z moich ról jest czyszczenie danych. Jest pytanie, które muszę wykonywać co godzinę i chciałbym je zautomatyzować. Ze względu na zasady organizacji nie mogę tworzyć zadań agenta SQL Server ani modyfikować schematu, mogę jedynie manipulować danymi.
Niekończący się
WHILE(1=1)
BEGIN
WAITFOR DELAY '01:00';
--do work
END
wykonuje za mnie pracę, ale wzruszam ramionami na myśl o perma-otwartym połączeniu.
Idealnie byłoby napisać skrypt do MS SS, aby wykonywał dany fragment kodu co godzinę, ale nie jestem pewien, czy jest to możliwe.
Czy jest jakieś rozwiązanie tego problemu?
sql-server
scheduled-tasks
Ivan Koshelev
źródło
źródło
Odpowiedzi:
Twój przyjaciel to sqlcmd (Microsoft Technet)
Na przykład
Powodzenia.
źródło
Nie potrzebujesz Management Studio do wykonywania zapytań.
Jeśli naprawdę nie masz opcji, aby ktoś zaplanował dla ciebie pracę, powinieneś zajrzeć do sqlcmd, jak zaznaczono w odpowiedzi hot2use
Jeśli korzystasz z wersji, która nie jest obsługiwana (ponieważ nie określiłeś wersji), istnieje również osql, który jest klientem wiersza poleceń, ale to narzędzie jest przestarzałe.
Następnie możesz zaplanować polecenie za pomocą dowolnego harmonogramu (na przykład Harmonogram zadań systemu Windows) i uruchomić coś takiego:
Przejrzyj dokumentację, aby zobaczyć, jakie masz opcje wyboru serwera i uwierzytelnienia.
źródło
Korzystanie z „SQL Server Agent”, który znajduje się w MS SQL studio (w eksploratorze obiektów, rozwiń swój serwer i zwykle powinien znajdować się na dole listy) jest prawdopodobnie najlepszym wyborem.
Spowoduje to utworzenie zadania, które można ustawić na wykonywanie w określonych odstępach czasu. Zadania będą działać jako usługa na serwerze, a nie na kliencie. Oznacza to, że jeśli klient się rozłączy, nadal będzie działać, a jeśli serwer zostanie zrestartowany (z nieznanego powodu), zadanie będzie kontynuowane bez konieczności jego ponownego inicjowania.
Minusem jest to, że prawdopodobnie będziesz potrzebować podwyższonych praw dostępu, aby móc to zrobić.
źródło