サーバーバージョン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ポイントの価値があります。


Explanation

or

Both answers are correct.
References: https://msdn.microsoft.com/en-us/library/mt604821.aspx
注:この質問は、同じまたは類似の回答の選択肢を使用する一連の質問の一部です。回答の選択は、シリーズ内の複数の質問に対して正しい場合があります。各質問はシリーズの他の質問から独立しています。質問に記載されている情報と詳細は、その質問にのみ適用されます。
あなたは顧客の売上を追跡するための開発と応用をしています。
次の要件を満たすオブジェクトを作成する必要があります。
- Microsoft.NET Frameworkで作成され、Microsoft SQL Serverにアップロードされたアセンブリにパッケージされたマネージコードを実行します。
- トランザクションを書いて実行し、将来が発生した場合はロールバックします。
- テーブルが作成または変更されたときに実行します。
何を作るべきですか?
着信データを整理して統合するETLプロセスを開発しています。 ETLプロセスは、参照テーブルを使用して、ターゲットテーブルでクレンジングする必要があるデータを識別します。テーブルをホストするサーバーは毎日再起動します。
クエリの実行にかかる時間と、参照テーブルの設定にかかる時間を最小限に抑える必要があります。
あなたは何をするべきか?
Microsoft Azure SQLデータベースを監視しています。
データベースで高いCPU消費が発生しています。
どのクエリが最も累積的なCPUを使用しているかを判断する必要があります。
Transact-SQLステートメントをどのように完成させるべきですか? 回答するには、適切なTransact-SQLセグメントを正しい場所にドラッグします。 各Transact-SQLセグメントは、1回、複数回、またはまったく使用しないことができます。
コンテンツを表示するには、ペイン間の分割バーをドラッグするか、スクロールする必要があります。


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
注:この質問は、同じまたは類似の回答の選択肢を使用する一連の質問の一部です。回答の選択は、シリーズ内の複数の質問に対して正しい場合があります。各質問は、このシリーズの他の質問とは無関係です。
質問に記載されている情報と詳細は、その質問にのみ適用されます。
次の表に示すテーブルを含むDB1という名前のMicrosoft SQL Serverデータベースがあります。

TBL1とTBL2の間に外部キーの関係はありません。
TBL1とTBL2からのデータを使用してデータを返すクエリに必要な時間を最小限に抑える必要があります。
あなたは何をするべきか?
注:この質問は、同じシナリオを提示する一連の質問の一部です。シリーズの各質問には固有の解決策が含まれています。解決策が記載されている目標を満たしているかどうかを判断します。
Employeesという名前のテーブルを含むデータベースがあります。このテーブルには、会社の従業員に関する情報が格納されています。
Employeesテーブルには、次の監査規則を実装する必要があります。
- データに加えられた変更をEmployeesテーブルに記録します。
- 監査業務によって記録されたデータをカスタマイズする。
解決方法:Employeesテーブルにチェック制約を実装します。
解決策は目標を満たしていますか?
次の要件を満たすストアドプロシージャを開発しています。
* 入力として整数を受け入れ、その値をテーブルに挿入します。
* 新しいトランザクションが外部トランザクションの一部としてコミットされるようにします。
* プロシージャ内のトランザクションが失敗した場合、既存のトランザクションを保持します。
* プロシージャ内のトランザクションが失敗した場合は、トランザクションをロールバックします。
どのように手順を完了するべきですか? 回答するには、回答領域で適切なオプションを選択します。
注:それぞれ正しい選択は1ポイントの価値があります。





年ごとにトランザクションパーティションを格納するテーブルがあります。
ユーザーがテーブルにアクセスすると、パフォーマンスの問題が発生することがあります。 レコードが更新されると、テーブルは排他的に配置されます。
テーブルに対する排他ロックを防ぎ、データの整合性を維持する必要があります。
あなたは何をするべきか?
複数のテーブルを持つデータベースがあります。 ビューを使用して、テーブルにデータを挿入する必要があります。
次の2つのステートメントのうち、更新可能なビューを最もよく説明しているのはどれですか?
注:それぞれの正しい選択には1ポイントの価値があります。
注:この質問は、同じシナリオを提示する一連の質問の一部です。シリーズの各質問には固有の解決策が含まれています。解決策が記載されている目標を満たしているかどうかを判断します。
sales .ordersという名前のテーブルを含むDB1という名前のデータベースがあります。 User1という名前のユーザーに、Salesスキーマに対する選択権限を付与します。
Transact-SQLステートメントでスキーマ名を指定しなくても、User1がsales .orders表からデータを選択できるようにする必要があります。
解決方法:User1のデフォルトデータベースをDB1に設定します。
解決策は目標を満たしていますか?
注:この質問は、同じシナリオを使用する一連の質問の一部です。 あなたの便宜のために、シナリオは各質問で繰り返されます。 各質問はそれぞれ異なる目標と答えの選択を提示しますが、シナリオの本文はこのシリーズの各質問でまったく同じです。
BlogCategory、BlogEntry、ProductReview、Product、およびSalesPersonの各テーブルを含むデータベースがあります。 テーブルは、次のTransact SQLステートメントを使用して作成されました。

以下の要件を満たすようにProductReviewテーブルを変更する必要があります。
* テーブルはProductテーブルのProductID列を参照する必要があります
* ProductReviewテーブル内の既存のレコードはProductテーブルで検証してはいけません。
* レコードがProductReviewテーブルによって参照されている場合は、Productテーブルのレコードを削除してはいけません。
* Productテーブル内のレコードへの変更はProductReviewテーブルに伝播する必要があります。
次のデータベーステーブルもあります:Order、ProductTypes、およびSalesHistory、これらのテーブルのtransaction-SQLステートメントは使用できません。
以下の要件を満たすようにOrdersテーブルを変更する必要があります。
* テーブルにINSERT権限を付与せずにテーブルに新しい行を作成します。
* 注文が完了したかどうかを注文を出した販売員に通知してください。
SalesHistoryテーブルに次の制約を追加する必要があります。
* フィールドをレコードIDとして使用できるようにするSaleID列の制約
* ProductTypesテーブルのProduct列を参照するためにProductID列を使用する定数
* 列にNULL値を持つ1行を許可するCategoryID列に対する制約
* SalesPrice列を4人以上の財務部門ユーザーに制限する制約は、SalesYTD列の値が特定のしきい値を超える営業担当者のSalesHistoryテーブルからデータを取得できる必要があります。
SalesOrderという名前のメモリ最適化テーブルを作成する予定です。 テーブルは以下の要件を満たす必要があります。
* テーブルには1000万のユニークな受注がなければなりません。
* テーブルは、入出力操作を最小限に抑えるためにチェックポイントを使用しなければならず、トランザクションロギングを使用してはなりません。
* データ損失は許容範囲内です。
完全等価演算でWhere句を使用するSalesOrderテーブルに対するクエリのパフォーマンスは最適化する必要があります。
Transact-SQLステートメントをどのように完成させるべきですか? 回答するには、回答領域で適切なTransact-SQLセグメントを選択します。



Explanation

From question: Finance department users must be able to retrieve data from the SalesHistory table for sales persons where the value of the SalesYTD column is above a certain threshold.
CREATE VIEW (Transact-SQL) creates a virtual table whose contents (columns and rows) are defined by a query. Use this statement to create a view of the data in one or more tables in the database.
SCHEMABINDING binds the view to the schema of the underlying table or tables. When SCHEMABINDING is specified, the base table or tables cannot be modified in a way that would affect the view definition.
References: https://msdn.microsoft.com/en-us/library/ms187956.aspx
注:この質問は、同じ回答の選択肢を使用する一連の質問の一部です。回答の選択は、シリーズ上の複数の質問に対して正しい場合があります。各質問は、このシリーズの他の質問とは無関係です。質問に記載されている情報と詳細は、その質問にのみ適用されます。
メモリ最適化ファイルグループが定義されていないOLTPデータベースで作業します。
tblTransactionという名前のテーブルがあり、このテーブルにはディスク上に保持され、次の表に示す情報が含まれています。

ユーザーは、次のクエリが完了するまでに時間がかかると報告しています。

次のようなインデックスを作成する必要があります。
クエリのパフォーマンスを向上させます
- 既存のインデックスに影響を与えない
テーブルの格納サイズ(インデックスページを含む)を最小化します。
あなたは何をするべきか?
次の列を含むPerson.Addressという名前のテーブルがあります。
* 住所ID
* 住所1
* 住所2
* 市
* StateProvinceID
* PostakCode
* RowGuid
* 修正日
次の組み込み列を使用するIX_Address_PostalCodeという名前のPostalCodeにノンクラスタードインデックスを作成する必要があります。
* 住所1
* 住所2
* 市
* StateProvinceID
Transact-SQLステートメントをどのように完成させるべきですか? 回答するには、回答の中から適切なTransact_SQLセグメントを選択します。


Explanation

Box 1: INDEX
Box 2: ON
Box 3: INCLUDE
INCLUDE (column [ ,... n ] ) specifies the non-key columns to be added to the leaf level of the nonclustered index. The nonclustered index can be unique or non-unique.
References:
https://docs.microsoft.com/en-us/sql/t-sql/statements/create-index-transact-sql?view=sql-server-2017
Transact-SQLステートメントのコードレビューを実行しています。
各文の制約はどのような動作をしますか。 回答するには、回答領域で適切なオプションを選択します。
注:それぞれ正しい選択は1ポイントの価値があります。


