如果 PC 重新启动,SQL 如何通过链接服务器处理长 运行 查询?

How does SQL deal with a long running query via Linked Server if there’s a PC reboot?

我有一个 SQL 服务器数据库并且有一个到 Oracle 数据库的链接服务器连接。

我的 SQL 服务器上有以下查询 运行:

INSERT INTO dbo.my_table_on_sql_server
    SELECT * 
    FROM OPENQUERY (linkedservername, ‘SELECT * FROM target_table’)

target_table 有 5000 万行,我知道查询需要时间来执行,但之前已成功完成。

不过这一次,我的电脑在查询过程中自动重启了。 PC 重新启动后,SSMS 2017 会自动重新打开,但我再也看不到查询 运行。 my_table_on_sql_server没有数据。

我想了解 SQL 服务器在发生这种情况时会发生什么。我假设查询被终止/回滚是否正确?后台有查询运行吗?我在这个论坛上看到了一些相关的答案,但我想特别了解链接服务器的这一点,因为我经常使用它们从其他数据库检索数据以用于我的工作。

我更关心 Oracle 数据库,因为我不希望我的查询影响上游的任何性能。我对Oracle DB只有只读访问权限。

谢谢!

关闭时查询将中止,INSERT 回滚。回滚可能会在关机期间或重启后发生,并且可能需要一些时间才能完成。

关闭后不会自动重试或访问链接服务器 Oracle 的任何内容。