Merhabalar bu yazıda C# ile MSSQL Server İşlemleri hakkında bilgi vereceğim. Bir önceki yazı birden fazla kere programların açılmasını engellemekle alakalıydı. C# ile MSSQL Server İşlemleri ile ilgili bu yazıda sunucu durumu hakkında temel kazanımlar elde edeceksiniz.
C# ile MSSSQL Server İşlemleri Nerede İşimize Yarar ?
Bu yazımda sizlere MSSQL Server’ın başlatılması,resetlenmesi,durdurulması hakkında bilgi vereceğim. Bunun projeniz içinden kontrol edilmesi size avantaj sağlar. Örneğin ticari amaçlı bir program yaptığınızı düşünelim. Müşterinize kurduğunuzda sistemi eğer müşterinizden dolayı veya başka nedenden dolayı SQL’in kapandığı durumlarda sistem çalışmayacaktır. Bunu siz programınızın login kısmında kontrol ederseniz. Müşteriniz sizi aramadan sisteminiz otomatik olarak devam edecektir. Eğer bu olayı sisteminize eklemezseniz müşteriniz sürekli sizi rahatsız edecektir. Ben bunu bir örnek olarak verdim siz başka yerlerde de kullanabilirsiniz.
Artık yavaş yavaş proje bölümüne geçelim. SQL işlemini yapmak için “System.ServiceProcess” projenize eklemeniz gerekiyor. Eski yazılarımda bunu anlatmıştım tekrar tekrar anlatmayacağım. Kısıca Solution Explorer -> References -> Sağ Tık -> Add Reference bölümünden eklenebilir.
Daha sonra aşağıdaki kodu projemize ekliyoruz.
1 | using System.ServiceProcess; |
Ben aşağıdaki kodda SQL’in açık olup olmadığını kontrol ediyorum. Eğer açıksa kullanıcıya soruyorum açmak istiyor musunuz diye eğer kullanıcı eveti seçerse SQL otomatik olarak başlayacaktır. Siz bunu kendinize göre değiştirebilirsiniz. Siz aşağıdaki kodları inceleyerek örneğin “Stopped” yerine “Running” gibi değiştirerek deneyerek kendinize göre şekillendirebilirsiniz.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | try { ServiceController svc = new ServiceController("MSSQLSERVER"); if ((svc.Status.Equals(ServiceControllerStatus.Stopped)) || (svc.Status.Equals(ServiceControllerStatus.StopPending))) { try { DialogResult cevap = MessageBox.Show("MSSQLSERVER kapalı durumda açmak istiyor musunuz?", "Onay!", MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (cevap == DialogResult.Yes) { svc.Start(); } } catch { } } } catch { } |
Soru ve görüşleriniz için [email protected] adresine mail atabilirsiniz.