Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

DBA — jak zabić wszystkie procesy bazy danych na serwerze SQL?

Poniższy kod może służyć do zabijania wszystkich procesów w bazie danych SQL Server. Kod może być używany w sytuacjach, w których nie można dokonać zmian w bazie danych, jeśli jakikolwiek proces działa w bazie danych, na przykład zmiana nazwy bazy danych nie może zostać wykonana, jeśli jakikolwiek proces jest uruchomiony w tej bazie danych.

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. Jak ustawić sortowanie bazy danych w SQL Server (T-SQL)

  2. Jak przekonwertować ciąg na datę/godzinę w SQL Server za pomocą CAST()

  3. Jak zainstalować SQLOPS na komputerze Mac?

  4. Sql Server ciąg do konwersji daty

  5. Jak uruchomić zadanie agenta SQL Server przy użyciu T-SQL