You administer a Microsoft SQL Server 2012 databasethat 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 acomplete 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 ofthe 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.
Explanation:
According to these references, this answer looks correct.
References:
http://msdn.microsoft.com/en-us/library/ms187861.aspx
http://msdn.microsoft.com/en-us/library/ms191291.aspx
Just c – with b you’re giving extra permissions, to the owner. The questions says to grant the minimum permissions required.
Correct options are B & C
The stored procedure owner must have VIEW SERVER STATE & EXECUTE AS OWNER permissions on the server; or else, the User1 will not be able to return database-level information from DMVs using the Stored Procedure (even when those permissions are explicitly granted to him).