SQL server Abfrage Trockenlauf

Ich laufe eine Menge von Abfragen, die INSERT 's, Insert SELECT ' s, UPDATE 's und ALTER ' s auf Tabellen, und bei der Entwicklung dieser Abfragen, die Zwischenschritte, die ausgeführt werden, um zu testing, dass verschiedene Teile der Abfrage arbeiten, potenziell Ändern Sie die Tabelle oder die data in der Tabelle.

Ist es möglich, einen Trockenlauf einer Abfrage zu machen und SQL Management Studio gibt Ihnen, was die Ergebnisse wäre, ohne tatsächlich ändern die data oder die Tabellenstruktur?

In der Minute muss ich die database sichern, die Abfrage ausführen, wenn es funktioniert, gut, wenn es nicht tut, muss ich die database wiederherstellen, die etwa eine Stunde dauern kann und ich versuche zu vermeiden, dass die ganze time wiederhergestellt werden muss databaseen.

Verwenden Sie eine SQL-Transaktion , um Ihre Änderungen zu machen.

Bevor Sie Ihr Skript ausführen:

 BEGIN TRANSACTION; 

Nachdem du dein Skript ausgeführt hast und deine Prüfung getan hast:

 ROLLBACK TRANSACTION; 

Jede Änderung in deinem Skript wird dann rückgängig gemacht.

Hinweis: Stellen Sie sicher, dass Sie kein COMMIT in Ihrem Skript haben!

Beginnen Sie mit der Transaktion, führen Sie die Tabellenoperationen aus und rollen Sie wie folgt ab:

 BEGIN TRAN UPDATE C SET column1 = 'XXX' FROM table1 C SELECT * FROM table1 WHERE column1 = 'XXX' ROLLBACK TRAN 

Damit werden alle Operationen, die seit dem letzten Commit seit dem Beginn dieser Transaktion durchgeführt wurden, zurückgesetzt.