2014-07-09 67 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” 不承诺,直到不符合。

您可以在同一个窗口中执行查询次数,在提交事务之前为您提供查询预览。

它只能在相同的查询窗口内。您无法在其他查询窗口中查看预览。

相关问题