コース 20764-C: Administering a SQL Database Infrastructure

この 5 日間のインストラクター指導のコースは、SQL Server データベースを管理および保守する学生に、SQL Server データベース インフラストラクチャを管理するための知識とスキルを提供します。さらに、SQL Server データベースからコンテンツを配信するアプリケーションを開発する個人にも役立ちます。

聴衆プロファイル

このコースの主な対象者は、SQL Server データベースを管理および保守する人たちです。これらの人たちは、データベースの管理と保守を主要な責任領域として実行するか、データベースが主要な仕事で重要な役割を果たす環境で作業を行う方々です。

このコースの 2 番目の対象者は、SQL Server データベースからコンテンツを配信するアプリケーションを開発する個人です。

職務: データベース管理者

習得したスキル

  • ユーザーを認証および承認する
  • サーバーとデータベースのロールを割り当てる
  • ユーザーによるリソースへのアクセスを承認する

前提条件

このトレーニングに参加する学生は、専門的な経験に加えて、以下の技術的知識を既に有している 必要があります。

  • Microsoft Windows オペレーティング システムとそのコア機能に関する基本的な知識。
  • Transact- SQL の実用的な知識。
  • リレーショナル データベースの実用的な知識。
  • データベース設計の経験。

コースのアウトライン

モジュール 1: SQL Server のセキュリティ

Microsoft SQL Server データベース内のデータの保護は不可欠であり、問​​題と SQL Server のセキュリティ機能に関する実用的な知識が必要です。

このモジュールでは、SQL Server のセキュリティ モデル、ログイン、ユーザー、部分的に含まれるデータベース、およびクロスサーバー認証について説明します。

レッスン

  • SQL Server への接続の認証
  • データベースに接続するためのログインの承認
  • サーバー間の認証
  • 部分的に含まれるデータベース

ラボ: ユーザーの認証

  • ログインを作成する
  • データベース ユーザーを作成する
  • アプリケーション ログインの問題を修正する
  • 復元されたデータベースのセキュリティを構成する

本モジュールを終了すると、受講者は以下のことができるようになります:

  • SQL Server の基本概念。
  • SQL Server 接続認証。
  • データベースへのユーザー ログイン認証。
  • 部分的に含まれるデータベース。
  • サーバー間の認証。

モジュール 2: サーバーとデータベースのロールの割り当て

ロールを使用すると、ユーザー権限の管理が簡単になります。ロールを使用すると、各ユーザーの職務に基づいて、認証されたユーザーのシステム リソースへのアクセスを制御できます。ユーザーごとに権限を割り当てるのではなく、ロールに権限を付与して、ユーザーをロールのメンバーにすることが可能です。 Microsoft SQL Server には、サーバー レベルおよびデータベース レベルで定義されたセキュリティ ロールのサポートが含まれています。

レッスン

  • サーバー ロールの操作
  • 固定データベース ロールの操作
  • ユーザー定義のデータベース ロールの割り当て

ラボ: サーバーとデータベースのロールの割り当て

  • サーバー ロールの割り当て
  • 固定データベース ロールの割り当て
  • ユーザー定義のデータベース ロールの割り当て
  • セキュリティの確認

本モジュールを終了すると、受講者は以下のことができるようになります:

  • サーバー レベルのセキュリティを管理するためにサーバー ロールについて説明および使用する。
  • 固定データベース ロールについて説明および使用する。
  • カスタム データベース ロールとアプリケーション ロールを使用して、データベース レベルのセキュリティを管理する。

モジュール 3: ユーザーによるリソースへのアクセスの承認

前のモジュールでは、Microsoft SQL Server のセキュリティの編成方法と、固定サーバー ロール、ユーザー定義サーバー ロール、固定データベース ロール、およびアプリケーション ロールを使用して、サーバー レベルとデータベース レベルで権限セットを割り当てる方法について説明しました。ユーザーに SQL Server リソースへのアクセスを承認する最後の手順は、サーバーとデータベース オブジェクトにアクセスするユーザーとロールの承認です。

このモジュールでは、これらのオブジェクト権限がどのように管理されるかについて説明します。SQL Server には、データベース オブジェクトへのアクセス許可に加えて、ストアド プロシージャや関数などのコードの実行を許可するユーザーを決定する機能があります。多くの場合、これらのアクセス許可とデータベース オブジェクトのアクセス許可は、個々のオブジェクト レベルではなく、スキーマ レベルで構成するのが最適です。スキーマ ベースの権限付与により、セキュリティ アーキテクチャを簡素化できます。このモジュールの最後のレッスンでは、スキーマ レベルでの権限の付与について説明します。

レッスン

  • オブジェクトへのユーザー アクセスの承認
  • ユーザーへのコードの実行の承認
  • スキーマ レベルでの権限の構成

ラボ: ユーザーによるリソースへのアクセスの承認

  • オブジェクトに対する権限の付与、拒否、および取り消し
  • コードに対する EXECUTE パーミッションの付与
  • スキーマ レベルでの権限の付与

本モジュールを終了すると、受講者は以下のことができるようになります:

  • オブジェクトのユーザー アクセスを承認する。
  • ユーザーのコードの実行を許可する。
  • スキーマ レベルで権限を構成する。

モジュール 4: 暗号化と監査によるデータの保護

Microsoft SQL Server システムのセキュリティを構成するときは、データ保護に関する組織のコンプライアンス要件を満たしていることを確認する必要があります。組織は、多くの場合、すべてのデータアクセスの監査を義務付ける業界固有のコンプライアンス ポリシーを遵守する必要があります。この要件に対処するために、SQL Server には監査を実装するためのさまざまなオプションが用意されています。

もう 1 つの一般的なコンプライアンス要件は、データベース ファイルへのアクセスが侵害された場合の不正アクセスから保護するためのデータの暗号化です。SQL Serverは、透過的データ暗号化 (TDE) を提供することにより、この要件をサポートしています。データベースへの管理アクセス権を持つユーザーによる情報漏えいのリスクを軽減するために、クレジットカード番号や国民 ID 番号などの機密データを含む列を、常に暗号化機能を使用して暗号化できます。

このモジュールでは、SQL Server での監査に使用できるオプション、SQL Server 監査機能の使用方法と管理方法、および暗号化の実装方法について説明します。

レッスン

  • SQL Server のデータ アクセスを監査するためのオプション
  • SQL Server 監査の実装
  • SQL Server 監査の管理
  • 暗号化によるデータの保護

ラボ: 監査と暗号化の使用

  • SQL Server 監査の操作
  • 列を「常に暗号化」として暗号化する
  • TDE を使​​用してデータベースを暗号化する

本モジュールを終了すると、受講者は以下のことができるようになります:

  • データ アクセスの監査オプションについて説明する。
  • SQL Server 監査を実装する。
  • SQL Server 監査を管理する。
  • SQL Server でデータを暗号化する方法について説明および実装する。
  • 暗号化を実装する

モジュール 5: リカバリ モデルとバックアップ戦略

データベース管理者の役割の最も重要な側面の 1 つは、障害が発生した場合にデータを回復できるように、組織データが確実にバックアップされるようにすることです。コンピューティング業界は何十年も前から信頼性の高いバックアップ戦略の必要性について理解しており、これについて長い間議論してきましたが、データ損失に関する不幸な話は今でも当たり前に存在します。さらなる問題は、実施されている戦略が設計どおりに機能したとしても、結果が依然として組織の運用要件を定期的に満たしていないことです。

このモジュールでは、使用可能なバックアップ モデル、およびデータベースの一貫性を維持するためのトランザクション ログのロールに基づいて、組織のニーズに合わせた戦略を作成する方法を検討します。

レッスン

  • バックアップ戦略についての理解
  • SQL Server トランザクション ログ
  • バックアップ戦略の計画

ラボ: SQL Server リカバリ モデルについての理解

  • バックアップ戦略を計画する
  • データベース リカバリ モデルを構成する

本モジュールを終了すると、受講者は以下のことができるようになります:

  • さまざまなバックアップ戦略について説明する。
  • データベース トランザクション ログの機能について説明する。
  • SQL Server のバックアップ戦略を計画する。

モジュール 6: SQL Server データベースのバックアップ

前のモジュールでは、SQL Server システムのバックアップ戦略を計画する方法を学びました。これで、データベースの完全バックアップと差分バックアップ、トランザクション ログ バックアップ、部分バックアップなど、SQL Server バックアップの実行方法を学習できます。

このモジュールでは、さまざまなバックアップ戦略を適用する方法を学びます。

レッスン

  • データベースとトランザクション ログのバックアップ
  • データベース バックアップの管理
  • 高度なデータベース オプション

ラボ: データベースのバックアップ

  • データベースのバックアップ
  • データベース、差分、およびトランザクション ログのバックアップの実行
  • 部分的なバックアップの実行

本モジュールを終了すると、受講者は以下のことができるようになります:

  • SQL Server データベースとトランザクション ログのバックアップを実行する。
  • データベースのバックアップを管理する。
  • 高度なバックアップ オプションについて説明する。

モジュール 7: SQL Server 2016 データベースの復元

前のモジュールでは、Microsoft SQL Server 2016 データベースのバックアップを作成する方法を学びました。バックアップ戦略にはさまざまな種類のバックアップが含まれる可能性があるため、それらを効果的に復元できることが重要です。

多くの場合、緊急の状況でデータベースを復元します。ただし、データベースを続行して必要な状態に正常に復元する方法の明確な計画があることを確認する必要があります。適切な計画と復元プロセスの理解は、状況の悪化を回避するのに役立ちます。

一部のデータベースの復元は、システム障害に関連しています。このような場合は、障害が発生する前の状態にできるだけ近い状態にシステムを戻す必要があります。ただし、一部の障害は人為的エラーに関連しているため、システムをそのエラーが発生する前の状態に復元したい場合があります。SQL Server 2016 のポイントインタイム リカバリ機能は、これを達成するのに役立ちます。

通常、ユーザー データベースは非常に大きいため、システム データベースよりもシステム障害の影響を受ける可能性が高くなります。ただし、システム データベースは障害の影響を受ける可能性があるため、復元する場合は特に注意が必要です。特に、すべてのシステム データベースに同じプロセスを使用することはできないため、各システム データベースを復元する方法を理解する必要があります。

このモジュールでは、ユーザー データベースとシステム データベースを復元する方法と、ポイントインタイム リカバリを実装する方法について説明します。

レッスン

  • 復元プロセスについて
  • データベースの復元
  • 高度な復元シナリオ
  • ポイントインタイム リカバリ

ラボ: SQL Server データベースの復元

  • データベース バックアップの復元
  • データベース、差分、トランザクション ログのバックアップの再ストリング
  • 段階的な復元の実行

本モジュールを終了すると、受講者は以下のことができるようになります:

  • 復元プロセスについて説明する。
  • データベースを復元する。
  • 高度な復元操作を実行する。
  • ポイントインタイム リカバリを実行する。

モジュール 8: SQL Server 管理の自動化

Microsoft SQL Server が提供するツールを使用すると、他のいくつかのデータベース エンジンと比較して、管理が容易になります。ただし、タスクが実行しやすい場合でも、タスクを何度も繰り返す必要があるのが一般的です。効率的なデータベース管理者は、反復的なタスクを自動化する方法を学びます。これにより、管理者が必要なときにタスクを実行し忘れた状況を回避できます。おそらくより重要なこととして、タスクの自動化は、タスクが実行されるたびに一貫して実行されることを保証するのに役立ちます。

このモジュールでは、SQL Server エージェントを使用してジョブを自動化する方法、ジョブのセキュリティ コンテキストを構成する方法、およびマルチサーバー ジョブを実装する方法について説明します。

レッスン

  • SQL Server 管理の自動化
  • SQL Server エージェントの操作
  • SQL Server エージェント ジョブの管理
  • マルチサーバー管理

ラボ: SQL Server 管理の自動化

  • SQL Server エージェント ジョブを作成する
  • ジョブをテストする
  • ジョブをスケジュールする
  • マスター サーバーとターゲット サーバーを構成する

本モジュールを終了すると、受講者は以下のことができるようになります:

  • SQL Server 管理を自動化する方法について説明する
  • ジョブ、ジョブ ステップ タイプ、およびスケジュールを構成する。
  • SQL Server エージェントジョブを管理する。
  • マスター サーバーとターゲット サーバーを構成する。

モジュール 9: SQL Server エージェントのセキュリティの構成

このコースの他のモジュールでは、「最小限の特権」の原則に従って、ユーザーに付与されるアクセス許可を最小限に抑える必要があることを示しています。これは、ユーザーがタスクを実行するために必要な権限のみを持っていることを意味します。同じロジックが、SQL Server エージェントへのアクセス許可の付与にも適用されます。SQL Server エージェント サービス アカウントのコンテキストですべてのジョブを実行し、そのアカウントを管理アカウントとして構成することは簡単ですが、これを行うとセキュリティ環境が悪くなります。SQL Server エージェントで実行されるジョブの最小限の特権セキュリティ環境を作成する方法を理解することが重要です。

レッスン

  • SQL Server エージェントのセキュリティについての理解
  • 資格情報の構成
  • プロキシ アカウントの構成

ラボ: SQL Server エージェントのセキュリティの構成

  • SQL Server エージェントの問題の分析
  • 資格情報の構成
  • プロキシ アカウントの構成
  • ジョブのセキュリティ コンテキストの構成とテスト

本モジュールを終了すると、受講者は以下のことができるようになります:

  • SQL Server エージェントのセキュリティについて説明する。
  • 資格情報を構成する。
  • プロキシ アカウントを構成する。

モジュール 10: 警告と通知による SQL Server の監視

Microsoft SQL Server をプロアクティブに管理する重要な側面の 1 つは、サーバーで発生する問題やイベントを、発生時に確実に認識できるようにすることです。SQL Server は、問題に関する豊富な情報を記録します。アラートと通知を使用して、これらの問題が発生したときに自動的に通知するように設定できます。SQL Server データベース管理者が関心のあるイベントの詳細を受け取る最も一般的な方法は、電子メール メッセージです。このモジュールでは、SQL Server インスタンスのデータベース メール、アラート、通知の構成、および Microsoft Azure SQL データベースのアラートの構成について説明します。

レッスン

  • SQL Server エラーの監視
  • データベース メールの構成
  • オペレーター、アラート、通知
  • Azure SQL データベースのアラート

ラボ: 警告と通知による SQL Server の監視

  • データベース メールの構成
  • オペレーターの構成
  • アラートと通知の構成
  • アラートと通知のテスト

本モジュールを終了すると、受講者は以下のことができるようになります:

  • SQL Server エラーを監視する。
  • データベース メールを構成する。
  • オペレーター、アラート、通知を構成する
  • Azure SQL データベースでアラートを操作する。

モジュール 11: PowerShell を使用した SQL Server の管理の概要

このモジュールでは、Microsoft SQL Server で Windows PowerShell を使用する方法について説明します。企業は常に、IT インフラストラクチャの維持の効率と信頼性を向上させる必要があります。 PowerShell では、タスクを実行するスクリプトを作成することで、この効率と信頼性を向上させることができます。PowerShell スクリプトをテストして複数のサーバーに複数回適用できるため、時間と費用の両方を節約できます。

レッスン

  • Windows PowerShell の概要
  • PowerShell を使用して SQL Server を構成する
  • PowerShell を使用して SQL Server を管理および保守する
  • PowerShell を使用した Azure SQL データベースの管理

ラボ: PowerShell を使用した SQL Server の管理

  • PowerShell の概要
  • PowerShell を使用した SQL Server 設定の変更

本モジュールを終了すると、受講者は以下のことができるようになります:

  • PowerShell とその基本的な概念の利点について説明する。
  • PowerShell を使用して SQL Server を構成する。
  • PowerShell を使用して SQL Server を管理および保守する。
  • PowerShell を使用して Azure SQL データベースを管理する。

モジュール 12: 拡張イベントを使用した SQL Server へのアクセスのトレース

パフォーマンス メトリックの監視は、データベース ソリューションの全体的なパフォーマンスを評価する優れた方法を提供します。ただし、問題をトラブルシューティングし、ワークロードのパフォーマンスを最適化する方法を特定するために、Microsoft SQL Server インスタンス内で発生するアクティビティの詳細な分析を実行する必要がある場合があります。

SQL Server 拡張イベントは、Microsoft SQL Server データベース エンジンに組み込まれた柔軟で軽量のイベント処理システムです。このモジュールでは、拡張イベントのアーキテクチャの概念、トラブルシューティング戦略、および使用シナリオに焦点を当てています。

レッスン

  • 拡張イベントのコア コンセプト
  • 拡張イベントの操作

ラボ: 拡張イベント

  • System_Health 拡張イベント セッションの使用
  • 拡張イベントを使用したページ分割の追跡

本モジュールを終了すると、受講者は以下のことができるようになります:

  • 拡張イベントのコア コンセプトについて説明する。
  • 拡張イベント セッションの作成およびクエリを実行する。

モジュール 13: SQL Server の監視

Microsoft SQL Server データベース エンジンは、管理者の注意を必要とせずに長期間実行できます。ただし、データベース サーバーで発生するアクティビティを定期的に監視すると、潜在的な問題が発生する前に対処できます。 SQL Server には、現在のアクティビティを監視し、以前のアクティビティの詳細を記録するために使用できるいくつかのツールが用意されています。各ツールの機能と使用方法を理解する必要があります。 監視ツールが提供できる大量の出力に圧倒されやすいので、それらの出力を分析するための手法も学ぶ必要があります。

レッスン

  • 監視活動
  • パフォーマンス データのキャプチャと管理
  • 収集されたパフォーマンス データの分析
  • SQL Server Utility

ラボ: SQL Server の監視

本モジュールを終了すると、受講者は以下のことができるようになります:

  • 現在の活動を監視する。
  • パフォーマンス データをキャプチャおよび管理する。
  • 収集したパフォーマンス データを分析する。
  • SQL Server ユーティリティを構成する。

モジュール 14: SQL Server のトラブルシューティング

Microsoft SQL Server を使用するデータベース管理者は、問題が発生した場合、特に SQL Server データベースに依存するビジネス クリティカルなアプリケーションのユーザーが機能しない場合に、トラブルシューティングの重要な役割を引き受ける必要があります。一般に問題を解決するための確かな方法論を持ち、SQL Server システムで作業するときに発生する可能性のある最も一般的な問題に精通していることが重要です。

レッスン

  • SQL Server のトラブルシューティング方法論
  • サービス関連の問題の解決
  • 接続とログインの問題の解決

ラボ: 一般的な問題のトラブルシューティング

  • SQL ログインの問題のトラブルシューティングと解決
  • サービスの問題のトラブルシューティングと解決
  • Windows ログインの問題のトラブルシューティングと解決
  • ジョブ実行の問題のトラブルシューティングと解決
  • パフォーマンスの問題のトラブルシューティングと解決

本モジュールを終了すると、受講者は以下のことができるようになります:

  • SQL Server のトラブルシューティング方法について説明する。
  • サービス関連の問題を解決する。
  • ログインと接続の問題を解決する。

モジュール 15: データのインポートとエクスポート

Microsoft SQL Server システムに存在する大量のデータは、アプリケーション プログラムを実行しているユーザーが直接入力しますが、SQL Server との間で他の場所にあるデータを移動する必要があることがよくあります。

SQL Server は、データの送受信に使用できる一連のツールを提供します。Bcp (一括コピープログラム) ユーティリティや SQL Server Integration Services など、これらのツールの一部は、データベース エンジンの外部にあります。BULK INSERT ステートメントや OPENROWSET 関数などの他のツールは、データベース エンジンに実装されています。SQL Server を使用すると、ユーザー データベースに関連付けられているすべてのテーブル、ビュー、インスタンス オブジェクトを単一の配置のユニットにパッケージ化するデータ層アプリケーションを作成することもできます。

このモジュールでは、SQL Server との間でデータをインポートおよびエクスポートできるように、ツールと手法について説明します。

レッスン

  • SQL Server とのデータ転送
  • 表データのインポートとエクスポート
  • bcp と BULK INSERT を使用してデータをインポートする
  • データ層アプリケーションのデプロイとアップグレード

ラボ: データのインポートとエクスポート

  • インポート ウィザードを使用したデータのインポートと Excel
  • bcp を使用して区切りテキスト ファイルをインポートする
  • BULK INSERT を使用して区切りテキスト ファイルをインポートする
  • データを抽出する SSIS パッケージを作成してテストする
  • データ層アプリケーションをデプロイする

本モジュールを終了すると、受講者は以下のことができるようになります:

  • データを転送するためのツールと手法について説明する。
  • 表データをインポートおよびエクスポートする。
  • bcp と BULK INSERT を使用してデータをインポートする。
  • データ層アプリケーションを使用して、データベース アプリケーションをインポートおよびエクスポートする。