我计划通过考试'查询Microsoft SQL Server 2012'。我想更好地理解一个问题 问题是:
你将如何完成这项任务?
您是一名数据库开发人员 在ABC.com。 ABC.com有一个名为SalesDB的SQL Server 2012数据库 一张名为Invoices的表格。应用开发人员正在开发几个 将访问发票表的内部应用程序。你需要 开发一个允许应用程序访问的解决方案 表,但仍然允许他们更新发票 表。你将如何完成这项任务?
可能的答案是。
一个。您应该在发票表中创建一个视图。
B中。您应该在所使用的所有列上创建列存储索引 应用
℃。您应该允许应用程序访问Invoices表 存储过程。
d。您应该删除并重新创建作为分区的发票表 表。可能的答案是
这是来源:How would you accomplish this task? 他们说正确答案是C,但我不知道为什么?我认为正确的是A,因为视图与数据“间接”起作用 谢谢你的帮助。
答案 0 :(得分:0)
The commented ownership-chaining of stored procs only come into place when the stored proc and the used tables have the same owner.
So I would like to point out another argument.
You can EXECUTE a stored proc AS another user. That means you could create a user without a login and grant UPDATE permissions. Let's say the name of the user is UPDATEInvoices. When you create a stored proc you can define that it has to execute as the comtext of the user. So, when you give the user who wants to call the stored proc EXECUTE permissions he can UPDATE rows in the table because it runs with other permissions.