如何以非编程方式处理SQL Server数据?

5
我们有一个SQL Server数据库。为了非编程方式处理数据,我可以通过在表上右键单击并选择“打开表”来使用SQL Server Management Studio。然而,对于非常大的表格,这种方法很慢,而且排序和过滤也很麻烦。
通常情况下,我们现在所做的是创建一个包含指向SQL Server表和视图的链接表的Access数据库。这样打开大型表格会快得多,并且Access具有易于使用的右键过滤和排序功能。
然而,自从Access 2007以来,特别是在处理大型表格时,排序变得非常缓慢。Access数据库还可能无意中锁定数据库表,阻止其他需要访问数据的进程。创建Access数据库本身以及在SQL Server添加新表时更新它也很繁琐。
有没有更好的方法来处理数据,既提供了Access的易用性,又避免了其缺点呢?

刚刚发布了Access 2007的热修复程序,可能解决了您遇到的性能问题。请参阅http://support.microsoft.com/kb/956054获取详细信息。但它可能只解决了表单中的问题,而不是数据表视图中的问题。 - David-W-Fenton
6个回答

2

Joel Coehoorn的回答当然是正确的,如果数据很重要或者有一些不熟悉的用户在使用数据,那么就需要开发一个应用程序前端。但是,我有时候需要作为一个明智的用户(好吧,是我自己)深入了解数据。

不要直接查看表格,使用MS Access,但使用查询来缩小列和行的范围。这样可以提高速度。然后编辑查询属性,确保查询是无锁的。这将消除任何阻塞行为。您可能还需要限制返回的行数,这也会提高速度。您仍然可以在查询中查看并编辑数据。

根据您所查看的内容,设置数据库视图在SQL Server上执行一些重量级任务而不是在客户端上执行,也可能很有用。


1

我不确定它在处理大型表格时的效果如何,但是Visual Studio在基本表格操作方面比SQL Management Studio快得多。在服务器资源管理器中打开数据库,在表格上单击右键,选择“打开”以仅显示数据或选择“新建查询”以进行筛选、排序等操作。


Visual Studio打开一个有60万行的表格需要几分钟时间,实际上比SSMS稍微慢一些。而且与Access相比,过滤功能也不太方便。无论如何,还是感谢您的建议。 - Phillip Wells

1

我经常使用Visual Studio做很多事情,只是为了方便而不必直接登录服务器并在数据库管理器上工作。

然而,你尝试过Quest Software的Toad for MS SQL吗?我经常用它来处理Oracle,并且取得了良好的结果(通常比Oracle的工具更好)。


0

编辑原始数据是非常危险的。最好是识别出你发现自己在这样做的情况,并组合一个应用程序接口作为中介,以防止你做一些愚蠢的事情,比如破坏外键。


数据库管理系统应始终强制执行其可以执行的约束条件,而不是依赖于应用程序来避免写入违反约束条件的数据。如何打破外键? - onedaywhen

0
我不知道对于大型数据集来说性能会如何,但是Open Office有一个数据库程序(Base),它是Access的克隆版,可能正是你所需要的。

0

你可能想阅读Tony Toews的Access性能FAQ,其中提供了许多关于如何提高Access应用程序性能的提示。也许其中一条建议可以解决你的A2K7应用程序中出现的问题。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接