标签: kill

如何终止等待 IO_COMPLETION 的挂起 SQL Server 事务?

我们有一个事务已经运行了 5 个多小时。我们的磁盘空间不足。会话已被终止,但仍在等待 IO_COMPLETION。实际上wait_type 只是更改为PAGEIOLATCH_EX。如何终止挂起的 SQL Server 事务?我不担心丢失数据,因为所有数据都可以重新填充。

session_id: 54
STATUS: suspended
blocked by: 0
wait_type: PAGEIOLATCH_EX
Elapsed Time (in Sec): 19750.420000
open_transaction_count: 2
Run Code Online (Sandbox Code Playgroud)

transaction sql-server-2012 kill

8
推荐指数
1
解决办法
1万
查看次数

删除语句不响应终止会话命令

四天前,一个用户在一个有 400,000,000 行的表上运行了下面的命令。它仍在运行,日志文件的大小也在增加。

delete from [table-name]
Run Code Online (Sandbox Code Playgroud)

该表确实有一个未启用检查的外键约束,我知道另一个表中不存在任何行。

数据库正在启用“Is Read Committed Snapshot On”并处于简单恢复模式下运行。

在这运行了几个小时之后,我发出了一个终止会话命令,因为我们的日志文件磁盘空间不足。我添加了另一个日志文件以允许系统继续运行。

日志文件继续增长,当我使用 statusonly 运行 kill session 时,它返回此消息:

SPID 123: transaction rollback in progress. Estimated rollback completion: 0%. Estimated time remaining: 0 seconds.
Run Code Online (Sandbox Code Playgroud)

我不知道如何处理这个查询以使其回滚并且也只是了解正在发生的事情,任何人都可以建议我可以查看什么?

sql-server delete rollback kill

8
推荐指数
2
解决办法
1551
查看次数

被杀死的会话是否出现在查询存储中?

是否有任何选项可以在查询存储中查看已终止的会话?

我这么问是因为我们有一个附加工具,如果会话运行时间超过 30 分钟(KILL命令),它就会终止会话。

我想检查查询存储中已终止查询的执行计划。我在查询存储中找不到被这个附加应用程序杀死的会话/查询。

sql-server kill query-store

7
推荐指数
2
解决办法
773
查看次数

使用 TCP keepalive 终止孤立的 postgres 查询不起作用

问题:某个应用程序的用户执行一个涉及大量 sql 查询的报告。几分钟后,用户退出应用程序(或者更糟糕的是,应用程序崩溃,或者与数据库服务器的连接丢失)。然而,查询会继续执行,即使不再需要它

所以我已经阅读了这些类型的情况以及如何处理它们,并且建议使用TCP Keepalive 配置

问题是看起来 postgres 忽略了这个配置。我在“postgres 级别”和“操作系统级别”都降低了原始配置值,但没有运气:

  • 配置文件
    • tcp_keepalives_idle = 60
    • tcp_keepalives_interval = 6
    • tcp_keepalives_count = 10
  • Ubuntu
    • echo 60 > /proc/sys/net/ipv4/tcp_keepalive_time
    • 回声 10 > /proc/sys/net/ipv4/tcp_keepalive_intvl
    • 回声 6 > /proc/sys/net/ipv4/tcp_keepalive_probe

我什至尝试重新加载/重新启动 postgres 但没有任何效果,查询一直运行到最后两分钟。¿是否有任何额外的步骤我遗漏了?

编辑:pg_stat_activity 的结果:

  datid   |                  datname                   | procpid | usesysid | usename  |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          current_query                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          | waiting |          xact_start           |          query_start          |         backend_start         | client_addr | client_port 
----------+--------------------------------------------+---------+----------+----------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+---------+-------------------------------+-------------------------------+-------------------------------+-------------+-------------
467061608 | libertya_prod_hts_rg1_20161004_qafuncional |   16716 |    16384 | libertya | SELECT dt.signo_issotrx, …
Run Code Online (Sandbox Code Playgroud)

postgresql postgresql-8.4 tcpip kill

6
推荐指数
1
解决办法
4009
查看次数

杀死无限循环plperl

如何使用无限循环的 plperl 函数终止会话?

双方pg_terminate_backendpg_cancel_backend没有任何影响。kill -1 pid什么也没做,kill -9 pid服务器崩溃了。

postgresql perl hang kill

5
推荐指数
1
解决办法
244
查看次数

如何杀死已经被杀死的流氓蜘蛛?

我有一个无法杀死的顽固 spid,它阻止了我的 tempdb的事务日志被截断

这就是我发现这个流氓 spid 的方法:

if object_id('tempdb..#OpenTranStatus','U') is not null
   drop table #OpenTranStatus

CREATE TABLE #OpenTranStatus (
ActiveTransaction varchar(25),
Details sql_variant
);
 
-- Execute the command, putting the results in the table.
INSERT INTO #OpenTranStatus
EXEC ('DBCC OPENTRAN (sqlwatch) with tableresults')
SELECT * FROM #OpenTranStatus
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

这是它正在运行(或保留)的查询:

select d.database_id , sd.sqlwatch_database_id, sd.sql_instance
        into #d
        from dbo.vw_sqlwatch_sys_databases d

        inner join [dbo].[sqlwatch_meta_database] sd 
            on sd.[database_name] = d.[name] collate database_default
            and sd.[database_create_date] = case when d.name = 'tempdb' …
Run Code Online (Sandbox Code Playgroud)

sql-server dbcc transaction tempdb kill

5
推荐指数
1
解决办法
1009
查看次数

Linux命令杀死特定用户的所有MySQL会话?

如何使用 Linux 命令行命令终止 mysql 中用户的所有会话?
我有一个用户正在使用我的数据库连接上的所有内容,并且要一一杀死我想制作一个脚本来杀死它们全部!

mysql linux kill

3
推荐指数
1
解决办法
7804
查看次数

仅授予某些数据库的 KILL 连接(会话)权限?

For a SQL Server on a VM/physical box (not Azure SQL database!)
Run Code Online (Sandbox Code Playgroud)

这是否可以授予 KILL 权限,但以某种方式授予者只能终止某些数据库的连接?

我不想授予此用户杀死任何连接的能力,而只是 1 个数据库

谢谢!!

sql-server permissions kill

3
推荐指数
1
解决办法
8722
查看次数

对大型数据库的查询终止与服务器的连接,与 LIMIT 一起使用

我正在尝试在大型数据库上运行查询而不终止与服务器的连接。

我在具有 16GB 内存和大约 40GB 可用磁盘空间的 Mac 上使用 Postgres 12.1。根据数据,数据库为 78GB pg_database_size,最大表为 20GB pg_total_relation_size

无论我运行哪个非工作查询,我(从日志中)得到的错误是:

server process (PID xxx) was terminated by signal 9: Killed: 9
Run Code Online (Sandbox Code Playgroud)

在 VS 代码中,错误是"lost connection to server".

两个不起作用的例子是:

UPDATE table
SET column = NULL
WHERE column = 0;
Run Code Online (Sandbox Code Playgroud)
select columnA
from table1
where columnA NOT IN (
select columnB
from table2
);
Run Code Online (Sandbox Code Playgroud)

我可以通过添加 1,000,000 个来运行某些查询(例如上面的查询)LIMIT

我怀疑由于临时文件而导致磁盘不足,但在日志(带有log_temp_files = 0)中,我看不到任何正在写入的临时文件。

我尝试增加和减少work_mem, maintenance_work_mem,shared_bufferstemp_buffers。没有一个起作用,性能大致相同。 …

postgresql mac-os-x kill connections jit

2
推荐指数
1
解决办法
6672
查看次数