Mein Ziel ist es, eine Abfrage auf einem Remote-Server zu starten, der einige Zeilen aus einer Tabelle löscht. Das Problem besteht darin, dass die Abfrage viel Zeit in Anspruch nimmt, und ich möchte nicht, dass der Client auf seinen Abschluss wartet (auch weil wir für jede Sekunde bezahlen, die der Prozess ausführt, es handelt sich um einen PowerShell-Job von Azure). Gibt es eine Möglichkeit, das zu tun? [Bearbeiten] Mein SQL Server ist ein Azure SQL Server, dann kann ich Agent SQL nicht verwenden. Ich will nur wissen, ob es eine Methode gibt, um eine Abfrage auszuführen, ohne ihre Ergebnisse zu warten. [/ Edit]Wie Abfrage ausführen, ohne auf Ergebnisse in MS SQL warten?
Antwort
Auf SQL Server.
- Gespeicherte Prozedur erstellen, um Zeilen aus der Tabelle zu löschen.
- Erstellen Sie den verknüpften Server auf dem Remote-Server mit aktiviertem RPC (TRUE).
Nutze diesen Link um Unterstützung https://technet.microsoft.com/en-us/library/ff772782(v=sql.105).aspx
Zum Löschen von Datensätzen die Stored Procedure
EXEC [RemoteServer] .DatabaseName.DatabaseOwner.StoredProcedureName
Ausführliche Informationen über Asynchronous Prozedur Ausführung ausführen . Besuche http://rusanu.com/2009/08/05/asynchronous-procedure-execution/
Dank
Bitte erklären Sie, wie sich das auf asynchrone Weise verhalten wird und was sich von der Ausführung des Sprocs auf dem lokalen System unterscheidet. – vonPryz
Sie können besuchen http://rusanu.com/2009/08/05/asynchronous-procedure-execution/ –
Sie .NET-API verwenden können SqlCommand.BeginExecuteNonQuery, die erlauben würde, die Abfrage-Ausführungsanforderung asynchron und weiterhin mit anderen Aufgaben zu unterbreiten. Callback wird ausgeführt, wenn Abfrageergebnisse verfügbar sind. Sie können jedoch eine leere Implementierung einfügen, wenn Sie nicht an den tatsächlichen Ergebnissen interessiert sind.
Ist es möglich, es in einem ps-Skript in azure Automation zu tun? –
Ja. Ich habe kein Beispiel für ein Runbook, das BeginExecuteNonQuery praktisch verwenden würde, aber hier ist das Beispiel, das synchrone Version verwendet - ExecuteNonQuery: https://gallery.technet.microsoft.com/scriptcenter/Azure-Automation-Your-SQL-30f8736b #Inhalt. Sie können einfach dem Beispiel folgen und ** ExecuteNonQuery ** durch ** BeginExecuteNonQuery ** ersetzen und entsprechende Parameter übergeben. Die Codezeile direkt nach Ihrem Aufruf von ** BeginExecuteNonQuery ** - wird ausgeführt, ohne auf die Ergebnisse der Abfrage zu warten. –
Es klingt perfekt –
- 1. Android MS Sql Abfrage
- 2. SQL Abfrage Ergebnisse in tkinter
- 3. SQL-Abfrage alle Ergebnisse in einer Abfrage
- 4. MS SQL-Abfrage funktioniert nicht auf MySQL
- 5. Wie Async Files.ReadAllLines und warten auf Ergebnisse?
- 6. Summe bestimmte Spalten in MS SQL-Abfrage
- 7. PHP Befehl ausführen und Protokollausgabe ohne Warten
- 8. MS SQL-XML-Abfrage in Datei
- 9. MS Access SQL-Abfrage in VBA-Code
- 10. Abfrage auf Knopfdruck ausführen
- 11. SQL-Abfrage, Wildcard, MS SQL Server 2005
- 12. Abfrage über SQL die Ergebnisse in Excel
- 13. Komplexe SQL-Abfrage, die unerwünschte Ergebnisse zurückgibt
- 14. Doppelte Ergebnisse zu SQL-Abfrage
- 15. Abfrage Ergebnisse ohne Speichern in POJO?
- 16. SQL, Wie verkette ich Ergebnisse?
- 17. Wie schreibe ich SQL-Abfrage? für ms sql server
- 18. Konvertieren einer MS SQL-Abfrage in eine Informix-Abfrage
- 19. Ausgabe SQL-Abfrage Ergebnisse in bestimmten Format
- 20. SQL-Abfrage ausführen mit PreparedStatement
- 21. Wie auf Ergebnisse innerhalb einer if-Anweisung in js warten?
- 22. SQL-Abfrage mit Elixir ausführen
- 23. SQL-Abfrage ohne Aggregate
- 24. MS Access sql Abfrage für Forum Tabellen
- 25. MS SQL-Abfrage-Parameter von Web-
- 26. Sql Join Abfrage mit MS Access
- 27. Filtern auf ActiveRecord-Beziehung ohne zusätzliche SQL-Abfrage?
- 28. Ausführen Multiplikation in SQL
- 29. Abfrage von MS-Zugriff auf SQL Server aktualisieren
- 30. Zugriff auf Ergebnisse in Enumerable.Range, ohne auf alle Aufgaben warten zu müssen
Sie können Service Broker verwenden, um asynchrone, alte, aber immer noch gültige Posts hier auszuführen: http://rusanu.com/2009/08/05/asynchronous-procedure-execution/ –
Wenn Sie es von Powershell ausführen können, Sie Kann Jobs oder RunSpaces verwenden – Avshalom
Muss der Benutzer den Löschvorgang starten oder handelt es sich um einen unbeaufsichtigten Prozess? –