Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Jatuhkan login SQL bahkan saat login

Oke, inilah skrip yang saya buat, yang berhasil untuk saya. Perhatikan bahwa Anda harus menjadi anggota processadmin peran server untuk menemukan dan mematikan koneksi dan anggota admin keamanan untuk menjatuhkan login. (Tentu saja, sysadmin bisa melakukan apa saja.)

DECLARE @loginNameToDrop sysname
SET @loginNameToDrop = '<victim login ID>';

DECLARE sessionsToKill CURSOR FAST_FORWARD FOR
    SELECT session_id
    FROM sys.dm_exec_sessions
    WHERE login_name = @loginNameToDrop
OPEN sessionsToKill

DECLARE @sessionId INT
DECLARE @statement NVARCHAR(200)

FETCH NEXT FROM sessionsToKill INTO @sessionId

WHILE @@FETCH_STATUS = 0
BEGIN
    PRINT 'Killing session ' + CAST(@sessionId AS NVARCHAR(20)) + ' for login ' + @loginNameToDrop

    SET @statement = 'KILL ' + CAST(@sessionId AS NVARCHAR(20))
    EXEC sp_executesql @statement

    FETCH NEXT FROM sessionsToKill INTO @sessionId
END

CLOSE sessionsToKill
DEALLOCATE sessionsToKill

PRINT 'Dropping login ' + @loginNameToDrop
SET @statement = 'DROP LOGIN [' + @loginNameToDrop + ']'
EXEC sp_executesql @statement


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cara Menghindari Monitor Aktivitas Menyakiti Kinerja SQL Server Anda

  2. 11 Cara Mengembalikan Kunci Asing di Database SQL Server menggunakan T-SQL

  3. Hitungan SQL Server lambat

  4. Contoh Konversi 'smalldatetime' menjadi 'datetime' di SQL Server (T-SQL)

  5. Permintaan DateTime hanya pada tahun di SQL Server