如何在不等待ms sql的结果的情况下执行查询?

时间:2016-06-21 06:47:20

标签: sql-server powershell azure-automation

我的目标是在远程服务器上启动一个查询,从表中删除一些行。 问题是查询需要花费大量时间才能完成,我不希望客户端等待它的完成(也因为我们每秒都支付流程的工作量,这是一个Azure自动化PowerShell工作)。 有没有办法做到这一点? [编辑]我的sql server是一个Azure SQL服务器,然后我不能使用Agent SQL。我只是想知道它是否存在运行查询而不等待其结果的方法.. [/ Edit]

2 个答案:

答案 0 :(得分:1)

您可以使用.Net API SqlCommand.BeginExecuteNonQuery,它允许异步提交查询执行请求并继续执行其他任务。当查询结果可用时,将执行回调,但如果您对实际结果不感兴趣,则可以放置一个空实现。

答案 1 :(得分:-1)

在SQL Server上。

  1. 创建存储过程以从表中删除行。
  2. 在启用了RPC(TRUE)的远程服务器上创建链接服务器。
  3. 使用此链接获取帮助https://technet.microsoft.com/en-us/library/ff772782(v=sql.105).aspx

    1. 要删除记录,请执行存储过程

      EXEC [RemoteServer] .DatabaseName.DatabaseOwner.StoredProcedureName
      
    2. 有关异步过程执行的详细信息。访问 http://rusanu.com/2009/08/05/asynchronous-procedure-execution/

      由于