このページでは、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: ファイルのターゲット サイズ(MB)を表す整数。0 以上の値を
DBCC SHRINKFILE
コマンドに渡します。例:10
このコマンドは、次の SQL Server コマンドを実行します。整数 10 が例として含まれています。
USE tempdb
DBCC SHRINKFILE (@filename, 10)
- TARGET_SIZE_INT: ファイルのターゲット サイズ(MB)を表す整数。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 インスタンスのモニタリングについて確認する。