이 페이지에서는 Cloud SQL의 tempdb 데이터베이스 관리를 설명합니다.
tempdb 데이터베이스는 임시 테이블, 저장 프로시저 등을 비롯한 여러 객체를 보유하는 시스템 데이터베이스입니다. 인스턴스에서 이 데이터베이스에 관한 일반적인 작업을 실행할 수 있습니다.
tempdb 데이터베이스는 인스턴스가 다시 시작될 때마다 다시 생성됩니다. Cloud SQL에서는 인스턴스가 다시 시작된 후에 sqlserver
사용자에게 권한을 부여하여 사용자 권한이 유실되지 않게 합니다.
개요
sqlserver
사용자에게는 tempdb 데이터베이스 옵션을 관리할 수 있는 ALTER 권한이 있습니다.
이 리소스 관리에 관한 자세한 내용은 tempdb 데이터베이스 페이지를 참고하세요.
tempdb 파일 관리
인스턴스에 연결한 후 sqlserver
사용자가 tempdb 파일을 관리할 수 있습니다.
파일 수
사용자에게 tempdb 데이터베이스에 대한 ALTER 권한이 있으므로 파일 수 등의 설정을 제어할 수 있습니다. 몇 가지 작업 예는 다음과 같습니다.
ALTER DATABASE [tempdb] ADD FILE
ALTER DATABASE [tempdb] REMOVE
파일 크기
다음 섹션에서는 tempdb
데이터베이스의 파일 크기를 제어하는 데 사용되는 메서드를 설명합니다.
이러한 방법에 관한 자세한 내용은 tempdb 데이터베이스 축소를 참고하세요.
tempdb에서 파일 크기 변경
tempdb 데이터베이스의 파일 크기를 제어하려면 ALTER DATABASE
문을 사용하세요. 자세한 내용은 ALTER DATABASE (Transact-SQL) 파일 및 파일 그룹 옵션을 참고하세요.
개별 파일 크기 줄이기
msdb.dbo.gcloudsql_tempdb_shrinkfile
는 tempdb
데이터베이스의 개별 파일을 축소하는 데 사용할 수 있는 저장 프로시저입니다.
이 저장 프로시저는 DBCC SHRINKFILE
명령어와 동일한 이점을 모두 제공합니다.
다음은 Cloud SQL Studio에서 실행된 msdb.dbo.gcloudsql_tempdb_shrinkfile
저장 프로시져 및 매개변수의 사용 예입니다.
기본 옵션
msdb.dbo.gcloudsql_tempdb_shrinkfile @filename = 'FILENAME'
각 항목의 의미는 다음과 같습니다.
- FILENAME: 축소할 파일의 이름입니다. 예를 들면
tempdev
입니다.
이 명령어는 다음 SQL Server 명령어를 실행합니다.
USE tempdb
DBCC SHRINKFILE (@filename)
- FILENAME: 축소할 파일의 이름입니다. 예를 들면
EMPTYFILE
msdb.dbo.gcloudsql_tempdb_shrinkfile @filename = 'FILENAME', @empty_file=EMPTY_FILE_INT
각 항목의 의미는 다음과 같습니다.
- EMPTY_FILE_INT: 0 또는 1인 정수 값입니다. 1이면
EMPTYFILE
가 옵션으로 전달됩니다. 이 옵션은 다른 매개변수보다 우선 적용됩니다.
이 명령어는 다음 SQL Server 명령어를 실행합니다.
USE tempdb
DBCC SHRINKFILE (@filename, EMPTYFILE)
- EMPTY_FILE_INT: 0 또는 1인 정수 값입니다. 1이면
대상 크기
msdb.dbo.gcloudsql_tempdb_shrinkfile @filename = 'FILENAME', @target_size=TARGET_SIZE_INT
각 항목의 의미는 다음과 같습니다.
- TARGET_SIZE_INT: 파일의 타겟 크기를 메가바이트 단위로 나타내는 정수입니다. 0보다 크거나 같은 값을
DBCC SHRINKFILE
명령어에 전달합니다. 예를 들면10
입니다.
이 명령어는 다음 SQL Server 명령어를 실행합니다. 정수 10이 예로 포함되어 있습니다.
USE tempdb
DBCC SHRINKFILE (@filename, 10)
- TARGET_SIZE_INT: 파일의 타겟 크기를 메가바이트 단위로 나타내는 정수입니다. 0보다 크거나 같은 값을
타겟 크기 및 자르기만
msdb.dbo.gcloudsql_tempdb_shrinkfile @filename = 'FILENAME', @target_size=10, @truncateonly=TRUNCATE_ONLY_INT
각 항목의 의미는 다음과 같습니다.
- TRUNCATE_ONLY_INT: 0 또는 1의 정수 값을 허용합니다.
1로 설정하면
TRUNCATEONLY
가 옵션으로 전달됩니다.TRUNCATEONLY
가 전달되면 대상 크기는 무시됩니다. 이 옵션은NOTRUNCATE
보다 우선 적용됩니다.
이 명령어는 다음 SQL Server 명령어를 실행합니다.
USE tempdb
DBCC SHRINKFILE (@filename, 10, TRUNCATEONLY)
- TRUNCATE_ONLY_INT: 0 또는 1의 정수 값을 허용합니다.
1로 설정하면
타겟 크기 및 자르기 옵션 없음
msdb.dbo.gcloudsql_tempdb_shrinkfile @filename = 'FILENAME', @target_size=10, @no_truncate=NO_TRUNCATE_INT
각 항목의 의미는 다음과 같습니다.
- NO_TRUNCATE_INT: 0 또는 1의 정수 값을 허용합니다.
1로 설정하면
NOTRUNCATE
가 옵션으로 전달됩니다.
이 명령어는 다음 SQL Server 명령어를 실행합니다.
USE tempdb
DBCC SHRINKFILE (@filename, 10, NOTRUNCATE)
- NO_TRUNCATE_INT: 0 또는 1의 정수 값을 허용합니다.
1로 설정하면
다음 단계
- 인스턴스 설정에 대해 알아보세요.
- Cloud SQL 인스턴스 모니터링에 대해 알아보기