You develop three Microsoft SQL Server 2012 databases named Database1, Database2, and Database3. You have permissions on both Database1 and Database2.
You plan to write and deploy a stored procedure named dbo.usp_InsertEvent in Database3. dbo.usp_InsertEvent must execute other stored procedures in the other databases.
You need to ensure that callers that do not have permissions on Database1 or Database2 can execute the stored procedure.
Which Transact-SQL statement should you use?
A . USE Database2
B . EXECUTE AS OWNER
C . USE Database1
D . EXECUTE AS CALLER
Answer: B
Explanation:
Reference: http://msdn.microsoft.com/en-us/library/ms188354.aspx
Reference: http://blog.sqlauthority.com/2007/10/06/sql-server-executing-remote-stored-procedureĀcallingstored-procedure-on-linked-server/