管理に関する機能強化 (データベース エンジン)

SQL Server 2008 R2 では、SQL Server データベース エンジンの複数のインスタンスを管理するための SQL Server ユーティリティが導入されました。さらに、データ層アプリケーション (DAC) と呼ばれる管理単位が導入されました。これにより、SQL Server ユーティリティまたはデータベース エンジンのスタンドアロン インスタンスで、データ層オブジェクトを管理するためのアプリケーションベースの参照が可能になっています。

SQL Server 2008 R2 における新機能

注意

SQL Server 2008 R2 は SQL Server 2008 のマイナー バージョン アップグレードなので、SQL Server 2008 のセクションのコンテンツも確認することをお勧めします。

SQL Server ユーティリティ

SQL Server ユーティリティにより、次の操作が可能になります。

  • SQL Server のユーティリティ コントロール ポイント (UCP) を作成すること。SQL Server 2008 R2データベース エンジンの単一のインスタンスをインストールし、そのインスタンスを UCP に昇格します。UCP とは、SQL Server ユーティリティに登録されているすべてのインスタンスを対象に構成およびパフォーマンス データを収集する中央リポジトリです。UCP は、SQL Server ユーティリティの中心的な裏付けとなるポイントです。UCP は、中央ポリシーを適用する操作や、インスタンスのリソース使用率の傾向を分析して、中央リソース使用率のポリシーの超過を予測する操作などをサポートします。

  • 集中管理を行うために、SQL Server Management Studio でユーティリティ エクスプローラーを使用し、既存の SQL Server 2008 R2 データ層アプリケーションおよびデータベース エンジンのインスタンスを SQL Server ユーティリティに登録すること。

  • SQL Server ユーティリティとそのダッシュボードの操作を調整および制御する中央ポリシーを設定すること。

  • ユーティリティ エクスプローラーを使用し、SQL Server ユーティリティに登録されているすべてのインスタンスのリソース使用状況、リソースの正常性、および構成情報を報告するダッシュボードおよび詳細なビューポイントを表示すること。ダッシュボードにより、基になるハードウェア リソースを十分に活用していない、または過大使用しているデータ層アプリケーションおよびデータベース エンジンのインスタンスを簡単に識別できます。その後、過小使用されているインスタンスやデータベースを単一のサーバーに統合するなど、サーバーを最大限に活用する計画を作成できます。

SQL Server ユーティリティの詳細については、次のトピックを参照してください。

データ層アプリケーション

データ層アプリケーションを使用すると、多層またはクライアント/サーバー アプリケーションをサポートするデータ層オブジェクトの開発、配置、および管理が容易になります。1 つの DAC により、アプリケーションのサポートに必要なすべてのデータベース エンジン スキーマおよびインスタンス オブジェクト (テーブル、ビュー、ログインなど) が定義されます。DAC は、関連付けられたアプリケーションの開発、配置、および管理のライフサイクルを通じて 1 つの管理単位として機能します。DAC には、DAC の配置の前提条件を定義するポリシーも含まれています。DAC は、SQL Server 2008 R2 および SQL Azure のインスタンスに配置できます。

DAC の詳細については、次のトピックを参照してください。

DAC フレームワーク 1.1 Feature Pack

Visual Studio 2010 Service Pack 1 (SP1) には、DAC アップグレードをサイド バイ サイド アップグレードからインプレース アップグレードに変更する DAC フレームワーク 1.1 が新たに追加されました。インプレース アップグレードは SQL Azure でも使用できますが、サイド バイ サイド アップグレードは使用できません。DAC フレームワーク 1.1 は DAC パッケージ (.dacpac) ファイルの形式も変更します。DAC フレームワーク 1.1 は、以前の DAC フレームワーク 1.0 を使用して作成した DAC パッケージをサポートしますが、DAC フレームワーク 1.0 を実行しているクライアントは DAC フレームワーク 1.1 を使用して作成した DAC パッケージを処理できません。SQL Server 2008 R2 をご利用の場合、DAC フレームワーク 1.1 Feature Pack をダウンロードしてインストールすると、DAC フレームワーク 1.1 にアップグレードできます。現時点では、今後の SQL Server 2008 R2 Service Pack に DAC フレームワーク 1.1 が含まれる予定です。

インプレース アップグレードの実行の詳細については、「データ層アプリケーションをアップグレードする方法」を参照してください。

SQL Azure への接続

SQL Server 2008 R2 では、クライアント ユーティリティから SQL Azure データベースに接続するための機能が導入されました。

SQL Server PowerShell プロバイダー

SQL Server 2008 R2 に、PowerShell スクリプトによる SQL Server ユーティリティおよびデータ層アプリケーションをサポートするための新しい SQLSERVER:\Utility および SQLSERVER:\DAC フォルダーが導入されました。詳細については、「SQL Server PowerShell プロバイダーの使用」を参照してください。

ネットワーク接続

VIA プロトコルは推奨されません。この機能は、将来のバージョンの Microsoft SQL Server では削除される予定です。新しい開発作業では、この機能の使用を避け、現在この機能を使用しているアプリケーションは修正するようにしてください。.

例外メッセージ ボックスの名前空間

Microsoft.NetEnterpriseServers 名前空間の機能は、Microsoft.SqlServer.MessageBox 名前空間と重複します。これまでドキュメントには記載されていませんでした。この機能は、将来のバージョンの Microsoft SQL Server では削除される予定です。新しい開発作業では、この機能の使用を避け、現在この機能を使用しているアプリケーションは修正するようにしてください。 代わりに、Microsoft.SqlServer.MessageBox 名前空間を使用してください。

SQL Server 2008 における新機能

データベースの管理

監査

SQL Server Audit は、カスタマイズされたデータベース エンジン イベント監査を作成するための SQL Server 2008 の新機能です。SQL Server Audit では拡張イベントを使用して監査の情報を記録し、さまざまなサーバーやデータベース オブジェクトで監査を有効化、保存、および表示するために必要なツールやプロセスを提供します。詳細については、「監査 (データベース エンジン)」を参照してください。

バックアップの圧縮

バックアップ圧縮は SQL Server 2008 Enterprise で導入されました。SQL Server 2008 R2 以降、バックアップの圧縮は SQL Server 2008 R2 Standard 以降のすべてのエディションでサポートされています。圧縮されたバックアップは、SQL Server 2008 の各エディションで復元できます。バックアップ、バックアップ ジョブ、またはログ配布構成ごとにバックアップ圧縮動作を変更できます。詳細については、「バックアップの圧縮 (SQL Server)」を参照してください。

既定の設定では、バックアップを圧縮すると CPU 使用率が著しく増加し、同時に実行される操作が悪影響を受ける場合があります。リソース ガバナーを使用すると、CPU 使用率が制限されるセッションで、優先度の低い圧縮されたバックアップを作成することができます。詳細については、「リソース ガバナーを使用してバックアップの圧縮による CPU 使用率を制限する方法 (Transact-SQL)」を参照してください。

変更データ キャプチャ

変更データ キャプチャによって、ソース テーブルからデータ マートおよびデータ ウェアハウスへの増分読み込みを効率的に実行するための効果的なソリューションが実現します。変更データは、SQL Server のテーブルに対して適用された挿入、更新、削除の各アクティビティをキャプチャし、変更の詳細を、利用しやすいリレーショナル形式で格納します。変更データ キャプチャで使用される変更テーブルには、追跡されたソース テーブルの列構造をミラー化する列が、行われた変更を理解するために必要なメタデータと共に含まれています。詳細については、「変更データ キャプチャの基礎」を参照してください。

変更の追跡

SQL Server の変更の追跡を使用すると、ユーザー テーブルに対する増分変更をアプリケーションで取得できます。双方向同期が必要な場合は、データの競合をアプリケーションでチェックすることもできます。開発者は、SQL Server 2008 に組み込まれている変更の追跡を使用することで、複雑なカスタム変更追跡ソリューションを作成する必要がなくなります。

変更の追跡機能が SQL Server に組み込まれる以前、開発者はしばしばトリガー、timestamp 列、他の追加の列、および追加のテーブルの組み合わせを使用したカスタム変更追跡ソリューションを作成する必要がありました。新しいバージョンでは、同期アプリケーションを簡単かつ迅速に開発できます。

詳細については、「変更の追跡」を参照してください。

データ コレクター

SQL Server 2008 では、複数のソースから集めたデータを取得して保存するために使用できるデータ コレクターを導入しています。データ コレクターでは、データ コレクション コンテナーを使用して、SQL Server サーバー システムでのデータ コレクションの範囲と頻度を決定できます。詳細については、「データ コレクタの概要」を参照してください。

エディションに関連するデータベースの移行問題の検出

sys.dm_db_persisted_sku_features (Transact-SQL) ビューを使用すると、SQL Server 2008 の別のエディションへのデータベースの移行を妨げる機能を識別できます。

イベントおよびパフォーマンス カウンター

非推奨カウンター

非推奨機能の使用状況を追跡するために、パフォーマンス カウンターとトレース イベントが用意されています。詳細については、「SQL Server:Deprecated Features オブジェクト」および「SQL Server 2008 R2 データベース エンジンの非推奨機能」を参照してください。

DDL トリガーとイベント通知

DDL トリガーとイベント通知を作成できるイベントのクラスが拡張され、DDL と同様の操作を実行するさまざまなストアド プロシージャが含まれるようになりました。イベントの一覧については、「DDL イベント」および「DDL イベント グループ」を参照してください。さらに、イベント用の XML スキーマがデータベース エンジンと共にインストールされており、インターネットでも利用できます。詳細については、「EVENTDATA (Transact-SQL)」を参照してください。

sp_configure オプション

access check cache quota オプションと access check cache bucket count オプションは、access check result cache に使用されるエントリ数とハッシュ バケット数を制御します。詳細については、「access check cache オプション」を参照してください。

サーバーの管理

中央管理サーバー

SQL Server 2008 では、中央管理サーバーを指定できるようにすることで複数のサーバーを管理する新しい方法を導入しています。中央管理サーバーとして指定されている SQL Server のインスタンスは、登録済みサーバーの一覧を管理します。詳細については、「中央管理サーバーを使用した複数のサーバーの管理」を参照してください。

動的管理ビュー

メモリ情報を提示する 5 つの新しい動的管理ビューがあります。

sys.dm_os_sys_info 動的管理ビューの cpu_ticks_in_ms 列は廃止され、2 つの新しい列、sqlserver_start_time_ms_ticks および sqlserver_start_time が追加されています。

ホット アド CPU

SQL Server 2008 では、CPU を実行中のシステムに動的に追加する機能をサポートしています。CPU の追加は、物理的には新しいハードウェアの追加、論理的にはオンライン ハードウェア パーティション分割、仮想的には仮想化レイヤーの利用によって行われます。詳細については、「ホット アド CPU」を参照してください。

optimize for ad hoc workloads オプション

新しいサーバー構成オプションである optimize for ad hoc workloads オプションを使用すると、1 回のみ使用するアドホック バッチが多数含まれているワークロードのプラン キャッシュの効率を高めることができます。このオプションを 1 に設定すると、データベース エンジンでは、バッチが初めてコンパイルされるときに、完全なコンパイル済みプランではなく、コンパイル済みプランの小さいスタブをプラン キャッシュに格納します。これにより、再利用されないコンパイル済みプランでプラン キャッシュがいっぱいにならないようにして、メモリの負荷を下げることができます。詳細については、「サーバー構成オプションの設定」を参照してください。

リソース ガバナー

リソース ガバナーは、SQL Server のワークロードとシステム リソースの消費を管理するために使用できる機能です。リソース ガバナーを使用すると、受信するアプリケーション要求で使用可能な CPU とメモリの量を制限できます。詳細については、「リソース ガバナを使用した SQL Server ワークロードの管理」を参照してください。

SQL Server 拡張イベント

SQL Server 2008 には、サーバー システムのイベント インフラストラクチャである SQL Server 拡張イベントが導入されています。このリリースの拡張イベントを使用すると、イベントをトレース ポイントとして使用して、ホスト プロセスの実行時にウィンドウを開くことができます。これらのイベントはその後メモリに集計するか、ファイルに送信するか、Event Tracing for Windows (ETW) に出力できます。詳細については、「SQL Server 拡張イベントの概要」を参照してください。

ポリシー ベースの管理の使用

総保有コストを削減するためのマイクロソフトの継続的な取り組みの一環として、SQL Server 2008 では SQL Server を管理するための新しいフレームワークである、ポリシー ベースの管理を導入しています。ポリシーには、ポリシーによって評価される状態を示す確認条件と、評価の対象セットを示すフィルター条件が含まれています。たとえば、管理者は SQL Server のすべてのインスタンスに対して SQL Mail をオフにするポリシーや、AdventureWorks2008R2 データベースのマーケティング スキーマ内のテーブルに "mk_pr_" で始まる名前を付けるポリシーを設定できます。

ポリシー ベースの管理には、次の利点があります。

  • システム構成のポリシーに準拠していることを確認します。

  • 構成に対するポリシーを作成することで、システムへの変更を阻止または監視します。

  • 管理タスクを簡略化することで総所有コストを削減します。

  • SQL Server Management Studio の準拠に関する問題を検出します。

  • ポリシーを同時に複数のサーバー上で実行できます。

  • 組み込み関数、および指定したシステム状態と対象セットにポリシーを適用する条件式に対してユーザー定義の Transact-SQL クエリやユーザー定義の WMI/WQL クエリを実行する機能を含んでいます。

  • ベスト プラクティス アナライザーの規則およびセキュリティ構成の既定のシステム状態設定に対応しており、追加設定なしで使用できる 40 以上のポリシーを含んでいます。ポリシーはデータベース エンジンのインスタンスにインポートする必要があります。詳細については、「ポリシー ベースの管理ポリシーをエクスポートおよびインポートする方法」を参照してください。

追加設定なしのポリシーをインポートすることに加えて、[ファイル] メニューの [新規作成] で新しいポリシーを直接作成することもできます。

詳細と、ポリシー ベースの管理の使用方法に関するチュートリアルについては、「ポリシー ベースの管理を使用したサーバーの管理」を参照してください。

SQL Server Management Studio

クエリ エディター

Transact-SQL デバッガー

データベース エンジン クエリ エディターには、Visual Studio デバッガーに似た Transact-SQL デバッガーが追加されました。Transact-SQL デバッガーを使用すると、特定のステートメントで実行を一時停止し、Transact-SQL 呼び出し履歴や、変数およびパラメーターに格納されている値などのデータ値やシステム情報を表示することで、Transact-SQL コード内の問題を解決できます。詳細については、「Transact-SQL デバッガーの使用」を参照してください。

IntelliSense

データベース エンジン エディターには、単語の入力候補の表示、エラーの下線表示、パラメーターのヘルプ、色分け、クイック ヒント、アウトライン、構文ペアの照合などの IntelliSense 機能が追加されました。IntelliSense は、頻繁に使用される Transact-SQL 要素のために用意されています。今後のリリースでは他の Transact-SQL 要素にも拡張される予定です。詳細については、「IntelliSense の使用」を参照してください。

データベース エンジンの [エラー一覧] ウィンドウ

SQL Server Management Studio には、データベース エンジン クエリ エディターの IntelliSense コードによって生成された構文エラーとセマンティック エラーを表示する [エラー一覧] ウィンドウが含まれています。詳細については、「[エラー一覧] ウィンドウ (Management Studio)」を参照してください。

オブジェクト エクスプローラー

SQL Server Management Studio の [オブジェクト エクスプローラーの詳細] ウィンドウは、次のように強化されています。

  • [オブジェクト エクスプローラーの詳細] ウィンドウに表示される列をカスタマイズできます。選択したオブジェクトの種類で使用可能な列の一覧を表示するには、列見出しを右クリックします。表示を並べ替えるには、列をドラッグします。

  • 選択した項目のプロパティは、[オブジェクト エクスプローラーの詳細] ウィンドウの下部に表示されます。追加のプロパティを表示するには、ステータス バーのトピックの境界を上にドラッグしてステータス バーを大きくします。

Transact-SQL および MDX のコード エディターの下部には、色分けされたステータス バーが表示されます。このステータス バーは、エディターの接続に関する情報を表示し、コード エディターに複数の接続がある場合に色が変化します。

コード エディター ウィンドウのタイトル バーでは項目の名前を追加または削除できます。タブ名をカスタマイズするには、[ツール] メニューの [オプション] をクリックし、[テキスト エディター][エディターのタブとステータス バー] ページの順に選択します。

Management Studio では、オブジェクト エクスプローラーで選択した項目に関する詳細の表示が強化されています。列はサイズ変更、並べ替え、および再構成が可能で、新しいナビゲーション ボタンを使用して親オブジェクトや最後にアクセスしたオブジェクトに移動することもできます。詳細領域では複数のオブジェクトを選択し、これらのオブジェクトに対して個別に、またはまとめてアクションを実行できます。

[オブジェクト エクスプローラーの詳細] でのオブジェクトの同期では、親オブジェクトではなく、オブジェクト エクスプローラー内の個別のオブジェクトが選択されるようになりました。また、表示する列はプロパティ一覧から選択できます。並べ替えや選択項目は操作中もそのまま保持されます。また、選択したオブジェクトに対しては、詳細領域の下部にあるサイズ変更領域にプロパティ一覧が表示されます。詳細については、「[オブジェクト エクスプローラーの詳細] の使用および SQL Server オブジェクトの検索」を参照してください。

オブジェクト エクスプローラーの Service Broker ノード

オブジェクト エクスプローラーには、Service Broker メッセージ交換の優先度用の新しいノードが含まれています。また、他の Service Broker ノードを右クリックすると、[プロパティ] などの追加のメニュー オプションが表示されるようになりました。詳細については、「Service Broker オブジェクトの [プロパティ] の F1 ヘルプ」を参照してください。

顧客からの要望による強化機能

SQL Server Management Studio には、顧客から要望があった次のような強化機能が含まれています。

  • クエリ エディター ウィンドウでは、登録済みサーバーのグループからクエリ ウィンドウを開くことで、同時に複数のサーバーに対してクエリを実行できます。クエリ結果は、結合して 1 つの結果ペインに表示するか、別々の結果ペインに表示することができます。詳細については、「中央管理サーバーを使用した複数のサーバーの管理」を参照してください。

  • SQL Server Profiler にアクセスするには、クエリ エディター ウィンドウ、[クエリ] メニュー、クエリ エディターのツール バーを使用するか、Ctrl + Alt + P キーを押します。

  • テーブルは、[上位 n 行の表示] オプションを使用して開くことができるようになりました。

  • テーブルを開いたときに表示される行数は構成できます。

  • [ツール] メニューの [オプション] では、オブジェクト エクスプローラーでテーブルをダブルクリックしたときに実行されるアクションを指定できます。

  • 設計変更を実装するときは、テーブル デザイナーがテーブルを再作成しないようにすることができます。

  • [オブジェクトの詳細] ページは、追加の列を使用してカスタマイズできます。このページでは検索もサポートされるようになりました。詳細については、「[オブジェクト エクスプローラーの詳細] の使用および SQL Server オブジェクトの検索」を参照してください。

  • SQL Server Management Studio を使用して接続するときは、追加の接続パラメーターを接続文字列に追加できます。詳細については、「[サーバーへの接続] ([追加の接続パラメーター] ページ)」を参照してください。

SQL Server PowerShell プロバイダーおよびコマンドレット

SQL Server 2008 では、次の機能を実装する 2 つの PowerShell スナップイン DLL ファイルが導入されています。

  • SQL Server 管理オブジェクト モデルをファイル システム パスと同様のパスとして公開する SQL Server PowerShell プロバイダー。パス内の各ノードは、SQL Server 管理オブジェクト クラスに関連付けられています。

  • sqlcmd スクリプトの実行、ポリシーの評価、PowerShell パスで使用する区切られた識別子のエンコードなどのタスクを行う SQL Server PowerShell コマンドレットのセット。

さらに、プロバイダーやスナップインなどの SQL Server 機能を使用して構成された PowerShell 環境を起動する新しい sqlps ユーティリティが用意されています。PowerShell サブシステムが SQL Server エージェントに追加され、スケジュールに従って、またはデータベース エンジン イベントに対応して PowerShell スクリプトを実行できるようになっています。SQL Server PowerShell セッションを起動するには、SQL Server Management Studio のオブジェクト エクスプローラーのノードを右クリックします。詳細については、「SQL Server PowerShell の概要」を参照してください。

変更履歴

変更内容

DAC フレームワーク 1.1 を使用するインプレース アップグレードで SQL Azure がサポートされたことに関する説明を追加しました。