Skip to content

[레벨:19]id: id: l2zeo
댓글 0 조회 수 20632 추천 수 0
?

단축키

이전 문서

다음 문서

+ - Up Down Comment Print Files
?

단축키

이전 문서

다음 문서

+ - Up Down Comment Print Files

SQL 2005 있는 DDL 트리거를 이용하여 데이터베이스에 접근하는 특정 IP 막거나, 또는 특정 IP만을 허용하도록 하는 기능을 구현하는 예입니다.

 

IP 차단이나 허용 등은 OS 수준에서 제어하는 것이 바람직하지만, 경우에 따라서는 데이터베이스 수준에서 이를 제어해야 경우도 있습니다.


다음과 같은 경우에 유용합니다.

 

?  서버의 접속만 허용하고 다른 서버 또는 사용자 등의 접속을 차단하고자

?  부하를 많이 발생시키는 사용자의 접근을 차단하고자

?  지정된 PC에서만 접근을 허용하고자

 

 

아래 설명할 방식은 특정 IP 대해서만 접근을 허용하는 방식입니다. 이를 이용해서 특정 IP 접근을 막는 것도 간단히 활용하실 있을 것입니다.

 

--관리용 데이터베이스 생성

CREATE DATABASE DBAWork

GO

 

USE DBAWork

GO

 

--접근 허용 목록 테이블 생성

CREATE TABLE dbo.ValidIP (

  IP NVARCHAR(15),

  CONSTRAINT PK_ValidIP PRIMARY KEY CLUSTERED (IP)

);

GO

 

INSERT INTO dbo.ValidIP (IP) VALUES ('100.20.2.22');

GO

 

 

USE MASTER

GO

--DDL Trigger 생성

CREATE TRIGGER tr_logon_CheckIP 

ON ALL SERVER

FOR LOGON

AS

BEGIN

  IF IS_SRVROLEMEMBER('sysadmin') = 1

  BEGIN

   DECLARE @IP NVARCHAR(15);

   SET @IP = (SELECT EVENTDATA().value('(/EVENT_INSTANCE/ClientHost)[1]', 'NVARCHAR(15)'));

   IF NOT EXISTS(SELECT IP FROM DBAWork.dbo.ValidIP WHERE IP = @IP)

     ROLLBACK;

  END;

END;

GO

 

 

만약 허용되지 않은 곳에서 해당 DB 서버를 연결하면 다음과 같이 연결이 제한됩니다.

1.jpg EXIF Viewer사진 크기610x177
 

 

DDL 트리거를 비활성화 하거나 제거하려면 다음 명령을 이용하면 됩니다.

USE MASTER

GO

 

--Disable

DISABLE TRIGGER tr_logon_CheckIP ON ALL SERVER

GO

 

--Drop Trigger

DROP TRIGGER tr_logon_CheckIP ON ALL SERVER

?Who's l2zeo

profile

I see no changes, wake up in the morning and I ask myself

Is life worth living should I blast myself

Things would never be the same.

Files '1'

번호 제목 글쓴이 날짜 조회 수
39 [MS-SQL] MS-SQL 2000 이하에서 지원되던 오래된 쿼...   [레벨:30]id: ADMINPLAY 2014.09.28 3761
38 MicroSoft SQL Server 2008 1433 port 원격(외부)접...   [레벨:30]id: ADMINPLAY 2014.09.20 3839
37 SET LOCK_TIMEOUT   [레벨:30]id: ADMINPLAY 2012.01.16 13567
36 SQL Server 2008 R2 버전에서 지원하는 기능  image [레벨:30]id: ADMINPLAY 2011.03.30 15522
35 Fatal error: Call to undefined function: mssql_co...   [레벨:30]id: ADMINPLAY 2010.06.03 21890
34 DBCC SHRINKFILE 트랜잭션 로그파일 축소   [레벨:19]id: id: l2zeo 2010.05.29 21037
33 마소제공 mssql 관리툴   [레벨:30]id: ADMINPLAY 2010.04.23 19242
32 SQL Server 데이터 파일 축소   [레벨:19]id: id: l2zeo 2010.03.28 20099
31 [FAQ]join을 하다가 막혔어요..   [레벨:19]id: id: l2zeo 2010.02.25 16106
30 [FAQ]mssql2005 디버깅 어떻게 해야 하나요?  fileimage [레벨:19]id: id: l2zeo 2010.02.25 20339
29 [FAQ]하나의 서버에 두개의 database를 설치하려고 합니...   [레벨:19]id: id: l2zeo 2010.02.25 18947
28 데이터 원본에 저장 프로시저 사용하기  fileimage [레벨:19]id: id: l2zeo 2010.02.25 18032
27 MSSQL 버전별 최대 용량 비교표   [레벨:19]id: id: l2zeo 2010.02.24 18098
26 SQL Server 2008의 새로운 기능 - Parameter Embedd...   [레벨:19]id: id: l2zeo 2010.02.24 16704
25 SQL서버 성능카운터 활용을 위한 팁  file [레벨:19]id: id: l2zeo 2010.02.24 19485
24 SQL Server 2005 백업 설정 방법  fileimage [레벨:19]id: id: l2zeo 2010.02.24 17397
23 SQL Agent 작업 실행 상태 확인하기   [레벨:19]id: id: l2zeo 2010.02.23 17474
» DB 서버에 특정 IP 접근 차단 방법  fileimage [레벨:19]id: id: l2zeo 2010.02.21 20632
21 [MSSQL 2000] 성능 모니터링  fileimage [레벨:19]id: id: l2zeo 2010.02.21 14442
20 [SQL Server] Build Number of Each Version of ...   [레벨:30]id: ADMINPLAY 2009.12.20 16254
Board Pagination ‹ Prev 1 2 Next ›
/ 2
Designed by hikaru100

나눔글꼴 설치 안내


이 PC에는 나눔글꼴이 설치되어 있지 않습니다.

이 사이트를 나눔글꼴로 보기 위해서는
나눔글꼴을 설치해야 합니다.

설치 취소

SketchBook5,스케치북5

SketchBook5,스케치북5

SketchBook5,스케치북5

SketchBook5,스케치북5

Copyright ADMINPLAY corp. All rights reserved.

abcXYZ, 세종대왕,1234

abcXYZ, 세종대왕,1234