070-762日本語試験無料問題集「Microsoft Developing SQL Databases (070-762日本語版) 認定」

データベースユーザーは、SELECTステートメントが結果を返すのに時間がかかると報告しています。 次のTransact-SQLステートメントを実行します。

上記の表のすべての列を含む1つの非クラスター化カバーインデックスを作成する必要があります。 インデックスキーのサイズを最小化する必要があります。
どのTransact-SQLステートメントを実行する必要がありますか?

解説: (GoShiken メンバーにのみ表示されます)
注:この質問は、同じシナリオを提示する一連の質問の一部です。 シリーズの各質問には、独自のソリューションが含まれています。 ソリューションが規定の目標を満たしているかどうかを判断します。
Employeesという名前のテーブルを含むデータベースがあります。 このテーブルには、会社の従業員に関する情報が格納されます。
次のビジネスルールを実装および実施する必要があります。
* [給与]列で受け入れられる値を制限します。
* 給与が15,000ドル未満、300,000ドルを超えないようにします。
* 論理式を使用して有効な値を決定します。
* DELETEステートメントの実行時にデータの整合性を検証しないでください。
解決策:テーブルに外部キーを実装します。
ソリューションは目標を達成していますか?

解説: (GoShiken メンバーにのみ表示されます)
あなたは小売店を運営する会社のためのソリューションを設計しています。各店舗には、販売取引を追跡するデータベースがあります。本社のデータベースにサマリーテーブルを作成します。このテーブルを使用して、各店舗で毎日販売されている各商品の数量を記録します。管理者はこのデータを使用して、製品の発注レベルを特定します。
毎晩、店舗は販売データを本社に送信する必要があります。データは、storeIDであるProductionを含むサマリーテーブルに挿入する必要があります。 Qtysold
Totprodsales、およびDatesold列。
サマリーテーブル内の重複行を防ぐ必要があります。各行は、製品を販売した店舗と特定の日にその店舗で販売された合計金額を一意に識別する必要があります。
あなたのソリューションに何を含めるべきですか?

注:この質問は、同じシナリオを提示する一連の質問の一部です。シリーズの各質問には固有の解決策が含まれています。解決策が記載されている目標を満たしているかどうかを判断します。
クラスタ化インデックスと非クラスタ化インデックスを持つテーブルがあります。インデックスはテーブルとは異なる列を使用します。ノンクラスタードインデックスを使用するQuery1という名前のクエリがあります。
ユーザーは、Query1が結果を報告するのに長い時間がかかることを報告します。 Query1を実行し、インデックスシーク操作について次の統計を確認します。

パフォーマンスの問題を解決する必要があります。
解決方法:ノンクラスタードインデックスを削除します。
解決策は目標を満たしていますか?

解説: (GoShiken メンバーにのみ表示されます)
注:この質問は、同じまたは類似の回答の選択肢を使用する一連の質問の一部です。回答の選択は、シリーズ内の複数の質問に対して正しい場合があります。各質問は、このシリーズの他の質問とは無関係です。質問に記載されている情報と詳細は、その質問にのみ適用されます。
あなたは会社のデータベース開発者です。この会社には、複数の物理ディスクを持つサーバーがあります。ディスクはRAIDアレイの一部ではありません。サーバーは3つのMicrosoft SQL Serverインスタンスをホストします。オフピーク時に実行される多くのSQLジョブがあります。
SQL Serverインスタンスをリアルタイムで監視し、スループット、応答時間、および全体的なSQLパフォーマンスを最大化するためにサーバーを最適化する必要があります。
特定のクエリやバッチに関するエラーなど、実行されたスレッドの遅延を調べる必要があります。

InvoiceとInvoiceDetailsという名前のテーブルでデータベースを管理します。 各請求書には複数のレコードがあります。
ユーザーは.NET Webアプリケーションを使用してInvoiceDetailsテーブルを更新します。 アプリケーションは両方のテーブルからレコードを取得し、インライン更新ステートメントを実行してテーブルを更新します。
アプリケーション内のレコードを更新すると、ユーザーのパフォーマンスが低下します。 ソリューションは以下の要件を満たす必要があります。
* ストアドプロシージャを使用する必要があります。
* インライン更新ステートメントを使用してはいけません
* テーブル値パラメータを使用する必要があります。
* すべてのレコードを更新するためにストアドプロシージャを呼び出す必要があります。
あなたはパフォーマンスを最適化する必要があります。
どの3つのアクションを順番に実行しますか? 答えるには、適切なアクションをアクションのリストから回答領域に移動して、正しい順序で並べます。
正解:

Explanation

Box 1: Create a user-defined table type...
Table-valued parameters are declared by using user-defined table types. You can use table-valued parameters to send multiple rows of data to a Transact-SQL statement or a routine, such as a stored procedure or function, without creating a temporary table or many parameters.
Box 2: ..read-only input parameter.
Table-valued parameters must be passed as input READONLY parameters to Transact-SQL routines.
Box 3:
Example
The following example uses Transact-SQL and shows you how to create a table-valued parameter type, declare a variable to reference it, fill the parameter list, and then pass the values to a stored procedure.
USE AdventureWorks2012;
/* Create a table type. */
CREATE TYPE LocationTableType AS TABLE
( LocationName VARCHAR(50)
, CostRate INT );
GO
/* Create a procedure to receive data for the table-valued parameter. */ CREATE PROCEDURE dbo. usp_InsertProductionLocation
@TVP LocationTableType READONLY
Etc.
/* Declare a variable that references the type. */
DECLARE @LocationTVP AS LocationTableType;
/* Add data to the table variable. */
INSERT INTO @LocationTVP (LocationName, CostRate)
SELECT Name, 0.00
FROM AdventureWorks2012.Person.StateProvince;
/* Pass the table variable data to a stored procedure. */
EXEC usp_InsertProductionLocation @LocationTVP;
GO
References:
https://docs.microsoft.com/en-us/sql/relational-databases/tables/use-table-valued-parameters-database-engine?vie
注:この質問は、同じシナリオを使用する一連の質問の一部です。 あなたの便宜のために、シナリオは各質問で繰り返されます。 各質問はそれぞれ異なる目標と答えの選択を提示しますが、シナリオの本文はこのシリーズの各質問でまったく同じです。
Salesという名前のデータベースに、Customer、Order、およびProductsの各データベーステーブルが含まれています。
次の図に、ProductsテーブルとOrderテーブルを示します。

顧客テーブルは、顧客が最後に注文した注文のデータを格納する列を含みます。
Leadsという名前のテーブルを作成する予定です。 Leadsテーブルには、約2万レコードが含まれると予想されます。
Leadsテーブルのストレージ要件は最小限に抑える必要があります。
Productsテーブルから製造中止製品を削除するストアドプロシージャを実装する必要があります。 以下の要件を確認してください。
* 未決注文に製造中止製品が含まれる場合、その製品のレコードを削除してはいけません。
* 商品レコードを削除できない場合、ストアドプロシージャはカスタムエラーメッセージを返す必要があります。 メッセージは未処理注文のOrderIDを識別する必要があります。
あなたは何をするべきか? 回答するには、回答領域で適切なTransact-SQLセグメントを選択します。
正解:

Explanation
Try/Catch*
RAISERROR
https://docs.microsoft.com/en-us/sql/t-sql/language-elements/raiserror-transact-sql?view=sql-server-2017 References: https://technet.microsoft.com/en-us/library/ms179296(v=sql.105).aspx
注:この質問は、同じシナリオを使用する一連の質問の一部です。 あなたの便宜のために、シナリオは各質問で繰り返されます。 各質問はそれぞれ異なる目標と答えの選択を提示しますが、シナリオの本文はこのシリーズの各質問でまったく同じです。
次のテーブルを含むDB1という名前のデータベースがあります。Customer、CustomerToAccountBridge、およびCustomerDetails。 3つのテーブルはSalesスキーマの一部です。 データベースには、Websiteという名前のスキーマも含まれています。 次のTransact-SQLステートメントを実行して、Customerテーブルを作成します。

CustomerStatus列の値は、アクティブな顧客の場合と同じです。 Account1Status列とAccount2Status列の値は、アクティブなアカウントの場合と同じです。 次の表は、Customerテーブルから選択された列と行を示しています。

Website.Customerという名前のビューとSales.FessionalCustomersという名前のビューを作成する予定です。
Website.Customerは、次の要件を満たす必要があります。
* アクティブな顧客のCustomerName列とCustomerNumber列へのユーザーアクセスを許可します。
* ビューが参照する列への変更を許可します。 変更されたデータはビューを通して見える必要があります。
* ビューがMicrosoft SQL Serverの複製の一部として公開されないようにする。
Sales.F Female.Customersは次の要件を満たす必要があります。
* ユーザーに、CustomerName、Address、City、State、PostalCodeの各列へのアクセスを許可します。
* ビューが参照する列への変更を禁止します。
* ビューフィルタに準拠しているビューによる更新のみを許可します。
次のストアドプロシージャがあります。spDeleteCustAcctRelationshipおよびspUpdateCustomerSummary。
spUpdateCustomerSummaryストアドプロシージャは、次のTransacr-SQLステートメントを実行して作成しました。

顧客アカウントの概要を変更するには、spUpdateCustomerSummaryストアドプロシージャを実行します。
他のストアドプロシージャは、CustomerToAccountBridgeテーブルからレコードを削除するために、spDeleteCustAcctRelationshipを呼び出します。
次の要件を満たすために、Customerテーブルのデザインを更新する必要があります。
* 各顧客につき最大50のアカウントを保存できなければなりません。
* ユーザーはアカウント番号を入力して顧客情報を取得できる必要があります。
* ユーザーは顧客情報を入力してアカウント番号を取得できる必要があります。
ソリューションを開発するためにどの3つのTransact_SQLセグメントを使用する必要がありますか? 回答するには、適切なコードブロックをコードブロックのリストから回答領域に移動し、正しい順序で並べます。
正解:

Explanation

Box 1: Clustered Index
With the same size of keys, the nonclustered indexes need more space than clustered indexes.
Box 2, Box 3:
Include the CustomerStatus column in the index, and only when CustomerStatusnot equal to 1 (the active customers).
References:
http://www.sqlserverlogexplorer.com/overview-of-cluster-and-noncluster-index/
ディスクベースのテーブルとメモリ最適化済みのテーブルの両方を含むデータベースがあります。
あなたは2つのモジュールを作成する必要があります。 モジュールは、次の表に記載されている要件を満たす必要があります。

各モジュールにどのプログラミングオブジェクトを使うべきですか? 回答するには、回答領域で適切なオブジェクトタイプを選択します。
正解:

Explanation

Module 1: Interpreted stored procedure
An interpreted stored procedure can access both disk-based and memory-optimized tables.
Module 2: Natively compiled stored procedure
Natively compiled stored procedures are Transact-SQL stored procedures compiled to native code that access memory-optimized tables. Natively compiled stored procedures allow for efficient execution of the queries and business logic in the stored procedure.
References:
https://docs.microsoft.com/en-us/sql/relational-databases/in-memory-oltp/natively-compiled-stored-procedures?v
データベース環境のパフォーマンスを評価しています。
不必要なロックを避け、更新内容が失われないようにする必要があります。
データシナリオごとにトランザクション分離レベルを選択する必要があります。
各シナリオでどの分離レベルを使用する必要がありますか? 答えるには、適切な分離レベルを正しいシナリオにドラッグします。 各分離は、1回、複数回、またはまったく使用しないことができます。 コンテンツを表示するには、ペイン間の分割バーをドラッグするか、スクロールする必要があります。
正解:

Explanation

Box 1: Readcommitted
Read Committed: A transaction T1 executing under this isolation level can only access committed data.
Pros: Good compromise between concurrency and consistency.
Cons: Locking and blocking. The data can change when accessed multiple times within the same transaction.
Box 2: Read Uncommitted
Read Uncommitted (aka dirty read): A transaction T1 executing under this isolation level can access data changed by concurrent transaction(s).
Pros: No read locks needed to read data (i.e. no reader/writer blocking). Note, T1 still takes transaction duration locks for any data modified.
Cons: Data is not guaranteed to be transactionally consistent.
Box 3: Serializable
Serializable: A transaction T1 executing under this isolation level provides the highest data consistency including elimination of phantoms but at the cost of reduced concurrency. It prevents phantoms by taking a range lock or table level lock if range lock can't be acquired (i.e. no index on the predicate column) for the duration of the transaction.
Pros: Full data consistency including phantom protection.
Cons: Locking and blocking. The S locks are held for the duration of the transaction that can lower the concurrency.
References:
https://blogs.msdn.microsoft.com/sqlcat/2011/02/20/concurrency-series-basics-of-transaction-isolation-levels/