다음을 통해 공유


데이터베이스 고려 사항

Microsoft SQL Server Notification Services는 Notification Services 인스턴스를 배포할 때 데이터베이스를 만듭니다. 인스턴스 구성과 응용 프로그램 정의에서 데이터베이스 속성을 정의하는 경우 이외에는 데이터베이스를 정의하지 마십시오. 하지만 최적의 성능을 위해서는 데이터베이스 엔진을 적절하게 구성해야 합니다. 데이터베이스 엔진 구성 시에는 다음 지침을 따르십시오.

데이터베이스 권장 사항

최적의 성능, 보안 및 복구 기능을 위해 Notification Services 데이터베이스에 대해 다음과 사항을 권장합니다.

로그 파일

이벤트와 알림을 처리할 때 로그 파일에 많은 작업이 기록됩니다. 이 처리 작업으로 인해 다른 작업의 읽기 및 쓰기 시간이 줄어들어 잠재적으로 전체 시스템의 성능이 저하될 수 있습니다. 성능을 최적화하려면 인스턴스 데이터베이스 및 응용 프로그램 데이터베이스를 정의할 때 로그 파일을 전용 물리적 디스크에 두십시오.

tempdb

Notification Services는 tempdb 데이터베이스를 광범위하게 사용합니다. 예를 들어, 이벤트가 구독과 일치할 때마다 SQL Server는 임시 테이블을 만듭니다. tempdb는 매우 많이 사용되고 중요하므로 적절한 처음 크기로 이 데이터베이스를 정의하여 크기 조정을 최소화하고 이 데이터베이스를 별도의 물리적 디스크에 두어 리소스 경쟁을 줄이는 것이 중요합니다.

SQL Server가 시작할 때마다 tempdb 데이터베이스가 처음 크기로 다시 만들어집니다. tempdb의 처음 크기가 너무 작고 데이터베이스가 자동으로 증가하도록 설정되어 있으면 자동 증가 프로세스에서 데이터베이스가 정상적인 작업 때보다 시스템 리소스를 더 많이 사용하므로 시스템 성능을 저하시킬 수 있습니다. 데이터베이스를 변경하여 tempdb의 처음 크기를 늘리고 자동 증가 비율을 높여서 이 오버헤드를 방지할 수 있습니다.

자세한 내용은 시스템 데이터베이스를 참조하십시오.

인덱스

최적의 Notification Services 성능을 위해서는 인덱스가 중요합니다. 첫째, 인덱스는 조인 성능을 크게 향상시킬 수 있습니다. 둘째, 이벤트와 구독이 일치하게 되면 배달 지침을 사용하여 실제 알림을 생성하기 위해 데이터는 다른 테이블에서 검색됩니다. 인덱스를 사용하면 SQL Server에서 이 데이터를 빠르게 검색하는 데 도움이 됩니다.

Notification Services 데이터베이스가 생성될 때 대부분의 테이블에 대한 인덱스를 ADF에 정의해야 합니다. 하지만 추가 인덱스가 이러한 쿼리 성능을 향상시킬 수도 있습니다.

추가 인덱스를 정의하려면 ADF에 정의된 Transact-SQL 코드를 검사하고 고유한 인덱스를 만들거나 인덱스를 제안하는 SQL Server 데이터베이스 엔진 튜닝 관리자를 사용할 수 있습니다.

자세한 내용은 인덱스 디자인을 참조하십시오.

데이터베이스 복구 모델

데이터가 손실되지 않도록 하려면 전체 복구 모델을 사용하여 자주 Notification Services 데이터베이스를 백업합니다. 이렇게 하면 주기적으로 완전한 데이터베이스 백업을 만든 다음 필요한 경우 차등 및 트랜잭션 로그 백업을 만들 수 있습니다.

트랜잭션 로그가 꽉 차지 않게 하려면 정기적인 일정에 따라 자주 데이터베이스 파일과 로그 파일을 백업합니다. 데이터베이스 백업에 대한 자세한 내용은 Notification Services 데이터베이스 및 작업 파일 백업SQL Server의 데이터베이스 백업 및 복원을 참조하십시오.

또한 Microsoft Windows 성능 도구의 일부인 시스템 모니터를 사용하여 데이터베이스와 트래잭션 로그 파일을 모니터링할 수 있습니다. 예를 들어, SQL Server: 데이터베이스 성능 개체에는 트랜잭션 로그가 얼마나 기록되었는지를 모니터링하는 Percent Log Used 성능 카운터가 있습니다. SQL Server 성능 개체에 대한 자세한 내용은 SQL Server 개체 사용을 참조하십시오.

사용자 연결

연결은 중요한 리소스입니다. Notification Services 인스턴스 및 응용 프로그램에 대한 데이터는 이벤트가 처리되면 SQL Server 데이터베이스에 저장되고 응용 프로그램은 SQL Server에 데이터를 요청하여 받습니다. 사용 가능한 연결이 부족하면 오류가 발생할 수 있습니다.

최대 동시 사용자 연결 수 값을 0으로 설정하여 연결 수를 SQL Server 최대값으로만 제한할 수 있습니다. 자세한 내용은 user connections 옵션을 참조하십시오.

데이터베이스 인증

Notification Services는 SQL Server 인증과 Windows 인증을 지원합니다. SQL Server 인증을 필요로 하는 기능은 없습니다. Windows 인증을 사용하면 대부분의 응용 프로그램에서 SQL Server 인증에 비해 여러 가지 장점이 있습니다. 예를 들어, 보안 인증, 암호 암호화, 감사, 암호 만료, 최소 암호 길이 및 잘못된 로그인 요청이 일정 횟수를 넘을 경우 계정 잠금 등 많은 기능을 제공합니다.

이러한 이유로 Windows 인증을 사용하는 것이 가장 좋습니다. 보안 구성에 대한 자세한 내용은 Notification Services 보안 설정을 참조하십시오.

SQL Server 인증을 사용할 경우 Notification Services 엔진이 데이터베이스 엔진 연결에 사용할 수 있도록 SQL Server 사용자 이름 및 암호를 지정해야 합니다. 자세한 내용은 Notification Services 인스턴스에 대한 SQL Server 사용 권한 구성을 참조하십시오.

참고 항목

개념

데이터베이스 리소스 계획
응용 프로그램 데이터베이스 정의
인스턴스 데이터베이스 정의
Notification Services 시스템 계획

도움말 및 정보

SQL Server 2005 지원 받기