Amazon RDS에서 실행되는 Microsoft SQL Server DB 인스턴스의 tempdb 데이터베이스에 액세스 - Amazon Relational Database Service

Amazon RDS에서 실행되는 Microsoft SQL Server DB 인스턴스의 tempdb 데이터베이스에 액세스

Amazon RDS에서 실행되는 Microsoft SQL Server DB 인스턴스의 tempdb 데이터베이스에 액세스할 수 있습니다. Microsoft SQL Server Management Studio(SSMS)를 통한 Transact-SQL 또는 기타 표준 SQL 클라이언트 애플리케이션을 사용하여 tempdb에서 코드를 실행할 수 있습니다. DB 인스턴스 연결에 대한 자세한 내용은 Microsoft SQL Server 데이터베이스 엔진을 실행하는 DB 인스턴스에 연결 단원을 참조하십시오.

DB 인스턴스의 마스터 사용자는 CONTROL 데이터베이스 옵션을 수정할 수 있도록 tempdb에 대한 tempdb 액세스 권한을 부여받습니다. 마스터 사용자는 tempdb 데이터베이스의 데이터베이스 소유자가 아닙니다. 필요한 경우 마스터 사용자는 다른 사용자가 CONTROL 데이터베이스 옵션을 수정할 수 있도록 이들에게 tempdb 액세스 권한을 부여할 수 있습니다.

참고

tempdb 데이터베이스에서 Database Console Commands(DBCC)를 실행할 수 없습니다.

tempdb 데이터베이스 옵션 수정

Amazon RDS DB 인스턴스에 있는 tempdb 데이터베이스의 데이터베이스 옵션을 수정할 수 있습니다. 수정할 수 있는 옵션에 대한 자세한 내용은 Microsoft 설명서의 tempdb 데이터베이스를 참조하십시오.

최대 파일 크기 옵션과 같은 데이터베이스 옵션은 DB 인스턴스를 다시 시작한 후에도 유지됩니다. 데이터를 가져올 때 성능을 최적화하고 스토리지 부족을 방지하도록 데이터베이스 옵션을 수정할 수 있습니다.

데이터를 가져올 때 성능 최적화

대량의 데이터를 DB 인스턴스로 가져올 때 성능을 최적화하려면 tempdb 데이터베이스의 SIZEFILEGROWTH 속성을 큰 수로 설정합니다. tempdb를 최적화하는 방법에 대한 자세한 내용은 Microsoft 설명서의 tempdb 성능 최적화를 참조하십시오.

다음은 크기를 100GB로, 파일 증가를 10%로 설정한 예입니다.

alter database[tempdb] modify file (NAME = N'templog', SIZE=100GB, FILEGROWTH = 10%)

스토리지 문제 방지

tempdb 데이터베이스에서 사용 가능한 모든 디스크 공간을 사용하는 것을 방지하려면 MAXSIZE 속성을 설정합니다. 다음은 속성을 2048MB로 설정한 예입니다.

alter database [tempdb] modify file (NAME = N'templog', MAXSIZE = 2048MB)

tempdb 데이터베이스 축소

Amazon RDS DB 인스턴스의 tempdb 데이터베이스는 두 가지 방법으로 축소할 수 있습니다. rds_shrink_tempdbfile 프로시저를 사용하거나, SIZE 속성을 설정하면 됩니다.

rds_shrink_tempdbfile 프로시저 사용

Amazon RDS 프로시저 msdb.dbo.rds_shrink_tempdbfile를 사용하여 tempdb 데이터베이스를 축소할 수 있습니다. rds_shrink_tempdbfile에 대한 CONTROL 액세스 권한이 있는 경우에만 tempdb을 호출할 수 있습니다. rds_shrink_tempdbfile을 호출해도 DB 인스턴스에 가동 중지가 발생하지 않습니다.

rds_shrink_tempdbfile 프로시저에는 다음과 같은 파라미터가 있습니다.

파라미터 이름 데이터 형식 기본값 필수 설명

@temp_filename

SYSNAME

필수

축소할 파일의 논리적 이름입니다.

@target_size

int

null

선택 사항

파일의 새로운 크기(MB)입니다.

다음 예제에서는 tempdb 데이터베이스의 파일 이름을 가져옵니다.

use tempdb; GO select name, * from sys.sysfiles; GO

다음 예제에서는 tempdb이라는 test_file 데이터베이스 파일을 축소하고 새로운 10MB 크기를 요청합니다.

exec msdb.dbo.rds_shrink_tempdbfile @temp_filename = N'test_file', @target_size = 10;

SIZE 속성 설정

tempdb 속성을 설정한 다음 DB 인스턴스를 다시 시작하여 SIZE 데이터베이스를 축소할 수도 있습니다. DB 인스턴스를 다시 시작하는 방법에 대한 자세한 내용은 DB 인스턴스 재부팅 단원을 참조하십시오.

다음은 SIZE 속성을 1024MB로 설정한 예입니다.

alter database [tempdb] modify file (NAME = N'templog', SIZE = 1024MB)

다중 AZ 배포에 대한 고려 사항

Amazon RDS DB 인스턴스가 데이터베이스 미러링(DBM) 또는 상시 작동 가용성 그룹(AG) 기능을 이용한 Microsoft SQL Server의 다중 AZ 배포에 있는 경우, 고려해야 할 몇 가지 사항이 있습니다.

tempdb 데이터베이스를 복제할 수 없습니다. 기본 인스턴스에 저장하는 어떠한 데이터도 보조 인스턴스에 복제되지 않습니다.

tempdb 데이터베이스의 데이터베이스 옵션을 수정하는 경우, 다음 방법 중 하나를 사용하여 보조 인스턴스에서 해당 변경 사항을 캡처할 수 있습니다.

  • 먼저 DB 인스턴스를 수정하고 다중 AZ를 비활성화한 다음 tempdb를 수정하고 마지막으로 다중 AZ를 다시 활성화합니다. 이 방법을 사용하는 경우 가동 중지가 없습니다.

    자세한 내용은 Amazon RDS DB 인스턴스 수정 섹션을 참조하세요.

  • 먼저 원래의 기본 인스턴스에서 tempdb를 수정한 다음, 수동으로 장애 조치를 수행하고, 마지막으로 새 기본 인스턴스에서 tempdb를 수정합니다. 이 방법을 사용하는 경우 가동 중지가 있습니다.

    자세한 정보는 DB 인스턴스 재부팅을 참조하십시오.