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 - 100MB10MB
      100 - 200MB20MB
      200MB以上10% ※
      • ※ ファイルサイズが大きくなるに従い、(増分値を減らすorMB単位にする)などの調整が必要

tempdb

  • インデックスの構築やテーブルのソート処理などの一時領域として利用される

復旧モデルの変更

  • tempdbではバックアップや復旧ができない
    • トランザクションログを管理しても意味がないので、データベースの復旧モデルを[単純]に変更する
      ALTER DATABASE tempdb SET RECOVERY SIMPLE

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の移動によるパフォーマンスアップ

  1. 現在のファイルパスを確認
    SELECT name, physical_name
    FROM sys.master_files
    WHERE database_id = DB_ID(N'tempdb');
    GO
  2. ファイルパスの変更
    ALTER DATABASE tempdb
    MODIFY FILE(NAME = tempdev, FILENAME = '移動先ファイルパス');
    GO
    
    ALTER DATABASE tempdb
    MODIFY FILE(NAME = templog, FILENAME = '移動先ファイルパス');
    GO
  3. SQLServerの再起動
    net stop SQLSERVERAGENT
    net stop MSSQLSERVER
    net start MSSQLSERVER
    net start SQLSERVERAGENT
  4. 変更後のファイルパスを確認
    SELECT name, physical_name
    FROM sys.master_files
    WHERE database_id = DB_ID(N'tempdb');
    GO

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2010-10-07 (木) 12:56:00 (2816d)