Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php SQL Server:从外部停止查询_Php_Sql Server_Sqlcmd_Sql Scripts - Fatal编程技术网

Php SQL Server:从外部停止查询

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命令没有给你很多控制权 如果您正在做一些耗时的事情,那么最好使用生产者-消费者体系结构。让主程序发布(到数据库或文本文件)要运行的命令。让一个单独的进程(可能是

我通过PHP使用SQLCMD实用程序运行查询,我想知道是否有方法通过传递进程ID或其他信息来停止通过另一个SQL命令执行的查询或脚本

我还使用了SQL Server的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


请注意,通常认为终止进程不是一个好主意,因为您可能不确定它们到底在做什么。

啊,我明白了。我运行的命令是我运行的命令,有时它们需要被终止,数据库只是清空,所以我想在这种情况下是可以的!啊,我明白了。我运行的命令是我运行的命令,有时它们需要被终止,数据库只是清空,所以我想在这种情况下是可以的!