Php SQL Server:从外部停止查询
我通过PHP使用SQLCMD实用程序运行查询,我想知道是否有方法通过传递进程ID或其他信息来停止通过另一个SQL命令执行的查询或脚本 我还使用了SQL Server的PHP驱动程序,这样做会更容易吗 或者这一切都不可能——一旦查询运行,您就无法停止它了Php SQL Server:从外部停止查询,php,sql-server,sqlcmd,sql-scripts,Php,Sql Server,Sqlcmd,Sql Scripts,我通过PHP使用SQLCMD实用程序运行查询,我想知道是否有方法通过传递进程ID或其他信息来停止通过另一个SQL命令执行的查询或脚本 我还使用了SQL Server的PHP驱动程序,这样做会更容易吗 或者这一切都不可能——一旦查询运行,您就无法停止它了 谢谢,这一切取决于您如何调用SQLCMD。是否将其作为对exec()的调用运行?PHP命令没有给你很多控制权 如果您正在做一些耗时的事情,那么最好使用生产者-消费者体系结构。让主程序发布(到数据库或文本文件)要运行的命令。让一个单独的进程(可能是
谢谢,这一切取决于您如何调用SQLCMD。是否将其作为对exec()的调用运行?PHP命令没有给你很多控制权 如果您正在做一些耗时的事情,那么最好使用生产者-消费者体系结构。让主程序发布(到数据库或文本文件)要运行的命令。让一个单独的进程(可能是另一个PHP脚本)运行该命令——但在它启动SQLCMD之前,让它向主程序提供其进程ID(或其他句柄) 然后,在主程序中,如果生成的进程花费的时间太长,可以将其杀死
关于PHP exec函数的一些注释可能会有所启发:取决于您如何调用该SQLCMD。是否将其作为对exec()的调用运行?PHP命令没有给你很多控制权 如果您正在做一些耗时的事情,那么最好使用生产者-消费者体系结构。让主程序发布(到数据库或文本文件)要运行的命令。让一个单独的进程(可能是另一个PHP脚本)运行该命令——但在它启动SQLCMD之前,让它向主程序提供其进程ID(或其他句柄) 然后,在主程序中,如果生成的进程花费的时间太长,可以将其杀死
关于PHP exec函数的一些注释可能会有所启发:SQL Server跟踪所有正在执行的进程。您可以使用存储过程
SP_WHO
和SP_WHO2
查看列表-每个进程都有一个唯一的SPID
在过去,我为了自己的目的复制和定制了这些过程背后的代码
您可以使用DBCC-INPUTBUFFER(@SPID)
您可以使用kill@SPID
请注意,通常认为终止进程不是一个好主意,因为您可能不确定它们到底在做什么。SQL Server跟踪所有正在执行的进程。您可以使用存储过程
SP_WHO
和SP_WHO2
查看列表-每个进程都有一个唯一的SPID
在过去,我为了自己的目的复制和定制了这些过程背后的代码
您可以使用DBCC-INPUTBUFFER(@SPID)
您可以使用kill@SPID
请注意,通常认为终止进程不是一个好主意,因为您可能不确定它们到底在做什么。啊,我明白了。我运行的命令是我运行的命令,有时它们需要被终止,数据库只是清空,所以我想在这种情况下是可以的!啊,我明白了。我运行的命令是我运行的命令,有时它们需要被终止,数据库只是清空,所以我想在这种情况下是可以的!