Web design and hosting, database, cloud and social media solutions that deliver business results
  • İş çözümleri
    • Robotik Süreç Otomasyonu
    • Veritabanı Hizmetleri
      • Veri Entegrasyonu
      • Araçlar
    • Yazılım
    • Web Sitesi Tasarımı
      • Web Sitesi Güvenliği
      • Web Yerelleştirme ve Çeviri
    • İş hizmetleri
      • Microsoft Azure
    • Microsoft Office
    • Sosyal Medya
  • Akademi
    • Test Ortamımız
    • Veritabanı Tasarımını Öğrenme
      • SQL-Server
      • SQL Server 2008 Bakım Planı
      • SQL Server işlevlerini kullanma
      • SQL Server Pivot-Unpivot'u Kullanma
      • SQL Server Tarihlerini Kullanma
    • Web Sitesi Tasarımı Öğrenme
      • ASP-NET
      • CSS
  • Hakkında
    • kariyer
      • İngilizce-Türkçe Çevirmen
    • Portföy
    • Takım
      • Adrian Anandan
      • Ali El Amin
      • Ayşe Hür
      • Chester Copperpot
      • Gavin Clayton
      • Sai Gangu
      • Sunel Kumar
      • Surya Mukkamala
عربى (AR)čeština (CS)Deutsch (DE)English (EN-US)English (EN-GB)Español (ES)فارسی (FA)Français (FR)हिंदी (HI)italiano (IT)日本語 (JA)polski (PL)Português (PT)русский (RU)Türk (TR)中国的 (ZH)

Seçilen veritabanına veya sunucuya tüm bağlantıları kesmek için Saklı Yordam

SQL Saklı Yordam, onu çağıran işlem dışında, seçilen veritabanına veya sunucuya olan tüm bağlantıları kesmek için.

giriiş

Tüm kullanıcıların veritabanınızla bağlantısını kesmeniz gereken zamanlar olabilir, bir örnek Günlük Gönderimi çoğaltması içindir. Aşağıdaki kod, veritabanının geri yükleme görevi tarafından özel modda açılması gerektiğinden her 20 dakikada bir güncellenen bir raporlama sunucusunda kullanıldı.

Aşağıdaki kod bir veritabanı adını kabul eder, bu nedenle yalnızca bir kez yazılması ve ana veya yardımcı programlar (eğer oluşturduysanız) veritabanında saklanması gerekir. Daha sonra başka herhangi bir süreçten çağrılabilir, bizim durumumuzda bunun üzerindeki belgedeki tam bakım planı.

Bu, etkin bağlantıların bir listesini alan ve her biri arasında dolaşan, süreci ve bağlantıyı öldüren oldukça basit bir saklı yordamdır.

SQL Code

CREATE PROC KillConnections(@database VARCHAR(50))AS BEGINSET NOCOUNT ON;DECLARE @spid INTDECLARE @killstatement NVARCHAR(10)--Declare a cursor to select the users connected to the specified databaseDECLARE c1 CURSOR FAST_FORWARD FOR SELECT request_session_id                    FROM sys.dm_tran_locksWHERE resource_type='DATABASE'AND(DB_NAME(resource_database_id)=@database OR @database IS NULL)OPEN c1FETCH c1 INTO @spidWHILE @@FETCH_STATUS=0 BEGIN     IF @@SPID<>@spid--Don't kill the connection of the user executing this statement     BEGIN           -- Construct dynamic sql to kill spid           SET @killstatement='KILL '+CAST(@spid AS VARCHAR(5))           EXEC sp_executesql @killstatement           PRINT @spid-- Print killed spid                 END     FETCH NEXT FROM c1 INTO @spidEND-- Clean upCLOSE c1DEALLOCATE c1ENDGO

Author

Was this helpful?

Please note, this commenting system is still in final testing.
Copyright Claytabase Ltd 2020

Registered in England and Wales 08985867

RSSLoginLink Çerez politikasısite haritası

Social Media

facebook.com/Claytabaseinstagram.com/claytabase/twitter.com/Claytabaselinkedin.com/company/claytabase-ltd

Get in Touch

+442392064871info@claytabase.comClaytabase Ltd, Unit 3d, Rink Road Industrial Estate, PO33 2LT, United Kingdom
Bu sitedeki ayarlar tüm çerezlere izin verecek şekilde ayarlanmıştır. Bunlar, çerez politikamız ve ayarlar sayfamızdan değiştirilebilir. Bu siteyi kullanmaya devam ederseniz, çerezlerin kullanımını kabul etmiş olursunuz.
Ousia Logo
Logout
Ousia CMS Loader