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 a complete solution. Chooseall 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:
Reference: http://msdn.microsoft.com/en-us/library/ms187861.aspx
BC
?
Both B an C are correct.
You can achieve this by granting VIEW SERVER STATE permission to either the owner of the stored procedure or a new dedicated login.
If the owner is granted the permission you have to add EXECUTE AS OWNER in the procedure so the caller will impersonate as the owner thus access the information from DMV.
If the new logonin is granted the permission you have to add EXECUTE AS the_new_login in the procedure so when the procedure is called it will impersonate as the new login to access the information from DMV.
And both require minimum permission.