Automatic kategorisi altındaki ayarlardan olan Auto Close’u inceleyeceğim.
Auto Close nedir?
Veritabanı üzerindeki son kullanıcı bağlantısını kapattığında, veritabanının kapatılarak sunucu üzerindeki (veritabanının kullandığı) kaynakların kullanılabilir olmasını sağlamaktadır. Veritabanı kapatıldığında, bir sonraki kullanıcının erişimi daha uzun sürer.
Seçenekler
- True
- False
Best Practice
Auto Close = False
Auto Close ayarını nasıl düzenleyebilirim?
- T-SQL ile
--Ayarı aktif etmek için ALTER DATABASE [DatabaseName] SET AUTO_CLOSE ON WITH NO_WAIT GO --Ayarı pasif etmek için ALTER DATABASE [DatabaseName] SET AUTO_CLOSE OFF WITH NO_WAIT GO
- Management Studio (SSMS) ile
Database > (Sağ Tık) Properties > Options > Automatic > Auto Close
Ayar değişikliği SQL Server restart gerektirmemektedir.
Demo
Ayar aktif olduğu durumda;
use [StackOverflow2010] GO SELECT * FROM sys.sysprocesses WHERE dbid=DB_ID('StackOverflow2010') GO SELECT name, state_desc, is_auto_close_on ,is_cleanly_shutdown FROM sys.databases WHERE name ='StackOverflow2010'
Demo scriptini çalıştırarak; Auto Close ayarının aktif olduğu veritabanı üzerinde bir connection açıyorum. Connection’ı kontrol etmek için sys.processes
sistem view’ini kullanıyorum. Yukarıdaki görselde görülebileceği üzere veritabanı üzerinde 54 id’sine sahip bir session var.
Ardından veritabanı durumunu kontrol ettiğimde, ONLINE durumda ve kapalı olmadığını görüyorum.
use [master] GO SELECT * FROM sys.sysprocesses WHERE dbid=DB_ID('StackOverflow2010') GO SELECT name, state_desc, is_auto_close_on ,is_cleanly_shutdown FROM sys.databases WHERE name ='StackOverflow2010'
Veritabanı üzerindeki bağlantımı koparıp, aktif connection olup olmadığını kontrol ediyorum.
Sonrasında veritabanı durumunu kontrol ettiğimde, ONLINE durumda ancak is_cleanly_shutdown
kolonunun “1” olduğunu görüyorum. Bu durumda veritabanı kapatıldı ve bir sonraki connection’da kendini açmaya hazır halde bekliyor.
Tekrar bir bağlantı kurulduğunda error log üzerinden veritabanının açıldığında dair log mesajını görebiliriz.
1 yorum