2005年07月29日

アップグレード前後の作業

○ アップグレード前のチェック事項
master を含めた全データベースをバックアップ
すべてのログイン(ユーザーアカウント)が master に存在しているか
DBCC を実行 → 状態の一貫性を確認
すべてのストアドプロシージャを無効にする
レプリケーションを停止、ログを削除
SQL Server 依存アプリケーションを終了

○ アップグレード後の処理
バックアップ(念のため)
 
互換モードの設定 (SQL Server 6.5 → SQL Server 2000 の場合)
 
データベース 互換性レベル
master データベース 80
ユーザーデータベース 65 (SQL Server 6.5 からのアップグレード直後)
  設定
    sp_dbcmptlevel データベース名,レベル
    ⇒ Enterprise Manager → データベースのプロパティ → オプション
  SQL Server 2000 の機能をフルに使用するにはレベル 80 に設定
    アプリケーションもできる限りあわせる → SQL Server 2005 への備えを含む
  レベル 65 の場合の注意
    … 自動並べ替え
    … 空文字列の扱い
    … NULL と空文字列
    … CREATE TRIGGER → 既存のトリガを置き換える
 
アプリケーション移行テスト
  SQL Trace によるキャプチャ (SQL Server 6.5 → SQL Server 2000 の場合)
    アプリケーションを実行、SQL Trace で実行された Transact-SQL をキャプチャ
  プロファイラによるスクリプトのキャプチャ (SQL Server 7.0 → SQL Server 2000 の場合)
    SQL Server 2000 のプロファイラで SQL Server 7.0 を SQLProfilerTSQL_Replay テンプレートでキャプチャ、再生
    ※ ストアドプロシージャ内部の SQL もキャプチャ可

○ アップグレード後の推奨作業
セキュリティ
  ログイン認証モード → Windows 認証モードへ
 
パフォーマンス
  フルテキストカタログ再作成、保守
    sp_fulltext_catalog
  統計情報更新(以降直後) → クエリのパフォーマンスに影響
    sp_updatestatus
  場合によっては時間がかかるので要注意
  ロックの長さ、分離レベル
  ストアドプロシージャの作成 → 自動パラメータ化よりも確実
  レプリケーションによる読み取りパフォーマンス向上
      レプリケーションにより特定テーブルの複製可(商品カタログ等)
 
アプリケーション
  ASP 環境 … VBScript はスクリプトベースのため低速
    → コンパイル済みの COM+ コンポーネント作成でパフォーマンス向上
  ASP から ASP.NET への移行 → パフォーマンス向上
    ※ ASP.NET はコンパイルベースの言語を使用
          Visual Basic.NET、Visual C#、Visual C++.NET 等
  ADO から ADO.NET への移行 → パフォーマンス向上
posted by w@ko at 19:58|  ・SQL Server ノート | このブログの読者になる | 更新情報をチェックする