Meines Wissens nach können Sie in einem MS SQL Server Management Studio-Fenster nach dem Ausführen einer "Transaktion starten" und dem Vornehmen einiger Änderungen wie dem Hinzufügen von Daten zu einer Tabelle nur diese Tabelle und diese Änderungen aus demselben Fenster abfragen, bis Sie eine ausführen "Transaktion festschreiben".
Gibt es eine Möglichkeit, eine Abfrage von einer anderen Quelle durchzuführen, bevor die "Commit-Transaktion" ausgeführt wird?
Spezifisch für mein aktuelles Ziel und um einen Kontext hinzuzufügen. Ich mache einige SQL-Abfragen von Excel Power Query. Ich möchte diese Abfragen wirklich vor der "Commit-Transaktion" ausführen können, damit ich einige Analysen durchführen und herausfinden kann, ob ich anstelle eines Commits einen Rollback durchführen sollte.
quelle
Aus Best Practices sollten Transaktionen so kurz wie möglich gehalten werden und niemals auf Benutzerinteraktion warten . Jedes Mal, wenn Sie eine Daten- oder Schemaänderung innerhalb einer Transaktion durchführen, werden die berührten / geänderten Objekte oder Zeilen gesperrt, wodurch die Abfragen anderer Benutzer warten. Dies kann wiederum Ketteneffekte erzeugen, die Ihren Datenbankserver zum Stillstand bringen können.
In dem von Ihnen beschriebenen Szenario würde ich Ihnen stattdessen empfehlen, eine Kopie der Daten zu erstellen, um "Was-wäre-wenn" -Tabellen zu trennen, in denen Sie Ihre Änderungen vornehmen und die Ergebnisse überprüfen können. Wenn Sie mit den Ergebnissen zufrieden sind, verwenden Sie eine Transaktion, um die Daten dieser Tabelle wieder mit den ursprünglichen Tabellen zusammenzuführen.
quelle