Merhabalar, bugün sizlere C# ile SQL Server Configuration Manager TCP/IP ayarlarını yapmayı göstereceğim. Hatırlarsanız Projeyi Yönetici Olarak Çalıştırma yazısında ticari amaçlı bir yazılımdan bahsetmiştim. Bu yazı da aynı türden bir yazı olarak görülebilir.
Ticari amaçla yazılım yaptığınızı düşünelim. Bu yaptığınız yazılım MSSQL veritabanını kullandığını varsayalım. Eğer bu programınız birden fazla makinede kullanılacaksa SQL Server Configuration Manager’ de bulunan TCP/IP ayarlarınızı yapmanız gerekmektedir. Bu ayarları sürekli her müşterinizde yapmak yerine programınıza ekleyerek kendinizi iş yükünden kurtarabilirsiniz.
Configuration Manager TCP/IP Ayarları için Kullanılacak Kütüphaneler
Şimdi size C# da kullanacağımız kodları ve eklememiz gereken DLL’ler hakkında bilgi vereceğim.
1 2 3 4 5 6 7 | Microsoft.SqlServer.ConnectionInfo Microsoft.SqlServer.Management.Sdk.Sfc Microsoft.SqlServer.Smo Microsoft.SqlServer.SmoExtended Microsoft.SqlServer.SqlEnum Microsoft.SqlServer.SqlWmiManagement Microsoft.SqlServer.WmiEnum |
DLL’lerini projenize eklemeniz gerekmektedir.
1 2 | using System.Data.SqlClient; using Microsoft.SqlServer.Management.Smo.Wmi; |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | ManagedComputer mc = new ManagedComputer(); for (int i = 0; i < mc.Services.Count; i++) { Service Mysvc = mc.Services[i]; if (Mysvc.ServiceState == ServiceState.Running) { Mysvc.Stop(); Mysvc.Alter(); while (!(string.Format("{0}", Mysvc.ServiceState) == "Stopped")) { Mysvc.Refresh(); } } ServerProtocol srvprcl = mc.ServerInstances[i].ServerProtocols[2]; srvprcl.IsEnabled = true; srvprcl.IPAddresses[0].IPAddressProperties[2].Value = "192.168.1.3"; // IP'niz srvprcl.IPAddresses[0].IPAddressProperties[0].Value = true; //TCP özelliğini true yapıyoruz srvprcl.IPAddresses[0].IPAddressProperties[4].Value = "1433"; // Port numarası srvprcl.IPAddresses[7].IPAddressProperties[1].Value = "1433"; // Port numarası srvprcl.Alter(); Mysvc.Start(); Mysvc.Alter(); while (!(string.Format("{0}", Mysvc.ServiceState) == "Running")) { Mysvc.Refresh(); } } |
Soru ve görüşleriniz için [email protected] adresine mail atabilirsiniz.