您管理SQL Server 2008实例,其中包含名为DB1的数据库。DB1中包含名为Table1的表。 DB1数据库包含一个名

您管理SQL Server 2008实例,其中包含名为DB1的数据库。DB1中包含名为Table1的表。 DB1数据库包含一个名为Procedure1的存储过程。Procedure1使用sp_executesql Transact-SQL语句从Table1选择数据。 根据业务要求,不允许用户在任何数据库中直接访问表。 用户执行Procedure1时,引发以下异常: “消息229,级别14,状态5,行1 拒绝了对对象’Table1’(数据库‘DB1’,架构‘dbo’)的SELECT权限。”您需要确保用户能够成功执行Procedure1,而不违反业务要求。 您应该如何操作?

A.执行GRANT SELECT ON dbo.Table1 TO User1 Transact-SQL语句。

B.执行GRANT EXECUTE ON dbo.Procedure1 TO User1 Transact-SQL语句。

C.修改Procedure1并将 WITH EXECUTE AS OWNER选项添加到它的标头中。

D.修改Procedure1并在紧靠对sp_executesql存储过程的调用之前添加EXECUTE AS USER=‘dbo’选项。

正确答案是C