SQLServer_初期設定 †
x64環境でのAWEの無効化 †
- x86環境では4GB以上のメモリ空間を利用するためにAWEを有効にすることが効果的だったが、x64環境では不要(というより、禁止)
sp_configure 'show advanced options', 1
RECONFIGURE
GO
sp_configure 'awe enabled', 0
sp_configure 'show advanced options', 0
RECONFIGURE
GO
データベースファイルの自動拡張設定の変更 †
- 突発的なデータ増に備え、自動拡張設定を有効にすることは通常必要となる
- 小容量のデータベースでない限り、増量の単位を[%]から[MB]単位にする。
tempdb ファイル サイズ | FILEGROWTH 増分値 |
0 - 100MB | 10MB |
100 - 200MB | 20MB |
200MB以上 | 10% ※ |
- ※ ファイルサイズが大きくなるに従い、(増分値を減らすorMB単位にする)などの調整が必要
tempdb †
- インデックスの構築やテーブルのソート処理などの一時領域として利用される
復旧モデルの変更 †
tempdbのサイズ確認 †
SELECT
name AS FileName,
size * 1.0 / 128 AS FileSizeinMB,
CASE max_size
WHEN 0 THEN 'Autogrowth is off.'
WHEN -1 THEN 'Autogrowth is on.'
ELSE 'Log file will grow to a maximum size of 2TB.'
END,
growth AS 'GrowthValue',
'GrowthIncrement' =
CASE
WHEN growth = 0 THEN 'Size is fixed and will not grow.'
WHEN growth > 0 AND is_percent_growth = 0
THEN 'Growth value is a percentage.'
END
FROM tempdb.sys.database_files;
GO
CPUコア数に応じたtempdbの作成 †
tempdbの移動によるパフォーマンスアップ †
- 現在のファイルパスを確認
SELECT name, physical_name
FROM sys.master_files
WHERE database_id = DB_ID(N'tempdb');
GO
- ファイルパスの変更
ALTER DATABASE tempdb
MODIFY FILE(NAME = tempdev, FILENAME = '移動先ファイルパス');
GO
ALTER DATABASE tempdb
MODIFY FILE(NAME = templog, FILENAME = '移動先ファイルパス');
GO
- SQLServerの再起動
net stop SQLSERVERAGENT
net stop MSSQLSERVER
net start MSSQLSERVER
net start SQLSERVERAGENT
- 変更後のファイルパスを確認
SELECT name, physical_name
FROM sys.master_files
WHERE database_id = DB_ID(N'tempdb');
GO