首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >MS Access针对SQL Server的内部查询的性能问题

MS Access针对SQL Server的内部查询的性能问题
EN

Stack Overflow用户
提问于 2012-04-12 21:26:49
回答 3查看 576关注 0票数 2

我们有一个在MSAccess中运行的应用程序,但使用SQL Server作为后端数据库。这将生成一个查询来检查它有权访问哪些视图,对于普通用户来说,这需要18秒的时间。对于作为db_owner角色成员的所有用户,这需要0.2秒。有没有什么方法可以为普通用户调优?也许我可以在Access中做些什么?我不想给他们提供db_owner,而且重写应用程序以不使用访问权限也是不可能的。

下面是查询:

代码语言:javascript
复制
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 Server2008 R2

EN

Stack Overflow用户

发布于 2012-04-15 13:07:02

如果找不到问题的根本原因,或许一个变通办法可能会有所帮助?这只是一个想法:您可以将SQL语句封装在db_owner拥有的进程中,并为其提供一个EXECUTE AS子句。这样,当非db_owner调用proc时,proc中的db_owner将在proc的持续时间和作用域的模拟下执行。希望您的非db_owner用户能够从db_owner运行该SQL时看到的性能中受益。

票数 0
EN
查看全部 3 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10124547

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档