我们有一个在 MSAccess 中运行但使用 SQL Server 作为后端数据库的应用程序。这会生成一个查询来检查它可以访问哪些视图,对于普通用户来说,这最多需要 18 秒。对于属于 db_owner 角色的所有用户,需要 0.2 秒。有什么办法可以为普通用户调整这个吗?也许我可以在 Access 中做些什么?我不想给他们 db_owner,重写应用程序以不使用 Access 是不可能的。
这是查询:
select
object_name(id),
user_name(uid), type,
ObjectProperty(id, N'IsMSShipped'),
ObjectProperty(id, N'IsSchemaBound')
from sysobjects
where type = N'V'
and permissions(id) & 4096 <> 0
使用 MS Access 2003、SQL Server 2008 R2