Ich unterstütze eine Anwendung in einem großen Unternehmen. Eine meiner Aufgaben besteht darin, Daten zu bereinigen. Ich muss jede Stunde eine Abfrage ausführen und möchte sie automatisieren. Aufgrund von Organisationsrichtlinien kann ich keine SQL Server-Agent-Jobs erstellen oder das Schema ändern. Ich kann nur Daten bearbeiten.
Ein endloses
WHILE(1=1)
BEGIN
WAITFOR DELAY '01:00';
--do work
END
macht den Job für mich, aber ich zucke bei dem Gedanken an eine dauerhafte Verbindung mit den Schultern.
Idealerweise würde ich die MS SS selbst skripten, um jede Stunde einen bestimmten Code auszuführen, aber ich bin mir nicht sicher, ob dies möglich ist.
Gibt es eine Lösung für dieses Problem?
sql-server
scheduled-tasks
Ivan Koshelev
quelle
quelle
Antworten:
Ihr Freund ist sqlcmd (Microsoft Technet)
Z.B
Viel Glück.
quelle
Sie benötigen Management Studio nicht, um Abfragen auszuführen.
Wenn Sie wirklich keine Möglichkeit haben, jemanden einen Job für Sie planen zu lassen, sollten Sie sich mit sqlcmd befassen, wie in der Antwort von hot2use angegeben
Wenn Sie eine Version verwenden, die nicht unterstützt wird (da Sie keine Version angegeben haben), gibt es auch osql , einen Befehlszeilenclient, das Tool ist jedoch veraltet.
Sie können dann einen Befehl mit einem beliebigen Scheduler planen (zum Beispiel Windows Task Scheduler) und so etwas ausführen:
Sehen Sie in der Dokumentation nach, welche Optionen Sie für die Serverauswahl und -authentifizierung haben.
quelle
Die Verwendung von "SQL Server Agent" in MS SQL Studio (erweitern Sie Ihren Server im Objekt-Explorer und er sollte normalerweise am Ende der Liste stehen) ist wahrscheinlich die beste Wahl.
Dadurch wird ein Job erstellt, der in festgelegten Intervallen ausgeführt werden kann. Die Jobs werden als Dienst auf dem Server und nicht auf dem Client ausgeführt. Dies bedeutet, dass der Job weiterhin ausgeführt wird, wenn der Client die Verbindung trennt und der Server neu gestartet wird (aus einem unbekannten Grund), ohne dass Sie ihn erneut initialisieren müssen.
Der Nachteil ist, dass Sie wahrscheinlich erhöhte Zugriffsrechte benötigen, um dies zu tun.
quelle