SQL Server 2008과 Office SharePoint Server 2007의 통합

업데이트 날짜: 2008년 12월

적용 대상: Office SharePoint Server 2007

 

마지막으로 수정된 항목: 2009-04-17

이 문서의 내용

  • Office SharePoint Server와 SQL Server 2008 통합 정보

  • 데이터베이스 백업 압축

  • 로그 스트림 압축

  • TDE(투명한 데이터 암호화)

  • SQL Server 2008 리소스 관리자

이 문서에서는 Microsoft Office SharePoint Server 배포를 향상시키는 Microsoft SQL Server 2008의 몇 가지 새 기능을 구현하는 데 필요한 지침을 제공합니다.

Office SharePoint Server와 SQL Server 2008 통합 정보

Office SharePoint Server의 경우 다음과 같은 기능의 향상이 SQL Server 2008에서 가장 중요한 부분입니다.

  • 성능 - 데이터베이스 백업 압축 구현을 통해 향상

  • 가용성 - 로그 스트림 압축 구현을 통해 향상

  • 보안 - TDE(투명한 데이터 암호화) 구현을 통해 향상

  • 리소스 관리 - SQL Server 2008 리소스 관리자를 통해 향상

참고

Microsoft Office SharePoint Server 2007 시스템 요구 사항에 대한 자세한 내용은 하드웨어 및 소프트웨어 요구 사항 확인(Office SharePoint Server)을 참조하십시오.
SQL Server 2008 시스템 요구 사항에 대한 자세한 내용은 SQL Server 2008 설치를 위한 하드웨어 및 소프트웨어 요구 사항(https://go.microsoft.com/fwlink/?linkid=129377&clcid=0x412)을 참조하십시오.
SQL Server 2008 Enterprise 및 SQL Server 2008 Standard에서 지원되는 기능을 비교한 내용은 Microsoft SQL Server 2008 Enterprise 및 Standard 기능 비교 (영문)(https://go.microsoft.com/fwlink/?linkid=129378&clcid=0x412)를 참조하십시오.

데이터베이스 백업 압축

SQL Server 2008 Enterprise Edition에서는 데이터베이스 백업을 압축할 수 있으며 모든 버전의 SQL Server 2008을 사용하여 압축된 데이터베이스 백업을 복원할 수 있습니다. 데이터베이스 백업을 압축하는 기능은 Office SharePoint Server 사용자에게 중요한 SQL Server 2008의 기능입니다. 백업 스크립트에서 압축 플래그를 설정하거나 SQL Server 2008 Enterprise Edition을 실행하는 응용 프로그램 서버에서 기본적으로 압축하도록 구성하면 데이터베이스 백업 및 전달된 로그의 크기를 대폭 줄일 수 있습니다.

백업 및 복원 작업의 비용과 복잡성은 IT 관리에 큰 영향을 줍니다. SQL Server 2008을 실행 중인 Office SharePoint Server는 백업 압축을 사용함으로써 백업 및 복원 작업의 비용을 절감할 수 있습니다. 절감되는 비용의 규모는 Office SharePoint Server 배포가 얼마나 문서 중심적이고 작업 환경에서 어떤 버전의 Office 클라이언트 응용 프로그램을 사용하고 있는지에 따라 달라집니다.

기본적으로 Office SharePoint Server는 문서 스트림을 SQL 테이블에 저장합니다. 배포 유형에 따라 문서 스트림은 전체 데이터베이스 용량의 많은 부분을 소비할 수 있습니다(일부 샘플 Office SharePoint Server 데이터베이스의 경우 최대 70-90%). 작업 환경이 주로 Office 2007 클라이언트 응용 프로그램으로 구성된 경우에는 백업 압축이 큰 비용 절감 효과를 제공하지 못할 수도 있습니다. 이러한 시나리오에서는 비용 절감 효과가 20% 이하가 될 수도 있습니다. 하지만 기존 데이터가 주로 Office 2003(또는 이전 버전의 Office)을 사용하여 만든 콘텐츠로 구성되어 있는 경우에는 SQL Server 2008 백업 압축이 백업 이미지 크기를 현저히 줄이고 뛰어난 비용 절감 효과를 제공할 수 있습니다.

SQL Server 2008 Enterprise Edition을 실행 중인 응용 프로그램 서버의 SQL Server Management Studio에서 SQL Server 속성을 구성하여 백업 압축을 구현할 수 있습니다. 자세한 내용은 SQL Server Management Studio 소개(https://go.microsoft.com/fwlink/?linkid=129379&clcid=0x412)를 참조하십시오.

다음 코드 예제에서 보듯이 백업 스크립트에 압축 절을 추가하는 방법으로도 데이터베이스 백업 압축을 구성할 수 있습니다.

BACKUP DATABASE [<DATABASE_NAME>]
TO DISK = 'E:\BACKUP\<DATABASE_NAME>.bak'
WITH COMPRESSION;

압축을 하려면 CPU 리소스가 필요한데 백업을 수행하는 동안을 비롯하여 대부분의 환경에서 CPU는 매우 중요한 자산입니다. 기본적으로 백업 압축을 사용하여 백업하면 CPU 사용량이 크게 늘어나며 압축 프로세스에서 사용하는 추가 CPU 리소스로 인해 동시에 실행되는 작업에 부정적인 영향을 줄 수 있습니다. 자세한 내용은 백업 압축(SQL Server)(https://go.microsoft.com/fwlink/?linkid=129381&clcid=0x412)을 참조하십시오.

로그 스트림 압축

데이터베이스 미러링의 성능 제한 요소 중 하나는 주 서버와 미러 서버 간의 네트워크 처리량입니다. SQL Server 2008에서는 서버 간에 전송된 삽입, 업데이트 또는 삭제로 구성되는 로그 스트림의 압축을 지원합니다. 로그 스트림을 압축하면 네트워크 처리량을 최대화할 수 있습니다. 특히 네트워크 조건이 나쁜 환경에서 더욱 효과적입니다. 백업 압축과 유사한 압축 효과가 나타나며 CPU 리소스에 미치는 영향도 비슷합니다. 그러나 백업 압축과 달리 CPU 리소스에 미치는 영향을 제어하기가 어렵습니다. 로그 스트림 압축은 미러링 세션을 시작할 때 기본적으로 사용됩니다. 그러나 추적 플래그 1462를 사용하여 로그 스트림 압축을 사용하지 않도록 설정할 수 있습니다. 로그 스트림 압축 및 미러링에 대한 자세한 내용은 가용성 향상(데이터베이스 엔진)(https://go.microsoft.com/fwlink/?linkid=129382&clcid=0x412)을 참조하십시오.

TDE(투명한 데이터 암호화)

SQL Server 2008 Enterprise Edition의 TDE 지원 기능은 Microsoft SQL Server 2005의 암호화 기능에 대한 중요한 향상입니다. TDE를 사용하면 전체 데이터베이스를 암호화할 수 있으며 응용 프로그램을 인식하거나 수정할 필요가 없습니다. TDE는 데이터를 디스크에 기록된 대로 암호화하고 디스크에서 읽은 대로 해독합니다. 다음 코드 예제에 나타난 절차를 수행하여 TDE를 사용하도록 설정할 수 있습니다.

  1. 암호화 키 만들기

  2. 인증서 만들기

  3. 암호화에 인증서를 사용하도록 데이터베이스 구성

  4. 암호화 사용

암호화 키 만들기

USE MASTER;
CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'p@$$W0rd'
Security note보안 참고:
복잡도가 적용된 경우에는 암호가 복잡도 요구 사항을 충족해야 합니다.

인증서 만들기

CREATE CERTIFICATE MYENCRYPTCERT WITH SUBJECT = 'TDE';

참고

키가 있는 인증서를 백업하고 저장합니다.

암호화에 인증서를 사용하도록 데이터베이스 구성

USE <ContentDB>;
CREATE DATABASE ENCRYPTION KEY
WITH ALGORITHM = AES_256
ENCRYPTION BY SERVER CERTIFICATE MYENCRYPTCERT;

참고

앞의 코드 예제에 사용할 수 있는 여러 가지 알고리즘이 있습니다.

암호화 사용

ALTER DATABASE <ContentDB>
SET ENCRYPTION ON;

TDE는 CPU 집약적인 작업이므로 보안을 위해 암호화의 범위를 다음과 같이 지정해야 합니다.

  • 암호화된 데이터베이스

  • 로그

  • 임시 데이터베이스

  • 암호화된 데이터베이스의 백업

이는 소수의 데이터베이스를 암호화하는 경우에도 사용량이 많은 시스템에서 CPU 리소스가 많이 사용된다는 의미입니다. 그러므로 암호화를 사용할 때는 주의해야 합니다. 꼭 필요한 경우에 한해 성능과 작업 결과를 철저히 테스팅한 후에 암호화를 구현하십시오. 보안은 매우 중요하지만 범위는 별로 중요하지 않은 데이터베이스의 하위 집합에만 TDE를 구현하도록 제한하는 것이 좋습니다.

SQL Server 2008 Enterprise Edition의 데이터베이스 암호화에 대한 자세한 내용은 SQL Server 2008 Enterprise Edition의 데이터베이스 암호화 (영문)(https://go.microsoft.com/fwlink/?linkid=129383&clcid=0x412)를 참조하십시오.

TDE 사용 시 고려해야 할 기타 요소

  • 암호화된 데이터베이스에서는 백업 압축의 효과가 떨어질 수 있습니다.

  • TDE가 다중 프로세서의 장점을 활용하지 못할 수 있습니다.

  • 데이터베이스를 복원하려면 암호화 인증서가 필요하므로 TDE는 복원 작업 및 재해 복구에 영향을 줍니다. 암호화 인증서가 없으면 복원 작업이 실패합니다.

  • TDE는 데이터베이스 미러링 및 로그 전달에 영향을 줍니다. 미러링하거나 로그를 전달하려면 파트너 서버에 암호화 인증서를 설치해야 합니다.

  • 파일 스트림 데이터는 암호화되지 않습니다.

TDE에 대한 자세한 내용은 TDE(투명한 데이터 암호화) 이해(https://go.microsoft.com/fwlink/?linkid=129384&clcid=0x412)를 참조하십시오.

SQL Server 2008 리소스 관리자

SQL Server 2008 리소스 관리자를 사용하면 CPU 및 메모리 같은 SQL Server 리소스 할당 방법을 정밀하게 제어할 수 있습니다. 리소스 관리자를 사용하여 지정된 조건에 따라 들어오는 연결에 임계값을 적용할 수 있으며 들어오는 요청을 고유하게 만드는 특성에 리소스 관리자를 적용할 수 있습니다. 예를 들어 별도의 서버에서 실행 중인 보고 응용 프로그램이 메모리를 너무 많이 사용하지 않도록 하려면 응용 프로그램 이름, 호스트 이름 또는 사용자 이름으로 응용 프로그램을 식별하는 정책을 만들 수 있습니다.

중요

Office SharePoint Server에서 SQL Server를 사용하는 방식을 제어하기 위해 SQL Server 2008 리소스 관리자를 사용하지 마십시오. 예를 들어 SQL Server 리소스를 과도하게 사용하는 인덱스 서버의 경우 중요한 서비스를 인위적으로 제한하는 방식이 아니라 용량을 추가함으로써 해결해야 하는 용량 계획 문제입니다. 중요하지 않게 보이는 SharePoint Services일지라도 해당 서비스를 제한하면 작업 환경의 상태 및 지원 가능성에 상당히 부정적인 결과가 나타날 수 있습니다.

리소스 관리자를 사용하면 SQL Server 리소스를 유지하고 관리할 수 있습니다. 예를 들어 팀에서 Management Studio나 쿼리 분석기를 사용하여 임시 쿼리가 있는 SQL Server를 오버로드하지 못하도록 하려면 리소스 관리자에서 다음 코드 예제에 표시된 절차를 수행하여 임시 쿼리가 가용 CPU 리소스를 25% 이하로 사용하도록 제한할 수 있습니다.

  1. CPU 사용량을 25%로 제한하는 리소스 풀 만들기

  2. 임시 쿼리에 대한 작업 그룹을 만들고 새 리소스 풀에 등록

  3. Management Studio 및 쿼리 분석기를 임시 그룹의 구성원으로 분류하는 함수 만들기

  4. 새 함수를 리소스 관리자에 등록

  5. 리소스 관리자 다시 시작

CPU 사용량을 25%로 제한하는 리소스 풀 만들기

CREATE RESOURCE POOL poolAdhoc
WITH (MAX_CPU_PERCENT = 25);

임시 쿼리에 대한 작업 그룹을 만들고 새 리소스 풀에 등록

CREATE WORKLOAD GROUP groupAdhoc
USING poolAdhoc;

Management Studio 및 쿼리 분석기를 임시 그룹의 구성원으로 분류하는 함수 만들기

CREATE FUNCTION adhocQueryClassifier() RETURNS SYSNAME
WITH SCHEMABINDING
AS
BEGIN
   DECLARE @grp_name AS SYSNAME
      IF (APP_NAME() LIKE '%MANAGEMENT STUDIO%')
         OR (APP_NAME() LIKE '%QUERY ANALYZER%')
         SET @grp_name = 'groupAdhoc'
   RETURN @grp_name
END
GO

새 함수를 리소스 관리자에 등록

ALTER RESOURCE GOVERNOR
WITH (CLASSIFIER_FUNCTION= dbo.adhocQueryClassifier);

리소스 관리자 다시 시작

ALTER RESOURCE GOVERNOR RECONFIGURE;

SQL Management Studio나 쿼리 분석기에서 생성되는 쿼리는 poolAdhoc에 할당되고 CPU 리소스가 제한되면 쿼리가 가용 CPU 리소스의 25% 이하를 사용하도록 제한됩니다. CPU 리소스를 제한하지 않으면 리소스 관리자에서 각 쿼리가 필요한 리소스를 아무런 제한 없이 사용할 수 있습니다. 리소스 관리자를 사용하여 최소 리소스를 할당할 수도 있습니다.

리소스 관리자에 대한 자세한 내용은 리소스 관리자를 사용하여 SQL Server 작업량 관리(https://go.microsoft.com/fwlink/?linkid=129385&clcid=0x412)를 참조하십시오.

이 문서의 다운로드

이 항목은 다운로드 가능한 다음 문서에도 포함되어 있어 더 쉽게 읽고 인쇄할 수 있습니다.

사용 가능한 문서의 전체 목록은 다운로드 가능한 Office SharePoint Server 2007 관련 콘텐츠 (영문)를 참조하십시오.