En iyi yanıtlayıcılar
SQL SERVER 2008 R2' de ip ile sınırlı erişim.

Soru
-
Merhabalar;
Sql Server 08r2 de veritabanı sunucuma sadece benim belirlediğim ip adreslerinin erişmesini istiyorum. Bunun dışında hesaplar 3. kişinin eline geçse bile kesinlikle veritabanıma erişemesin istiyorum.
Bunu şuanda bütün antivirüsler hemen hemen yapmaktadır... Acaba herhangi bir 3. programa ihtiyaç duymadan sadece sql server ile yapabilmemiz mümkünmüdür?
asd dsad
Yanıtlar
-
Selam,
Bu iş için LOGON TRIGGER kullanabilirsin. Bu Trigger ile CONNECTIONPROPERTY() sistem fonksiyonunu kullanarak gelen kullanıcının IP'sini filtreleyebilirsin.
Bu fonksiyon hakkında daha fazla bilgi için: http://msdn.microsoft.com/en-us/library/bb895240.aspx
Ayrıca istersen yine bir LOGON TRIGGER ile gelen kullanıcının SPID'sini @@SPID ile alıp, sys.dm_exec_connections'tan "client_net_address" alınanı göre sorgulayabilirsin ve sonuca göre kullanıcının girişini engelleyebilirsin.
Örneğin:
CREATE
TRIGGER [IP_Filter]
ON
ALL SERVER
FOR
LOGON
AS
BEGIN
IF
NOT CONNECTIONPROPERTY('client_net_address') = '172.1.2.3'
ROLLBACK
;
GO
Ekrem Önsoy - MCDBA, MCITP:DBA & DBD, MCSD.Net, SQL Server MVP- Yanıt Olarak İşaretleyen Serkan Bark 20 Ekim 2010 Çarşamba 11:18
Tüm Yanıtlar
-
Selam,
Bu iş için LOGON TRIGGER kullanabilirsin. Bu Trigger ile CONNECTIONPROPERTY() sistem fonksiyonunu kullanarak gelen kullanıcının IP'sini filtreleyebilirsin.
Bu fonksiyon hakkında daha fazla bilgi için: http://msdn.microsoft.com/en-us/library/bb895240.aspx
Ayrıca istersen yine bir LOGON TRIGGER ile gelen kullanıcının SPID'sini @@SPID ile alıp, sys.dm_exec_connections'tan "client_net_address" alınanı göre sorgulayabilirsin ve sonuca göre kullanıcının girişini engelleyebilirsin.
Örneğin:
CREATE
TRIGGER [IP_Filter]
ON
ALL SERVER
FOR
LOGON
AS
BEGIN
IF
NOT CONNECTIONPROPERTY('client_net_address') = '172.1.2.3'
ROLLBACK
;
GO
Ekrem Önsoy - MCDBA, MCITP:DBA & DBD, MCSD.Net, SQL Server MVP- Yanıt Olarak İşaretleyen Serkan Bark 20 Ekim 2010 Çarşamba 11:18
-
Bunu 3rd party bir program kullanmak yerine Windows sunucunuzda hali hazirda kurulu bulunan Windows Firewall'u konfigure ederek gerceklestirebiliyor olmaniz lazim, ornegin sunucunuzun 1433 portu icin bir genel blok kurali olusturup izin vermek istediginiz istemcileri belirtebilirsiniz.
Eger bunu illaki SQL server seviyesinde yapmak isterseniz, basit bir IP tablosu olusturup DDL Logon triggeri yaratip baglanan istemcinin listede olup olmadigini kontrol ettirip baglantisini bloklayabilirsiniz, benzer bir ornegini http://sql-articles.com/blogs/ip-address-blocking-or-restriction-in-sql-server/ adresinde gorebilirsiniz, ancak size tavsiyem SQL sunucunuza gereksiz yuk bindirmemek acisindan Windows Firewall kullanmanizdir.
Diger opsiyonlar icin http://blogs.msdn.com/b/sql_protocols/archive/2006/04/10/572605.aspx adresinden faydalanabilirsiniz.
Iyi calismalar
Osman Shener- Yanıt Olarak Öneren Osman Shener 19 Ekim 2010 Salı 14:27