2014-07-09 64 views
1

正如我們在Oracle中所知,在我們調用提交之前,沒有任何數據或動作查詢被提交。我想用SQL Server實現這樣的實現,我可以在db上運行動作查詢,但數據不會永久更改,它只是讓我在動作查詢前後看到數據。如何在預覽模式下使用sql server數據庫?

或者是否有任何方法可以在同一臺服務器上鏡像數據庫,以便我可以在輔助數據庫上測試我的查詢,但它對主數據庫沒有任何影響。

+0

'開始transaction'和'提交交易' –

+0

取決於您的SQL客戶端。只需在那裏關閉自動提交併且您有相同的行爲。 –

回答

2

可以使用IMPLICIT_TRANSACTIONS設置來實現類似的功能,Oracle如何:這是在爲這個設置是ON的結果自動打開,必須明確提交或由用戶回滾

交易交易結束。否則,當用戶斷開連接時,事務及其包含的所有數據更改都會回滾。

你可以,如果你選擇,使這一設置始終有效,當你打開新的查詢窗口更改Management Studio中設置:

enter image description here

0

你可以改變從讀已提交您的隔離級別設置爲快照解決您的測試查詢。(如果你不希望看到您的交易過程中的數據變化)

請到快照隔離級別以下鏈接:

http://gavindraper.com/2012/02/18/sql-server-isolation-levels-by-example/

+0

這與問題無關。只要OP沒有在SQL服務器中啓動事務(通過保持默認的自動提交模式),隔離級別就不會起作用。 –

2

可以相同的查詢窗口內做到這一點,在你寫「的begin tran」 不承諾,直到不符合。

您可以在同一個窗口中執行查詢次數,在提交事務之前爲您提供查詢預覽。

它只能在相同的查詢窗口內。您無法在其他查詢窗口中查看預覽。

相關問題