gpt4 book ai didi

sql-server - 杀死用户进程

转载 作者:行者123 更新时间:2023-12-05 00:14:25 26 4
gpt4 key购买 nike

目前,我有 SQL Server 2005 数据库,对此我有管理员权限,但没有系统管理员权限。

有一个特殊的过程阻止我在 table 上做一些事情。

如果在没有系统管理员权限的情况下通过 Web 客户端运行用户 SQL 查询,是否有办法终止用户 SQL 查询。就我而言,django 网站使用 pymssql 运行查询?

最佳答案

使用“KILL”是受角色限制的,这是有充分理由的,只有当您了解阻塞进程正在做什么时才应该使用它。如果 KILL 语句用于执行长时间运行事务的 SPID,则 KILL 将在表上启动 ROLLBACK(在大表上可能需要相当长的时间)以保持数据库一致性。声明:

SELECT open_tran FROM master.sys.sysprocesses WHERE SPID=<blocking SPID number>

将为您提供有关该过程及其作用的一些详细信息。或者你可以尝试:

DBCC INPUTBUFFER(<spid>)

查找 SPID 提交的最后一条语句(尽管我认为您的权限可能不够)。如果确定 SPID 在 block 上休眠,您将仍然需要提升到 processadmin 的最低角色才能执行 KILL 语句。

其他三个可以帮助您的建议:

  1. 努力在针对数据库执行的代码中实现锁定提示的使用。
  2. 如果这是一个持续存在的问题,请让您的 DBA 评估导致阻塞的语句,并征求他们的意见。
  3. 与您的 DBA 亲近永远不会有什么坏处,一次或两次的小小奉承(比萨午餐、下类后的饮料等)确实会有所作为。他们可能不会授予您所需的权限提升,但他们可以为您创建解决方法,如所述here这可以在不改变您的角色的情况下解决您的问题。

关于sql-server - 杀死用户进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19919994/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com