Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

DBA - Как да убиете всички процеси на база данни на SQL Server

Кодът по-долу може да се използва за унищожаване на всички процеси в базата данни на SQL Server. Кодът може да се използва в ситуации, при които промените в базата данни не могат да бъдат направени, ако в базата данни се изпълнява някакъв процес, като например преименуването на база данни, не може да се направи, ако някой процес се изпълнява в тази база данни.

USE MASTER
GO
DECLARE @DatabaseName AS VARCHAR(500)
-->Provide the DataBaseName for which want to Kill all processes.
SET @DatabaseName='YourDataBaseName'
DECLARE @Spid INT
DECLARE KillProcessCur CURSOR FOR
  SELECT spid
  FROM   sys.sysprocesses
  WHERE  DB_NAME(dbid) = @DatabaseName
OPEN KillProcessCur
FETCH Next FROM KillProcessCur INTO @Spid
WHILE @@FETCH_STATUS = 0
  BEGIN
      DECLARE @SQL VARCHAR(500)=NULL
      SET @SQL='Kill ' + CAST(@Spid AS VARCHAR(5))
      EXEC (@SQL)
      PRINT 'ProcessID =' + CAST(@Spid AS VARCHAR(5))
            + ' killed successfull'
      FETCH Next FROM KillProcessCur INTO @Spid
  END
CLOSE KillProcessCur
DEALLOCATE KillProcessCur

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL SERVER:Вземете общия брой дни между две дати

  2. Клауза WHERE срещу ON при използване на JOIN

  3. Неправилен синтаксис близо до ')', извикващ съхранена процедура с GETDATE

  4. Какво е „идентификатор от няколко части“ и защо не може да бъде обвързан?

  5. sql server 2008 management studio не проверява синтаксиса на моята заявка