Microsoft Developing SQL Databases (070-762日本語版) (070-762日本語) Free Practice Test
Question 1
データベーステーブルが2つあります。 表1はパーティション表であり、表2は非パーティション表です。
ユーザーは、クエリが完了するまでに長い時間がかかると報告しています。 Microsoft SQL Serverプロファイラを使って、クエリを監視します。 Table 1とTable 2のロックのエスカレーションを観察します。
Table1のエスカレーションをパーティションレベルにロックし、Table2のすべてのロックのエスカレーションを防止する必要があります。
各テーブルに対してどのTransact-SQLステートメントを実行する必要がありますか。 回答するには、適切なTransact-SQLステートメントを正しいテーブルにドラッグします。 各コマンドは、1回、複数回、またはまったく使用しないことができます。 コンテンツを表示するには、ペイン間の分割バーをドラッグするか、スクロールする必要があります。

ユーザーは、クエリが完了するまでに長い時間がかかると報告しています。 Microsoft SQL Serverプロファイラを使って、クエリを監視します。 Table 1とTable 2のロックのエスカレーションを観察します。
Table1のエスカレーションをパーティションレベルにロックし、Table2のすべてのロックのエスカレーションを防止する必要があります。
各テーブルに対してどのTransact-SQLステートメントを実行する必要がありますか。 回答するには、適切なTransact-SQLステートメントを正しいテーブルにドラッグします。 各コマンドは、1回、複数回、またはまったく使用しないことができます。 コンテンツを表示するには、ペイン間の分割バーをドラッグするか、スクロールする必要があります。

Correct Answer:

Explanation

Since SQL Server 2008 you can also control how SQL Server performs the Lock Escalation - through the ALTER TABLE statement and the property LOCK_ESCALATION. There are 3 different options available:
Box 1: Table1, Auto
The default option is TABLE, means that SQL Server *always* performs the Lock Escalation to the table level -even when the table is partitioned. If you have your table partitioned, and you want to have a Partition Level Lock Escalation (because you have tested your data access pattern, and you don't cause deadlocks with it), then you can change the option to AUTO. AUTO means that the Lock Escalation is performed to the partition level, if the table is partitioned, and otherwise to the table level.
Box 2: Table 2, DISABLE
With the option DISABLE you can completely disable the Lock Escalation for that specific table.
For partitioned tables, use the LOCK_ESCALATION option of ALTER TABLE to escalate locks to the HoBT level instead of the table or to disable lock escalation.
References:
http://www.sqlpassion.at/archive/2014/02/25/lock-escalations/
Question 2
注:この質問は、同じシナリオを使用する一連の質問の一部です。 あなたの便宜のために、シナリオは各質問で繰り返されます。 各質問はそれぞれ異なる目標と答えの選択を提示しますが、シナリオの本文はシリーズの各質問でまったく同じです。
次のデータベーステーブルを含むSalesという名前のデータベースがあります。 顧客、注文、および製品
次の図に示すProductsテーブルとOrderテーブル

顧客テーブルは、顧客が最後に注文した日付を格納する列を含みます。
Leadsという名前のテーブルを作成する予定です。 Leadsテーブルには、約2万レコードが含まれると予想されます。
Leadsテーブルのストレージ要件は最小限に抑える必要があります。
3番目の正規形に準拠するようにテーブルデザインを変更し始める必要があります。
各テーブルからどの列を削除する必要がありますか。 答える? 適切な列名を正しい場所にドラッグします。 各列名は、1回、複数回、またはまったく使用しないことができます。 コンテンツを表示するには、ペイン間の分割バーをドラッグするか、スクロールする必要があります。

次のデータベーステーブルを含むSalesという名前のデータベースがあります。 顧客、注文、および製品
次の図に示すProductsテーブルとOrderテーブル

顧客テーブルは、顧客が最後に注文した日付を格納する列を含みます。
Leadsという名前のテーブルを作成する予定です。 Leadsテーブルには、約2万レコードが含まれると予想されます。
Leadsテーブルのストレージ要件は最小限に抑える必要があります。
3番目の正規形に準拠するようにテーブルデザインを変更し始める必要があります。
各テーブルからどの列を削除する必要がありますか。 答える? 適切な列名を正しい場所にドラッグします。 各列名は、1回、複数回、またはまったく使用しないことができます。 コンテンツを表示するには、ペイン間の分割バーをドラッグするか、スクロールする必要があります。

Correct Answer:

Explanation

In the Products table the SupplierName is dependent on the SupplierID, not on the ProductID.
In the Orders table the ProductName is dependent on the ProductID, not on the OrderID.
Note:
A table is in third normal form when the following conditions are met:
* It is in second normal form.
* All non-primary fields are dependent on the primary key.
Second normal form states that it should meet all the rules for First 1Normnal Form and there must be no partial dependencies of any of the columns on the primary key.
First normal form (1NF) sets the very basic rules for an organized database:
* Define the data items required, because they become the columns in a table. Place related data items in a table.
* Ensure that there are no repeating groups of data.
* Ensure that there is a primary key.
References: https://www.tutorialspoint.com/sql/third-normal-form.htm
Question 3
単一のディメンションを持つ非パーティション表があります。テーブル名はdimです。
Products.Projection。
この表は、いくつかの基幹業務アプリケーションによって頻繁に照会されます。データは2つのプロセスによって1日を通して頻繁に更新されます。
ユーザーがdim.Products.Projectionからデータを照会すると、応答が予想より遅いと報告しています。この問題は、多数の行が更新されているときに発生します。
更新によってクエリが遅くなるのを防ぐ必要があります。
あなたは何をするべきか?
Products.Projection。
この表は、いくつかの基幹業務アプリケーションによって頻繁に照会されます。データは2つのプロセスによって1日を通して頻繁に更新されます。
ユーザーがdim.Products.Projectionからデータを照会すると、応答が予想より遅いと報告しています。この問題は、多数の行が更新されているときに発生します。
更新によってクエリが遅くなるのを防ぐ必要があります。
あなたは何をするべきか?
Correct Answer: B
Explanation: Only visible for TestSimulate members. You can sign-up / login (it's free).
Question 4
注:この質問は、同じまたは類似の回答の選択肢を使用する一連の質問の一部です。回答の選択は、シリーズ内の複数の質問に対して正しい場合があります。各質問は、このシリーズの他の質問とは無関係です。
質問に記載されている情報と詳細は、その質問にのみ適用されます。
次の表に示すテーブルを含むDB1という名前のMicrosoft SQL Serverデータベースがあります。

TBL1とTBL2の間に外部キーの関係はありません。
TBL1とTBL2からのデータを使用してデータを返すクエリに必要な時間を最小限に抑える必要があります。
あなたは何をするべきか?
質問に記載されている情報と詳細は、その質問にのみ適用されます。
次の表に示すテーブルを含むDB1という名前のMicrosoft SQL Serverデータベースがあります。

TBL1とTBL2の間に外部キーの関係はありません。
TBL1とTBL2からのデータを使用してデータを返すクエリに必要な時間を最小限に抑える必要があります。
あなたは何をするべきか?
Correct Answer: C
Question 5
データベース環境のパフォーマンスを分析しています。
現在のデータベースで未使用のインデックスをすべて見つける必要があります。
Transact-SQLステートメントをどのように完成させるべきですか? 回答するには、回答領域で適切なTransact-SQLセグメントを選択します。

現在のデータベースで未使用のインデックスをすべて見つける必要があります。
Transact-SQLステートメントをどのように完成させるべきですか? 回答するには、回答領域で適切なTransact-SQLセグメントを選択します。

Correct Answer:

Explanation
Sys.indexes
Sys.dm_db_index_usage_stats
Sys.tables
References: https://basitaalishan.com/2012/06/15/find-unused-indexes-using-sys-dm_db_index_usage_stats/
Question 6
注:この質問は、同じまたは類似の回答の選択肢を使用する一連の質問の一部です。回答の選択は、シリーズ内の複数の質問に対して正しい場合があります。このシリーズの他の質問とは無関係に、それぞれの質問。質問に記載されている情報と詳細は、その質問にのみ適用されます。
あなたは会社のデータベース開発者です。この会社には、複数の物理ディスクを持つサーバーがあります。ディスクはRAIDアレイの一部ではありません。サーバーは3つのMicrosoft SQL Serverインスタンスをホストします。オフピーク時に実行される多くのSQLジョブがあります。
SQL Serverインスタンスをリアルタイムで監視し、スループット、応答時間、および全体的なSQLパフォーマンスを最大化するためにサーバーを最適化する必要があります。
各インスタンスのパフォーマンスが、同じクエリプランとクエリプランに対して一貫していることを確認する必要があります。
あなたは何をするべきか?
あなたは会社のデータベース開発者です。この会社には、複数の物理ディスクを持つサーバーがあります。ディスクはRAIDアレイの一部ではありません。サーバーは3つのMicrosoft SQL Serverインスタンスをホストします。オフピーク時に実行される多くのSQLジョブがあります。
SQL Serverインスタンスをリアルタイムで監視し、スループット、応答時間、および全体的なSQLパフォーマンスを最大化するためにサーバーを最適化する必要があります。
各インスタンスのパフォーマンスが、同じクエリプランとクエリプランに対して一貫していることを確認する必要があります。
あなたは何をするべきか?
Correct Answer: A
Explanation: Only visible for TestSimulate members. You can sign-up / login (it's free).
Question 7
注:この質問は、同じシナリオを提示する一連の質問の一部です。シリーズの各質問には、固有のソリューションが含まれています。ソリューションが指定された目標を満たしているかどうかを判断します。
データベースから削除できるように、使用されていないインデックスを特定する必要があります。
解決策:sys.dm_db_index_physical_stats動的管理ビューを実行します。
ソリューションは目標を達成していますか?
データベースから削除できるように、使用されていないインデックスを特定する必要があります。
解決策:sys.dm_db_index_physical_stats動的管理ビューを実行します。
ソリューションは目標を達成していますか?
Correct Answer: A
Question 8
あなたは、食料品店に農産物やその他の冷蔵品を配送する会社のデータベース開発者です。 モノのインターネット(IoT)デバイスを使用して、配送車両の食品保管温度をキャプチャします。 VehicleTemperaturesという名前のデータベーステーブルに温度データを保存します。 ChillerSensorNumber列には、IoTデバイスの識別子が格納されます。
次の要件を満たすインデックス付きビューを作成する必要があります。
*ディスク上のデータを永続化してI / Oの量を削減
*ChillerSensorNumberアイテムの数を提供します
*要約行のセットのみを作成します
ビュー定義をどのように完成させる必要がありますか? 答えるには、適切なTransact-SQLセグメントを正しい場所にドラッグします。 各Transact-SQLセグメントは、1回、複数回、またはまったく使用できません。 コンテンツを表示するには、ペイン間で分割バットをドラッグするか、スクロールする必要がある場合があります。

次の要件を満たすインデックス付きビューを作成する必要があります。
*ディスク上のデータを永続化してI / Oの量を削減
*ChillerSensorNumberアイテムの数を提供します
*要約行のセットのみを作成します
ビュー定義をどのように完成させる必要がありますか? 答えるには、適切なTransact-SQLセグメントを正しい場所にドラッグします。 各Transact-SQLセグメントは、1回、複数回、またはまったく使用できません。 コンテンツを表示するには、ペイン間で分割バットをドラッグするか、スクロールする必要がある場合があります。

Correct Answer:

Explanation

Box1: WITH SCHEMABINDING
Persists the data on disk to reduce the amount of I/O.
Box 2: COUNT_BIG(ChillerSensorNumber)
Provides the number of ChillerSensorNumber items
The function COUNT_BIG returns the number of items found in a group. COUNT_BIG operates like the COUNT function. These functions differ only in the data types of their return values. COUNT_BIG always returns a bigint data type value. COUNT always returns an int data type value.
Box 3: GROUP BY ChillerSensorNumber
Creates only a set of summary rows
References:
https://docs.microsoft.com/en-us/sql/t-sql/functions/count-big-transact-sql
Question 9
サーバーバージョンV12を使用するMyDbという名前のMicrosoft Azure SQL Databaseがあります。
Query Performance Insightを使用してパフォーマンスの問題をトラブルシューティングすることを計画しています。 データベースクエリストアが有効になっていません。
データベースクエリストアを有効にして、データベースに関する次の要件を満たす必要があります。
- 統計は15分ごとに集計する必要があります。
- クエリストアは、1,024メガバイト(MB)以下のストレージを使用する必要があります。
- クエリ情報は少なくとも15日間保持する必要があります。
- クエリはリソース消費量に基づいて取得する必要があります。
SQL Server Managements Studioを使用してデータベースに接続します。
Transact-SQLステートメントをどのように完成させるべきですか? 回答するには、適切なTransact-SQLセグメントを正しい場所にドラッグします。 各Transact-SQLセグメントは、1回、複数回、またはまったく使用しないことができます。 コンテンツを表示するには、ペイン間の分割バーをドラッグするか、スクロールする必要があります。
注:回答の選択肢の複数の組み合わせが正しいです。 あなたが選択した正しい組み合わせのいずれかのためのクレジットを受け取ります。 それぞれ正しい選択は1ポイントの価値があります。

Query Performance Insightを使用してパフォーマンスの問題をトラブルシューティングすることを計画しています。 データベースクエリストアが有効になっていません。
データベースクエリストアを有効にして、データベースに関する次の要件を満たす必要があります。
- 統計は15分ごとに集計する必要があります。
- クエリストアは、1,024メガバイト(MB)以下のストレージを使用する必要があります。
- クエリ情報は少なくとも15日間保持する必要があります。
- クエリはリソース消費量に基づいて取得する必要があります。
SQL Server Managements Studioを使用してデータベースに接続します。
Transact-SQLステートメントをどのように完成させるべきですか? 回答するには、適切なTransact-SQLセグメントを正しい場所にドラッグします。 各Transact-SQLセグメントは、1回、複数回、またはまったく使用しないことができます。 コンテンツを表示するには、ペイン間の分割バーをドラッグするか、スクロールする必要があります。
注:回答の選択肢の複数の組み合わせが正しいです。 あなたが選択した正しい組み合わせのいずれかのためのクレジットを受け取ります。 それぞれ正しい選択は1ポイントの価値があります。

Correct Answer:

Explanation

or

Both answers are correct.
References: https://msdn.microsoft.com/en-us/library/mt604821.aspx
Question 10
バックグラウンド
Employeeという名前のテーブルを含むHR1という名前のデータベースがあります。
定期的に変化する合計を含む、読み取り専用の履歴レポートがいくつかあります。 レポートは複数のクエリを使用して給与計算費用を見積もります。 クエリは同時に実行されます。 ユーザーは、給与見積もりレポートが常に実行されるとは限らないと報告しています。 データベースを監視して、レポートの実行を妨げる問題を特定する必要があります。
他のアプリケーションをサポートするデータベースサーバーにアプリケーションを配置することを計画しています。 データベースに必要なストレージの量を最小限に抑える必要があります。
従業員テーブル
次のTransact-SQLステートメントを使用して、Employeeテーブルを作成、設定、設定します。

応用
Employeesテーブルを更新するアプリケーションがあります。 アプリケーションは、次のストアドプロシージャを同時に非同期に呼び出します。
- UspA:このストアード・プロシージャーはEmployeeStatus列のみを更新します。
- UspB:このストアドプロシージャは、EmployeePayRate列のみを更新します。
アプリケーションはビューを使用してデータへのアクセスを制御します。 ビューは以下の要件を満たす必要があります。
- ビューがアクセスするテーブル内のすべての列へのユーザーアクセスを許可します。 - ビューから返される行のみに更新を制限します。
示す

ユーザーは、vwEmployeeビューを使用してEmployeeテーブルのデータのみを変更できなければなりません。 ユーザーがカタログビューでビュー定義を表示できないようにする必要があります。
vwEmployeeを作成するときに使用するビュー属性を識別する必要があります。
以下の表で、使用する必要がある属性を識別してください。
注:各列で1つだけ選択してください。

Employeeという名前のテーブルを含むHR1という名前のデータベースがあります。
定期的に変化する合計を含む、読み取り専用の履歴レポートがいくつかあります。 レポートは複数のクエリを使用して給与計算費用を見積もります。 クエリは同時に実行されます。 ユーザーは、給与見積もりレポートが常に実行されるとは限らないと報告しています。 データベースを監視して、レポートの実行を妨げる問題を特定する必要があります。
他のアプリケーションをサポートするデータベースサーバーにアプリケーションを配置することを計画しています。 データベースに必要なストレージの量を最小限に抑える必要があります。
従業員テーブル
次のTransact-SQLステートメントを使用して、Employeeテーブルを作成、設定、設定します。

応用
Employeesテーブルを更新するアプリケーションがあります。 アプリケーションは、次のストアドプロシージャを同時に非同期に呼び出します。
- UspA:このストアード・プロシージャーはEmployeeStatus列のみを更新します。
- UspB:このストアドプロシージャは、EmployeePayRate列のみを更新します。
アプリケーションはビューを使用してデータへのアクセスを制御します。 ビューは以下の要件を満たす必要があります。
- ビューがアクセスするテーブル内のすべての列へのユーザーアクセスを許可します。 - ビューから返される行のみに更新を制限します。
示す

ユーザーは、vwEmployeeビューを使用してEmployeeテーブルのデータのみを変更できなければなりません。 ユーザーがカタログビューでビュー定義を表示できないようにする必要があります。
vwEmployeeを作成するときに使用するビュー属性を識別する必要があります。
以下の表で、使用する必要がある属性を識別してください。
注:各列で1つだけ選択してください。

Correct Answer:

Explanation

References: https://msdn.microsoft.com/en-us/library/ms187956.aspx
Question 11
他のストアドプロシージャおよびアプリケーションによって呼び出される次のストアドプロシージャがあります。

次の要件を満たすようにストアドプロシージャを変更する必要があります。
* 常に呼び出し元に値を返します。
* @StatusがNULLの場合は0を返します。
* 呼び出し側は@Statusを変数として使用できなければなりません。
どの2つのアクションを実行する必要がありますか?それぞれの正しい答えは解決策の一部を表しています。
注:それぞれ正しい選択は1ポイントの価値があります。

次の要件を満たすようにストアドプロシージャを変更する必要があります。
* 常に呼び出し元に値を返します。
* @StatusがNULLの場合は0を返します。
* 呼び出し側は@Statusを変数として使用できなければなりません。
どの2つのアクションを実行する必要がありますか?それぞれの正しい答えは解決策の一部を表しています。
注:それぞれ正しい選択は1ポイントの価値があります。
Correct Answer: A,E
Explanation: Only visible for TestSimulate members. You can sign-up / login (it's free).
Question 12
Microsoft Azure SQLデータベースを監視しています。
データベースで高いCPU消費が発生しています。
どのクエリが最も累積的なCPUを使用しているかを判断する必要があります。
Transact-SQLステートメントをどのように完成させるべきですか? 回答するには、適切なTransact-SQLセグメントを正しい場所にドラッグします。 各Transact-SQLセグメントは、1回、複数回、またはまったく使用しないことができます。
コンテンツを表示するには、ペイン間の分割バーをドラッグするか、スクロールする必要があります。

データベースで高いCPU消費が発生しています。
どのクエリが最も累積的なCPUを使用しているかを判断する必要があります。
Transact-SQLステートメントをどのように完成させるべきですか? 回答するには、適切なTransact-SQLセグメントを正しい場所にドラッグします。 各Transact-SQLセグメントは、1回、複数回、またはまったく使用しないことができます。
コンテンツを表示するには、ペイン間の分割バーをドラッグするか、スクロールする必要があります。

Correct Answer:

Explanation

Box 1: sys.dm_exec_query_stats
sys.dm_exec_query_stats returns aggregate performance statistics for cached query plans in SQL Server.
Box 2: highest_cpu_queries.total_worker_time DESC
Sort on total_worker_time column
Example: The following example returns information about the top five queries ranked by average CPU time.
This example aggregates the queries according to their query hash so that logically equivalent queries are grouped by their cumulative resource consumption.
USE AdventureWorks2012;
GO
SELECT TOP 5 query_stats.query_hash AS "Query Hash",
SUM(query_stats.total_worker_time) / SUM(query_stats.execution_count) AS "Avg CPU Time", MIN(query_stats.statement_text) AS "Statement Text" FROM (SELECT QS.*, SUBSTRING(ST.text, (QS.statement_start_offset/2) + 1, ((CASE statement_end_offset WHEN -1 THEN DATALENGTH(ST.text) ELSE QS.statement_end_offset END
- QS.statement_start_offset)/2) + 1) AS statement_text
FROM sys.dm_exec_query_stats AS QS
CROSS APPLY sys.dm_exec_sql_text(QS.sql_handle)as ST) as query_stats
GROUP BY query_stats.query_hash
ORDER BY 2 DESC;
References: https://msdn.microsoft.com/en-us/library/ms189741.aspx