正如我们在Oracle中所知,在我们调用提交之前,没有任何数据或动作查询被提交。我想用SQL Server实现这样的实现,我可以在db上运行动作查询,但数据不会永久更改,它只是让我在动作查询前后看到数据。如何在预览模式下使用sql server数据库?
或者是否有任何方法可以在同一台服务器上镜像数据库,以便我可以在辅助数据库上测试我的查询,但它对主数据库没有任何影响。
正如我们在Oracle中所知,在我们调用提交之前,没有任何数据或动作查询被提交。我想用SQL Server实现这样的实现,我可以在db上运行动作查询,但数据不会永久更改,它只是让我在动作查询前后看到数据。如何在预览模式下使用sql server数据库?
或者是否有任何方法可以在同一台服务器上镜像数据库,以便我可以在辅助数据库上测试我的查询,但它对主数据库没有任何影响。
可以使用IMPLICIT_TRANSACTIONS
设置来实现类似的功能,Oracle如何:这是在为这个设置是ON
的结果自动打开,必须明确提交或由用户回滚
交易交易结束。否则,当用户断开连接时,事务及其包含的所有数据更改都会回滚。
你可以,如果你选择,使这一设置始终有效,当你打开新的查询窗口更改Management Studio中设置:
你可以改变从读已提交您的隔离级别设置为快照解决您的测试查询。(如果你不希望看到您的交易过程中的数据变化)
请到快照隔离级别以下链接:
http://gavindraper.com/2012/02/18/sql-server-isolation-levels-by-example/
这与问题无关。只要OP没有在SQL服务器中启动事务(通过保持默认的自动提交模式),隔离级别就不会起作用。 –
可以相同的查询窗口内做到这一点,在你写“的begin tran” 不承诺,直到不符合。
您可以在同一个窗口中执行查询次数,在提交事务之前为您提供查询预览。
它只能在相同的查询窗口内。您无法在其他查询窗口中查看预览。
'开始transaction'和'提交交易' –
取决于您的SQL客户端。只需在那里关闭自动提交并且您有相同的行为。 –