【发布时间】:2022-01-13 11:59:25
【问题描述】:
我使用 SQL Server Migration Assistant for Access 工具将数据库移动到 SQL Server 并将 Access 作为前端。一切都很顺利,数据看起来正确,报告运行良好等等。我只是遇到了一个问题,它基本上无法使用。
当我在 Access 中打开表并尝试对列进行排序时,速度非常慢。当我单击该列并选择一个选项(例如排序 A-Z)时,它会在左下角显示“正在计算...”大约一分钟,然后它才会实际对该列进行排序。
有什么办法可以加快速度吗?我是否在迁移中做了一些可能导致这种情况的事情?以前没有任何问题。
【问题讨论】:
-
您可以使用 SQL-Server Profiler 查看 Access 在排序时向数据库发送的命令类型。这可能会提示您正在发生的事情以及重构或添加索引是否会有所帮助。您要在计算列上排序的列吗?注意:查询中的 VBA 函数由 access 执行。在这种情况下,将此类查询转换为传递查询(即,转换为 SQL-Server 方言)或 SQL 视图可能会有所帮助。
-
@OlivierJacot-Descombes 这不是计算列。您是否可以提供任何好的链接来进行传递查询或 sql 视图?我一直在尝试寻找有关实施这些解决方案的文档,但没有发现任何有用的信息。
-
Create a pass-through query。 SQL View – A complete introduction and walk-through。然后,您可以将视图作为表格链接到 Access。在这两种情况下,您都必须使用 SQL-Server TSQL 方言编写查询。
-
@OlivierJacot-Descombes 谢谢!我会检查一下,希望它能帮助我解决我的问题。
-
应该注意这不是正常行为,因此调查实际发生的情况是一个好主意,也许比开始构建解决方法更好。
标签: sql-server ms-access ms-access-2016