新しいSQLServerインスタンスの標準化されたビルドチェックリストを用意しておくと、SQL Serverをインストールし、更新して、適切に構成するときに、重要な手順や構成設定を忘れないようにすることができます。これは、SQLServerインスタンスから最高のパフォーマンスとスケーラビリティを確実に引き出すために非常に重要です。
私のPluralsightコースであるSQLServer2012のインストールと構成では、このプロセスについてさらに詳しく説明します。一般的なフレームワークは次のとおりです。
- サーバーをラックに接続してケーブル接続する
- 各電源装置が異なる電源回路に接続されていることを確認してください
- 可能であれば、ネットワークケーブルが別のネットワークスイッチに接続されていることを確認してください
- SQLServerサービスおよびSQLServerエージェントサービス(およびSSIS、SSRS、SSASなどの使用する他のSQL Serverサービス)の通常のドメインアカウントを要求します。
- SQL Server 2012のインストール時に、これらのアカウントのユーザー名とパスワードを知っておく必要があります
- これらのアカウントで有効期限のないパスワードを使用するようにしてください
- サーバーのメインBIOS設定を確認します
- ハイパースレッディングとターボブーストを有効にする必要があります
- 電源管理はOS制御に設定する必要があります
- メモリテストを無効にする必要があります
- サーバーにWindowsServer2012 R2StandardEditionをインストールします
- 統合されたRAIDコントローラーを備えたRAID1で2つの内部ドライブを使用する
- 可能であれば、この目的でSSDを使用することを検討してください
- SSDを使用する場合、SSDを最適化する必要はありません
- 単一のパーティションを作成します。C:すべてのスペースを使用するドライブ
- C:ドライブを使用してWindowsページのファイルサイズを16GBに変更します
- Windowsの電源プランを「ハイパフォーマンス」に変更します
- サーバーでCPU-Zを実行して、プロセッサがフルスピードで実行されていることを確認します
- オプティカルドライブのドライブ文字をZに変更します:
- 統合されたRAIDコントローラーを備えたRAID1で2つの内部ドライブを使用する
- サーバー上のNETBIOS名をサーバーの目的の永続的な名前に変更します
- Windows Server2012R2から.NET3.51機能をインストールする
- サーバーにMicrosoftUpdateをインストールする
- これはWindowsUpdateのスーパーセットです
- すべてのMicrosoftおよびWindowsUpdateをサーバーにインストールします
- 必要な更新をすべて取得するには、数回のラウンドが必要になる場合があります
- C:ドライブを手動で最適化する
- デフォルトの週間スケジュールを使用して、C:ドライブの自動最適化を有効にします
- 新しいドライブをスケジュールに自動的に追加しないようにします
- 正しいDNSとデフォルトゲートウェイ情報を使用して静的IPアドレスを作成します
- サーバーを適切なWindowsドメインに参加させます
- サーバーでWindowsをアクティブ化する
- サーバーに最新バージョンのDellOMSAをインストールします
- 最新バージョンのDellServerUpdate Utility(SUU)をダウンロードする
- SUUの.isoをマウントし、SUUを実行します
- これにより、サーバーの最新のファームウェアとドライバーが確実に使用できるようになります
- Dell OMSAを使用して、LUN用のRAIDアレイを作成します
- 一度に1つのLUNを作成してから、論理ディスクマネージャに移動してドライブを作成/フォーマットします
- こうすることで、どれがどれであるかについて混乱することはありません
- アレイとLUNを以下に示す順序で作成します
- DellOMSAの一般的なPERC設定
- RAID10アレイにインテリジェントミラーリングを使用する
- 先読みキャッシュなし
- ライトバックキャッシュを有効にする
- キャッシュポリシーを有効にする必要があります
- 64Kアロケーションユニットを使用する
- 一度に1つのLUNを作成してから、論理ディスクマネージャに移動してドライブを作成/フォーマットします
- Windowsの論理ディスクマネージャーを使用して論理ディスクを作成する
- OMSAでアレイを作成したら、ディスクマネージャーを開きます
- [ディスクの初期化]ダイアログが表示されます
- 必ずGPTパーティションスタイルを使用してください
- [次へ]をクリック
- [完了]をクリックします
- データドライブ:SQLData
- ログドライブ:SQLLogs
- TempDBドライブ:TempDB
- バックアップドライブ:SQLBackups
- ボリュームメンテナンスタスクを実行する
- YourDomain \ SQLServerServiceAcct
- メモリ内のページをロックする
- YourDomain \ SQLServerServiceAcct
- 保留中の再起動がないことを確認してください。そうしないと、SQLServer2012がインストールされません
- このインスタンスに必要なSQLServer2012コンポーネントのみをインストールします
- 混合モード認証を使用する
- saパスワードを強力なパスワードに設定します
- SQL管理者として自分を追加する
- 管理者である必要がある他のDBAを追加します
- SQLServerサービスアカウントにYourDomain\SQLServerServiceAcctを使用します
- パスワードはxxxxxxxxx
- SQLServerエージェントアカウントにYourDomain\SQLServerAgentAcctを使用します
- パスワードはxxxxxxxxx
- SQLServerエージェントサービスを自動起動に設定する
- デフォルトのディレクトリを適切なドライブ文字とパスに設定します
- ユーザーデータベースディレクトリ:P:\ SQLData
- ユーザーデータベースログディレクトリ:L:\ SQLLogs
- Temp DBディレクトリ:T:\ TempDB
- Temp DBログディレクトリ:T:\ TempDB
- バックアップディレクトリ:N:\ SQLBackups
- またはSQLServer2012用の最新リリースのServicePack
- 累積的な更新は、次の場所から入手できます。
- http://support.microsoft.com/kb/2874879/en-us
- 必ずx64バージョンの更新パッケージを入手してください
- インストール後にC:ドライブを手動で最適化する
- SSDを使用している場合、これは必要ありません
- アドホックワークロードの最適化を有効にする
- これにより、SQL Serverは、アドホッククエリプランを最初に実行するときに保存するために使用するメモリを減らすことができます。
- 最大並列度をサーバー上のNUMAノードの物理コアの数に設定します
- デフォルトのバックアップ圧縮を有効にする
- これにより、すべてのデータベースバックアップにデフォルトでSQLServerバックアップ圧縮が使用されます
- これにより、SQLServerエラーログへのデータベースバックアップメッセージのログ記録が抑制されます
- これは、tempdbでの割り当ての競合を軽減するのに役立ちます
- これにより、SQLServerがSQLServerエージェントアラートの電子メール通知を送信したり、SQLServerエージェントジョブが失敗した場合に通知を送信したりできるようになります
- この値は、サーバーで使用可能な物理メモリの量によって異なります
- インストールされているSQLServerコンポーネントによっても異なります
- 値の例を次に示します。
- 96GBの合計RAM:最大サーバーメモリを87000に設定します
- 64GBの合計RAM:最大サーバーメモリを56000に設定します
- 32GBの合計RAM:最大サーバーメモリを27000に設定
- すべてのTempDBデータファイルのサイズは4096MBである必要があります
- 自動拡張を1024MBに設定
- 電子メールアドレス[email protected]でDBAdminを使用します
- データベースメールを右クリックして、テストメッセージを送信します
- YourServerNameアラート– Sev 19エラー:リソースの致命的なエラー
- YourServerNameアラート– Sev 20エラー:現在のプロセスで致命的なエラー
- YourServerNameアラート– Sev 21エラー:データベースプロセスで致命的なエラーが発生しました
- YourServerNameアラート– Sev 22エラー致命的なエラー:テーブルの整合性が疑われる
- YourServerNameアラート– Sev 23エラー:致命的なエラーデータベースの整合性が疑われる
- YourServerNameアラート– Sev 24エラー:致命的なハードウェアエラー
- YourServerNameアラート– Sev 25エラー:致命的なエラー
- YourServerNameアラート–エラー825:読み取り-再試行が必要
- YourServerNameアラート–エラー832:定数ページが変更されました
- YourServerNameアラート–エラー855:修正不可能なハードウェアメモリの破損が検出されました
- YourServerNameアラート–エラー856:SQL Serverはハードウェアメモリの破損を検出しましたが、ページを回復しました
- 各エージェントアラートにDBAdminオペレーターに通知する応答があることを確認してください
- DBCC FREESYSTEMCACHE('SQLプラン');
- 毎晩12:00AMに実行されます
- http://ola.hallengren.com/
- インスタンスに接続した状態でMaintenanceSolution.sqlスクリプトを開きます
- @BackupDirectory変数をN:\SQLBackupsに変更します
- スクリプトを実行して、11個の新しいSQLServerエージェントジョブを作成します
- ジョブごとに、[通知]プロパティウィンドウに移動し、ジョブが失敗した場合は、ジョブにDBAdminグループに電子メールを送信してもらいます。
- ジョブごとに、実行するスケジュールを作成します。
- ジョブの推奨スケジュールは次のとおりです。
- CommandLogCleanup日曜日の午前12:00
- DatabaseBackup – SYSTEM_DATABASES –毎日午後11時55分にフル
- DatabaseBackup – USER_DATABASES –DIFF毎日12:00PM
- DatabaseBackup – USER_DATABASES –毎日午前12:00にフル
- DatabaseBackup – USER_DATABASES – LOG Hourly
- DatabaseIntegrityCheck –SYSTEM_DATABASES土曜日の午前7時55分
- DatabaseIntegrityCheck –USER_DATABASES土曜日の午前8時
- IndexOptimize –USER_DATABASES日曜日の午後8時
- 日曜日の午前12:00に出力ファイルのクリーンアップ
- sp_delete_backuphistory日曜日の午前12:00
- sp_purge_jobhistory日曜日の午前12:00