管理に関する機能強化 (データベース エンジン)
SQL Server 2012 データベース エンジンでは、ツールおよび監視機能の強化によって管理性が向上しています。
SQL Server Management Studio
SQL Server 2012 では、SQL Server Management Studio に次の機能が導入されました。
代替キーボード ショートカット スキーム
SQL Server Management Studio は、2 つのキーボード ショートカット スキームをサポートしています。 新しい既定のキーボード ショートカットは、Microsoft Visual Studio 2010 のキーボード ショートカットに基づいています。 SQL Server 2008 R2 のキーボード ショートカットを使用するように Management Studio を構成することもできます。
注 SQL Server 2012 では、SQL Server 2000 Enterprise Manager のショートカットは使用されません。
詳細については、「SQL Server Management Studio のキーボード ショートカット」を参照してください。
クエリ エディター
データベース エンジン クエリ エディターでは、Transact-SQL のデバッグおよび IntelliSense の機能が拡張されています。
Transact-SQL のデバッガーには、次の新しい機能が搭載されています。
SQL Server 2005 Service Pack 2 (SP2) 以降のインスタンスで実行している Transact-SQL スクリプトをデバッグできるようになりました。
Transact-SQL ブレークポイントは、次の機能をサポートするようになりました。
ブレークポイント条件は、ブレークポイントが呼び出されるかどうかを決定する Transact-SQL 式です。 詳細については、「ブレークポイント条件の指定」を参照してください。
ブレークポイントのヒット カウントは、ブレークポイントが呼び出される前にブレークポイントに到達する回数を指定します。 詳細については、「ヒット カウントの指定」を参照してください。
ブレークポイント フィルターは、ブレークポイントが指定したコンピューター、プロセス、またはスレッドだけで動作するように制限します。 詳細については、「ブレークポイント フィルターの指定」を参照してください。
ブレークポイント アクションは、ブレークポイントが呼び出されるときに実行されるカスタム タスクを指定します。 詳細については、「ブレークポイント アクションの指定」を参照してください。
ブレークポイントの位置を編集して、特定の Transact-SQL ステートメントから別のステートメントのブレークポイントに移動できます。 詳細については、「ブレークポイントの位置の編集」を参照してください。
ウォッチ ウィンドウとクイック ウォッチは、Transact-SQL 式の監視をサポートするようになりました。 詳細については、「Transact-SQL デバッガー情報」を参照してください。
Transact-SQL 識別子の上にカーソルを移動すると、式の名前とその現在の値がクイック ヒント ポップアップに表示されます。 詳細については、「Transact-SQL デバッガー情報」を参照してください。
Transact-SQL IntelliSense
Transact-SQL IntelliSense には、次の新しい機能が搭載されています。
ブレークポイントの検証により、無効な場所にブレークポイントが設定されなくなります。
Transact-SQL コード スニペットは、バッチおよびスクリプトで Transact-SQL ステートメントを構築するときに開始点として使用できるテンプレートです。 詳細については、「Transact-SQL スニペットの挿入」を参照してください。
Transact-SQL ブロックの挿入スニペットは、BEGIN、IF、または WHILE ブロックで Transact-SQL ステートメントのセットを囲むときに開始点として使用できるテンプレートです。 詳細については、「ブロックの挿入 Transact-SQL スニペットの挿入」を参照してください。
データベース復旧アドバイザー
データベースをエラーから復旧するには、データベース管理者が論理的に正しく意味のある復元シーケンスで一連のバックアップを復元する必要があります。 データベース復旧アドバイザーにより、最適な復元シーケンスを実装する復元プランを容易に構築できるようになります。 お客様からご要望のあった、データベース復元に関するさまざまな既知の問題の解決や機能強化が実施されました。 データベース復旧アドバイザーによって導入された主な機能強化は次のとおりです。
復元プラン アルゴリズム: 特に、複雑な復元シナリオの復元プランの構築に使用されるアルゴリズムが大幅に改善されました。 特定の時点への復元時の分岐シナリオなど、多数のエッジ ケースが以前のバージョンの SQL Server よりも効率的に処理されます。
特定の時点への復元: データベース復旧アドバイザーにより、特定の時点へのデータベースの復元が大幅に簡素化されます。 バックアップの視覚的タイムラインにより、特定の時点への復元のサポートが大幅に強化されています。 この視覚的タイムラインにより、データベースを復元する際の目的の復旧ポイントとして適切な時点を特定できます。 タイムラインにより、分岐した復旧パス (複数の復旧分岐にまたがるパス) をたどることが容易になります。 特定の時点への復元プランには、目的の時点 (日時) への復元に関連するバックアップが自動的に含まれます。 詳細については、「SQL Server データベースを特定の時点に復元する方法 (完全復旧モデル)」を参照してください。
データベース復旧アドバイザーの詳細については、SQL Server Manageability の次のブログを参照してください。
[ページ復元] ダイアログ
SQL Server 2012 から、SQL Server Management Studio でページの復元がサポートされるようになりました。 新しい [ページ復元] ダイアログを使用すると、データベース ページが破損していないかどうかをチェックし、選択した破損ページをデータベース バックアップおよび後続のログ バックアップから復元できます。 ページ復元の詳細については、「ページ復元 (SQL Server)」を参照してください。
スタートアップ オプション
データベース エンジンのスタートアップ オプションは、SQL Server 構成マネージャーの新しい [起動時のパラメーター] タブを使用して構成します。 詳細については、「サーバーのスタートアップ オプションの構成 (SQL Server 構成マネージャー)」を参照してください。
包含データベース
SQL Server データベース エンジンのインスタンスからデータベース エンジンの別のインスタンスへのデータベースの移動は、包含データベースを導入すると簡単に行うことができます。 包含データベースのユーザーは、SQL Server のインスタンスのログインには関連付けられなくなります。 インスタンスの他の多くの依存関係も削除されます。 詳細については、「包含データベース」を参照してください。
データ層アプリケーション
CTP3 のデータ層アプリケーション (DAC) に対する変更は次のとおりです。
データ層アプリケーション (DAC) のアップグレードは、インプレース プロセスに変更されています。このプロセスでは、新しいバージョンの DAC で定義されたスキーマに一致するように、既存のデータベースが変更されます。 これは、新しいスキーマ定義を使用して新しいデータベースを作成していたサイド バイ サイドのアップグレード プロセスに代わるものです。 データ層アプリケーションのアップグレード ウィザードは、インプレース アップグレードを実行するように更新されました。 DacStore 型の Upgrade メソッドは現在推奨されておらず、新しい IncrementalUpgrade メソッドに置き換えられました。 また、アップグレードは SQL データベース に配置された DAC でもサポートされています。 詳細については、「データ層アプリケーションのアップグレード」を参照してください。
スキーマ定義を新しい DAC パッケージ ファイルとして抽出することに加え、スキーマ定義とデータの両方をデータベースから DAC のエクスポート ファイルとしてエクスポートできるようになりました。 その後、ファイルをインポートし、同じスキーマおよびデータを使用して新しいデータベースを作成できます。 詳細については、「データ層アプリケーションのエクスポート」および「BACPAC ファイルのインポートによる新しいユーザー データベースの作成」を参照してください。
データ層アプリケーションは、SQL Server 2008 R2 よりも多くのオブジェクトをサポートするようになりました。 詳細については、「SQL Server オブジェクトとバージョンの DAC サポート」を参照してください。
Windows PowerShell
SQL Server 2012 からは、Windows PowerShell が SQL Server セットアップでインストールされなくなりました。 SQL Server 2012 のインストールには、Windows PowerShell 2.0 が必要です。 PowerShell 2.0 がインストールされていないか、コンピューターで有効になっていない場合は、「Windows 管理フレームワーク」ページの手順に従って有効にすることができます。 SQL Server PowerShell の詳細については、「SQL Server PowerShell」を参照してください。
SQL Server 2012 では、Windows PowerShell 2.0 の新機能であるモジュールを使用して、SQL Server コンポーネントを PowerShell に読み込みます。 ユーザーが sqlps モジュールを PowerShell にインポートすると、このモジュールによって SQL Server スナップインが読み込まれます。 詳細については、「SQL Server Management Studio から Windows PowerShell を実行する方法」を参照してください。
sqlps ユーティリティは PowerShell 1.0 のミニシェルではなくなり、PowerShell 2.0 を起動して sqlps モジュールをインポートするようになりました。 このため、PowerShell スクリプトで他の製品用のスナップインも容易に読み込むことができるようになり、SQL Server の相互運用性が向上しています。 sqlps ユーティリティは、SQL Server 2012 以降の非推奨機能のリストに追加されています。
SQL Server PowerShell プロバイダーには、backup-sqldatabase および restore-sqldatabase という 2 つの新しいコマンドレットがあります。 詳細については、sqlps モジュールを読み込んだ後に、get-help コマンドレットを使用してください。
bcp.exe および sqlcmd.exe に追加された -K オプション
bcp ユーティリティ と sqlcmd ユーティリティ に -K が追加されました。このオプションを使用すると、AlwaysOn 可用性グループのセカンダリ レプリカへの読み取り専用アクセスを指定できます。 AlwaysOn 可用性グループ をサポートするために、sqlcmd では –M も使用できます。
sqlcmd.exe の動作変更
SELECT * from T FOR XML … の実行時に XML モード (:XML ON コマンド) で sqlcmd.exe を使用する場合は、動作が変更されているので注意が必要です。
SQL Server 2012 より前の動作は次のとおりです。
単一引用符を含むテキスト データは、' エスケープ シーケンスに置き換わっていました。
秒の小数部が 0 である従来の datetime データ値には、小数点以下 3 桁が表示されていました。
小数値のない money データ値は整数で表現されていました。
SQL Server 2012 以降では次のようになります。
単一引用符を含むテキスト データは、' に置き換わりません。 そのままで有効な XML であり、XML パーサーから返される結果も同じになります。
秒の小数部がない従来の datetime データ値に、小数点以下 3 桁は表示されません。 その他の日付と時刻のデータ型は影響を受けません。
小数値のない money データ値には、小数点以下 4 桁が表示されます。
データベース エンジン チューニング アドバイザーの機能強化
SQL Server 2012 では、データベース エンジン チューニング アドバイザー (DTA) ワークロードとしてクエリ プラン キャッシュを使用できます。 これにより、スクリプト ファイルまたはトレース ファイルからワークロードを手動で作成する必要がなくなります。 プラン キャッシュを DTA ワークロードとして指定した場合、データベース エンジン チューニング アドバイザーでは、分析に使用される上位 1,000 件のイベントが選択されます。 このイベント数は、DTA ユーティリティの – n オプションを使用して変更できます。 詳細については、「データベース エンジン チューニング アドバイザーの起動および使用」を参照してください。
追加または変更された動的管理ビューと関数
次のシステム ビューが追加または変更されています。
システム ビュー |
説明 |
---|---|
実行時間の長いクエリについて、トラブルシューティングを行うための 4 列が追加されました。 行数集計列 total_rows、min_rows、max_rows、および last_rows を使用することにより、問題があるクエリ (インデックスがない、クエリ プランが不適切、など) から、大量の行を返すクエリを分離することができます。 |
|
この動的管理関数は、指定したデータベースおよびファイルが格納されているオペレーティング システムのボリューム (ディレクトリ) に関する情報を返します。 この動的管理関数は、物理ディスク ドライブの属性を確認する場合や、ディレクトリの使用可能な空き容量に関する情報を取得する場合に使用します。 |
|
この動的管理ビューは、OS バージョンや言語 ID など、Windows オペレーティング システムのバージョン情報を示す 1 つの行を返します。 |
|
sys.dm_server_memory_dumps (Transact-SQL) |
これらの動的管理ビューは、ホスト サーバーにインストールされた SQL Server、フルテキスト、および SQL Server エージェントのサービスに関連付けられているプロパティ情報を返します。 これらのビューにも、構成、インストール、およびメモリ ダンプ ファイルの情報が含まれています。 |