SHOW PROCESSLIST
仅显示当前用户和会话的进程列表。
当前用户有没有办法列出所有当前打开的会话的所有进程?
我有一个带有 SP4 的 SQL Server 2005 Std (x64),它有一个我似乎无法杀死的过程。如果我查看 sys.dm_exec_requests,我会看到 SPID 103,wait_type 为 LCK_M_SCH_M,状态为 SUSPENDED,命令为 KILLED/ROLLBACK。然而,SPID 并没有消失。我什至可以执行 sp_who 103 并且我看到带有 KILLED/ROLLBACK 的 SPID。自从我杀死它以来,SPID 的当前 wait_time 将近 20 小时。
此外,运行KILL 103 WITH STATUS ONLY
返回 0% 完成
将数据库更改从开发环境迁移到 QA 到生产环境的好方法是什么?目前我们:
问题在于它非常手动。它依赖于开发人员记得附加 sql 或如果开发人员忘记了同行评审员来获取它。有时,最终是发现问题的测试人员或 QA 部署人员。
第二个问题是,如果两个单独的任务更改同一个数据库对象,您有时最终需要手动协调更改。这可能就是这样,但似乎仍然应该有一些自动化的方式来“标记”这些问题或其他东西。
我们的设置:我们的开发商店里到处都是具有丰富数据库经验的开发人员。我们的项目非常面向数据库。我们主要是一个 .NET 和 MS SQL 商店。目前我们正在使用 MS TFS 工作项来跟踪我们的工作。这对于代码更改很方便,因为它将更改集链接到工作项,因此我可以准确找出在迁移到 QA 和生产环境时需要包括哪些更改。我们目前没有使用数据库项目,但将来可能会切换到该项目(也许这是答案的一部分)。
我非常习惯我的源代码控制系统为我处理这样的事情,并希望我的 SQL 也有同样的事情。