MCSA Querying Microsoft SQL Server 2012/2014 v1.0 (70-461)

Page:    1 / 17   
Total 254 questions

You develop a Microsoft SQL Server database. You create a view that performs the following tasks:
-> Joins 8 tables that contain up to 500,000 records each.
-> Performs aggregations on 5 fields.
The view is frequently used in several reports.
You need to improve the performance of the reports.
What should you do?

  • A. Convert the view into a table-valued function.
  • B. Convert the view into a Common Table Expression (CTE).
  • C. Convert the view into an indexed view.
  • D. Convert the view into a stored procedure and retrieve the result from the stored procedure into a temporary table.


Answer : C

Reference:
http://msdn.microsoft.com/en-us/library/ms191432.aspx

You are a database developer of a Microsoft SQL Server database.
The database contains a table named Customers that has the following definition:


You are designing a new table named Orders that has the following definition:

You need to ensure that the CustomerId column in the Orders table contains only values that exist in the CustomerId column of the Customer table.
Which Transact-SQL statement should you use?

  • A. A. ALTER TABLE Orders ADD CONSTRAINTFK_Orders_CustomerID FOREIGN KEY (CustomerId) REFERENCES Customer (CustomerId)
  • B. ALTER TABLE Customer ADD CONSTRAINT FK_Customer_CustomerID FOREIGN KEY {CustomerID) REFERENCES Orders (CustomerId)
  • C. ALTER TABLE Orders ADD CONSTRAINT CK_Orders_CustomerID CHECK (CustomerId IN (SELECT CustomerId FROM Customer))
  • D. ALTER TABLE Customer ADD OrderId INT NOT NULL; ALTER TABLE Customer ADD CONSTRAINT FK_Customer_OrderID FOREIGN KEY (OrderID) REFERENCES Orders(OrderID);
  • E. ALTER TABLE Orders ADD CONSTRAINT PK_Orders CustomerId PRIMARY KEY (CustomerID)


Answer : A

Reference:
http://msdn.microsoft.com/en-us/library/ms189049.aspx

You have three tables that contain data for dentists, psychiatrists, and physicians. You create a view that is used to look up their email addresses and phone numbers.
The view has the following definition:


You need to ensure that users can update only the phone numbers and email addresses by using this view.
What should you do?

  • A. Alter the view. Use the EXPAND VIEWS query hint along with each SELECT statement.
  • B. Create an INSTEAD OF UPDATE trigger on the view.
  • C. Drop the view. Re-create the view by using the SCHEMABINDING clause, and then create an index on the view.
  • D. Create an AFTER UPDATE trigger on the view.


Answer : B

Reference:
http://msdn.microsoft.com/en-us/library/ms187956.aspx

You develop a Microsoft SQL Server database. You create a view from the Orders and OrderDetails tables by using the following definition.


You need to ensure that users are able to modify data by using the view.
What should you do?

  • A. Create an AFTER trigger on the view.
  • B. Modify the view to use the WITH VIEW_METADATA clause.
  • C. Create an INSTEAD OF trigger on the view.
  • D. Modify the view to an indexed view.


Answer : C

Reference:
http://msdn.microsoft.com/en-us/library/ms187956.aspx

Your database contains tables named Products and ProductsPriceLog. The Products table contains columns named ProductCode and Price. The
ProductsPriceLog table contains columns named ProductCode, OldPrice, and NewPrice.
The ProductsPriceLog table stores the previous price in the OldPrice column and the new price in the NewPrice column.
You need to increase the values in the Price column of all products in the Products table by 5 percent. You also need to log the changes to the ProductsPriceLog table.
Which Transact-SQL query should you run?

  • A. UPDATE Products SET Price = Price * 1.05 OUTPUT inserted.ProductCode, deleted.Price, inserted.Price INTO ProductsPriceLog(ProductCode, OldPrice, NewPrice)
  • B. UPDATE Products SET Price = Price * 1.05 OUTPUT inserted.ProductCode, inserted.Price, deleted.Price INTO ProductsPriceLog(ProductCode, OldPrice, NewPrice)
  • C. UPDATE Products SET Price = Price * 1.05 OUTPUT inserted.ProductCode, deleted.Price, inserted.Price * 1.05 INTO ProductsPriceLog(ProductCode, OldPrice, NewPrice)
  • D. UPDATE Products SET Price = Price * 1.05 INSERT INTO ProductsPriceLog(ProductCode, OldPrice, NewPrice) SELECT ProductCode, Price, Price * 1.05 FROM Products


Answer : A

Reference:
http://msdn.microsoft.com/en-us/library/ms177564.aspx

You are developing a database application by using Microsoft SQL Server 2012.
An application that uses a database begins to run slowly.
Your investigation shows the root cause is a query against a read-only table that has a clustered index.
The query returns the following six columns:
-> One column in its WHERE clause contained in a non-clustered index
-> Four additional columns
-> One COUNT (*) column based on a grouping of the four additional columns
You need to optimize the statement.
What should you do?

  • A. Add a HASH hint to the query.
  • B. Add a LOOP hint to the query.
  • C. Add a FORCESEEK hint to the query.
  • D. Add an INCLUDE clause to the index.
  • E. Add a FORCESCAN hint to the Attach query.
  • F. Add a columnstore index to cover the query.
  • G. Enable the optimize for ad hoc workloads option.
  • H. Cover the unique clustered index with a columnstore index.
  • I. Include a SET FORCEPLAN ON statement before you run the query.
  • J. Include a SET STATISTICS PROFILE ON statement before you run the query. K. Include a SET STATISTICS SHOWPLAN_XML ON statement before you run the query. L. Include a SET TRANSACTION ISOLATION LEVEL REPEATABLE READ statement before you run the query. M. Include a SET TRANSACTION ISOLATION LEVEL SNAPSHOT statement before you run the query. N. Include a SET TRANSACTION ISOLATION LEVEL SERIALIZABLE statement before you run the query.


Answer : F

Explanation:

You administer a Microsoft SQL Server database named ContosoDb. Tables are defined as shown in the exhibit. (Click the Exhibit button.)


You need to display rows from the Orders table for the Customers row having the CustomerId value set to 1 in the following XML format.

Which Transact-SQL query should you use?

  • A. SELECT OrderId, OrderDate, Amount, Name, Country FROM Orders INNER JOIN Customers ON Orders.CustomerId = Customers.CustomerId WHERE Customers.CustomerId = 1 FOR XML RAW
  • B. SELECT OrderId, OrderDate, Amount, Name, Country FROM Orders INNER JOIN Customers ON Orders.CustomerId = Customers.CustomerId WHERE Customers.CustomerId = 1 FOR XML RAW,ELEMENTS
  • C. SELECT OrderId, OrderDate, Amount, Name, Country FROM Orders INNER JOIN Customers ON Orders.CustomerId = Customers.CustomerId WHERE Customers.CustomerId = 1 FOR XML AUTO
  • D. SELECT OrderId, OrderDate, Amount, Name, Country FROM Orders INNER JOIN Customers ON Orders.CustomerId = Customers.CustomerId WHERE Customers.CustomerId = 1 FOR XML AUTO, ELEMENTS
  • E. SELECT Name, Country, OrderId, OrderDate, Amount FROM Orders INNER JOIN Customers ON Orders.CustomerId = Customers.CustomerId WHERE Customers.CustomerId = 1 FOR XML AUTO
  • F. SELECT Name, Country, OrderId, OrderDate, Amount FROM Orders INNER JOIN Customers ON Orders.CustomerId = Customers.CustomerId WHERE Customers.CustomerId = 1 FOR XML AUTO, ELEMENTS
  • G. SELECT Name AS '@Name', Country AS '@Country', OrderId, OrderDate, Amount FROM Orders INNER JOIN Customers ON Orders.CustomerId = Customers.CustomerId WHERE Customers.CustomerId = 1 FOR XML PATH ('Customers')
  • H. SELECT Name AS 'Customers/Name', Country AS 'Customers/Country', OrderId, OrderDate, Amount FROM Orders INNER JOIN Customers ON Orders.CustomerId = Customers.CustomerId WHERE Customers.CustomerId = 1 FOR XML PATH ('Customers')


Answer : F

Explanation:

You administer a Microsoft SQL Server database named ContosoDb. Tables are defined as shown in the exhibit. (Click the Exhibit button.)


You need to display rows from the Orders table for the Customers row having the CustomerId value set to 1 in the following XML format.

Which Transact-SQL query should you use?

  • A. SELECT OrderId, OrderDate, Amount, Name, Country FROM Orders INNER JOIN Customers ON Orders.CustomerId = Customers.CustomerId WHERE Customers.CustomerId = 1 FOR XML RAW
  • B. SELECT OrderId, OrderDate, Amount, Name, Country FROM Orders INNER JOIN Customers ON Orders.CustomerId = Customers.CustomerId WHERE Customers.CustomerId = 1 FOR XML RAW, ELEMENTS
  • C. SELECT OrderId, OrderDate, Amount, Name, Country FROM Orders INNER JOIN Customers ON Orders.CustomerId = Customers.CustomerId WHERE Customers.CustomerId = 1 FOR XML AUTO
  • D. SELECT OrderId, OrderDate, Amount, Name, Country FROM Orders INNER JOIN Customers ON Orders.CustomerId "" Customers.CustomerId WHERE Customers.CustomerId = 1 FOR XML AUTO, ELEMENTS
  • E. SELECT Name, Country, OrderId, OrderDate, Amount FROMOrders INNER JOIN Customers ON Orders.CustomerId = Customers.CustomerId WHERE Customers.CustomerId = 1 FOR XML AUTO
  • F. SELECT Name, Country, OrderId, OrderDate, Amount FROM Orders INNER JOIN Customers ON Orders.CustomerId = Customers.CustomerId WHERE Customers.CustomerId = 1 FOR XML AUTO, ELEMENTS
  • G. SELECT Name AS '@Name', Country AS '@Country', OrderId, OrderDate, Amount FROMOrders INNER JOIN Customers ON Orders.CustomerId = Customers.CustomerId WHERE Customers.CustomerId = 1 FOR XML PATH ('Customers')
  • H. SELECT Name AS 'Customers/Name', Country AS 'Customers/Country', OrderId, OrderDate, Amount FROM Orders INNER JOIN Customers ON Orders.CustomerId = Customers.CustomerId WHERE Customers.CustomerId = 1 FOR XML PATH ('Customers')


Answer : G

Explanation:

You use Microsoft SQL Server to write code for a transaction that contains several statements.
There is high contention between readers and writers on several tables used by your transaction.
You need to minimize the use of the tempdb space. You also need to prevent reading queries from blocking writing queries.
Which isolation level should you use?

  • A. SERIALIZABLE
  • B. SNAPSHOT
  • C. READ COMMITTED SNAPSHOT
  • D. REPEATABLE READ


Answer : C

Reference:
http://msdn.microsoft.com/en-us/library/ms173763.aspx

Note: This question is part of a series of questions that use the same set of answer choices. An answer choice may be correct for more than one question in the series.
You create a table that has the StudentCode, SubjectCode, and Marks columns to record mid-year marks for students. The table has marks obtained by 50 students for various subjects.
You need to ensure that the top half of the students arranged by their average marks must be given a rank of 1 and the remaining students must be given a rank of 2. Which Transact-SQL query should you use?

  • A. SELECT StudentCode as Code, RANK() OVER (ORDER BY AVG(Marks) DESC) AS Value FROM StudentMarks GROUP BY StudentCode
  • B. SELECT Id, Name, Marks, DENSE_RANK() OVER (ORDER BY Marks DESC) AS Rank FROM StudentMarks
  • C. SELECT StudentCode as Code, DENSE_RANK() OVER (ORDER BY AVG(Marks) DESC) AS Value FROM StudentMarks GROUP BY StudentCode
  • D. SELECT StudentCode as Code, NTILE (2) OVER (ORDER BY AVG(Marks) DESC) AS Value FROM StudentMarks GROUP BY StudentCode
  • E. SELECT StudentCode AS Code,Marks AS Value FROM ( SELECT StudentCode, Marks AS Marks, RANK() OVER (PARTITION BY SubjectCode ORDER BY Marks ASC) AS Rank FROM StudentMarks) tmp WHERE Rank = 1
  • F. SELECT StudentCode AS Code,Marks AS Value FROM ( SELECT StudentCode, Marks AS Marks, RANK() OVER (PARTITION BY SubjectCode ORDER BY Marks DESC) AS Rank FROM StudentMarks) tmp WHERE Rank = 1
  • G. SELECT StudentCode AS Code,Marks AS Value FROM ( SELECT StudentCode, Marks AS Marks, RANK () OVER (PARTITION BY StudentCode ORDER BY Marks ASC) AS Rank FROM StudentMarks) tmp WHERE Rank = 1
  • H. SELECT StudentCode AS Code,Marks AS Value FROM ( SELECT StudentCode, Marks AS Marks, RANK () OVER (PARTITION BY StudentCode ORDER BY Marks DESC) AS Rank FROM StudentMarks) tmp WHERE Rank = 1


Answer : D

Explanation:

Note: This question is part of a series of questions that use the same set of answer choices. An answer choice may be correct for more than one question in the series.
You create a table that has the StudentCode, SubjectCode, and Marks columns to record mid-year marks for students. The table has marks obtained by 50 students for various subjects.
You need to ensure that the following requirements are met:
-> Students must be ranked based on their average marks.
-> If one or more students have the same average, the same rank must be given to these students.
-> Consecutive ranks must be skipped when the same rank is assigned.
Which Transact-SQL query should you use?

  • A. SELECT StudentCode as Code, RANK() OVER(ORDER BY AVG (Marks) DESC) AS Value FROM StudentMarks GROUP BY StudentCode
  • B. SELECT Id, Name, Marks, DENSE_RANK() OVER(ORDER BY Marks DESC) AS Rank FROM StudentMarks
  • C. SELECT StudentCode as Code, DENSE_RANK() OVER(ORDER BY AVG (Marks) DESC) AS Value FROM StudentMarks GROUP BY StudentCode
  • D. SELECT StudentCode as Code, NTILE(2) OVER(ORDER BY AVG (Marks) DESC) AS Value FROM StudentMarks GROUP BY StudentCode
  • E. SELECT StudentCode AS Code,Marks AS Value FROM ( SELECT StudentCode, Marks AS Marks, RANK() OVER(PARTITION BY SubjectCode ORDER BY Marks ASC) AS Rank FROM StudentMarks) tmp WHERE Rank = 1
  • F. SELECT StudentCode AS Code,Marks AS Value FROM ( SELECT StudentCode, Marks AS Marks, RANK() OVER(PARTITION BY SubjectCode ORDER BY Marks DESC) AS Rank FROM StudentMarks) tmp WHERE Rank = 1
  • G. SELECT StudentCode AS Code,Marks AS Value FROM ( SELECT StudentCode, Marks AS Marks, RANK() OVER(PARTITION BY StudentCode ORDER BY Marks ASC) AS Rank FROM StudentMarks) tmp WHERE Rank = 1
  • H. SELECT StudentCode AS Code,Marks AS Value FROM ( SELECT StudentCode, Marks AS Marks, RANK () OVER(PARTITION BY StudentCode ORDER BY Marks DESC) AS Rank FROM StudentMarks) tmp WHERE Rank = 1


Answer : A

Reference:
http://msdn.microsoft.com/en-us/library/ms189798.aspx

You create a table that has three columns named StudentCode, SubjectCode, and Marks. The Marks column records grades for students expressed as a percentage. The table has marks obtained by 50 students for various subjects.
You need to retrieve the students who scored the highest marks for each subject along with the marks.
Which Transact-SQL query should you use?

  • A. SELECT StudentCode as Code, RANK() OVER(ORDER BY AVG(Marks) DESC) AS Value FROM StudentMarks GROUP BY StudentCode
  • B. SELECT Id, Name, Marks, DENSE_RANK() OVER(ORDER BY Marks DESC) AS Rank FROM StudentMarks
  • C. SELECT StudentCode as Code, DENSE_RANK() OVER(ORDER BY AVG(Marks) DESC) AS Value FROM StudentMarks GROUP BY StudentCode
  • D. SELECT StudentCode as Code, NTILE(2) OVER(ORDER BY AVG(Marks) DESC) AS Value FROM StudentMarks GROUP BY StudentCode
  • E. SELECT StudentCode AS Code, Marks AS Value FROM ( SELECT StudentCode, Marks AS Marks, RANK() OVER(PARTITION BY SubjectCode ORDER BY Marks ASC) AS Rank FROM StudentMarks) tmp WHERE Rank = 1
  • F. SELECT StudentCode AS Code, Marks AS Value FROM ( SELECT StudentCode, Marks AS Marks, RANK() OVER(PARTITION BY SubjectCode ORDER BY Marks DESC) AS Rank FROM StudentMarks) tmp WHERE Rank = 1
  • G. SELECT StudentCode AS Code, Marks AS Value FROM ( SELECT StudentCode, Marks AS Marks, RANK() OVER(PARTITION BY StudentCode ORDER BY Marks ASC) AS Rank FROM StudentMarks) tmp WHERE Rank = 1
  • H. SELECT StudentCode AS Code, Marks AS Value FROM ( SELECT StudentCode, Marks AS Marks, RANK() OVER(PARTITION BY StudentCode ORDER BY Marks DESC) AS Rank FROM StudentMarks) tmp WHERE Rank = 1


Answer : F

Explanation:

You use a contained database named ContosoDb within a domain. You need to create a user who can log on to the ContosoDb database. You also need to ensure that you can port the database to different database servers within the domain without additional user account configurations.
Which type of user should you create?

  • A. SQL user without login
  • B. SQL user with a custom SID
  • C. SQL user with login
  • D. Domain user


Answer : A

Explanation:

You administer several Microsoft SQL Server database servers. Merge replication has been configured for an application that is distributed across offices throughout a wide area network (WAN). Many of the tables involved in replication use the XML and varchar (max) data types. Occasionally, merge replication fails due to timeout errors. You need to reduce the occurrence of these timeout errors. What should you do?

  • A. Set the Merge agent on the problem subscribers to use the slow link agent profile.
  • B. Create a snapshot publication, and reconfigure the problem subscribers to use the snapshot publication.
  • C. Change the Merge agent on the problem subscribers to run continuously.
  • D. Set the Remote Connection Timeout on the Publisher to 0.


Answer : A

Explanation:

You administer a Microsoft SQL Server database that has Trustworthy set to On. You create a stored procedure that returns database-level information from
Dynamic Management Views. You grant User1 access to execute the stored procedure. You need to ensure that the stored procedure returns the required information when User1 executes the stored procedure. You need to achieve this goal by granting the minimum permissions required. What should you do? (Each correct answer presents a complete solution. Choose all that apply.)

  • A. Create a SQL Server login that has VIEW SERVER STATE permissions. Create an application role and a secured password for the role.
  • B. Modify the stored procedure to include the EXECUTE AS OWNER statement. Grant VIEW SERVER STATE permissions to the owner of the stored procedure.
  • C. Create a SQL Server login that has VIEW SERVER STATE permissions. Modify the stored procedure to include the EXECUTE AS {newlogin} statement.
  • D. Grant the db_owner role on the database to User1.
  • E. Grant the sysadmin role on the database to User1.


Answer : DE

Explanation:

Page:    1 / 17   
Total 254 questions