2010-04-21 57 views
0

我有一个由多个应用程序使用的SQL Server 2005数据库。允许用户使用excel查询OLTP SQL Server数据库是否正常?

有些用户希望直接从excel中查询数据库。我可以理解这一点,因为它是用于即席查询的有用工具,然后以易于由其他用户传输和操纵的格式获取数据。

我的问题是:Excel(比如2003/2007)是否以不会导致并发问题的方式进行查询?

或者它是以这样一种方式完成的,即需要单独的数据仓库数据库来处理这种情况?

感谢您的任何建议。

回答

2

Excel是高级用户的绝佳来源。

我还没有遇到来自Excel的并发问题,就像资源问题一样 - 通常分析查询会拉大量数据并对其进行汇总。这会对我的生产服务器造成巨大的负载,因为它针对OLTP和小块数据进行了优化,而不是具有大量数据量的OLAP。由于T-SQL熟练程度和查询优化可能不是电力用户的最大优势,因此我更愿意将我的生产数据库用于仅限报表的数据库,以便他们将在一个报表中获得相同的数据速度较低,并且不会减缓生产分贝。

SQL Server Replication

如果OLAP负载开始变得太高,那么你可以考虑非规范化的OLTP结构为OLAP结构和使用ETL过程加载一个星型模式的数据仓库。

+0

说得好。或者,使用SQL Server分析服务将数据加载到多维数据集中 - 由于预编译的聚合,它们对于大多数典型查询的批处理速度更快。很好地展示了可能存在的问题,并且提出了“它几乎是必须的”因素。 – TomTom 2010-07-21 19:28:25

0

这取决于用户在Excel中做什么。一般来说,你绝不应该对OLTP数据库进行报告。相反,创建每晚复制并让他们查询他们的心中的内容。

1

如果您的用户足够精明,可以用Excel生成报表,那太好了。它会为你节省很多工作。

为了避免并发问题,我们与nolock作出意见,如:

create view vw_excelreporting_Orders 
as 
select col1, col2, col3 
from OrderTable with (nolock) 

然后我们做了Excel的用户,只有对这种观点选择权。确保您的DBA跟踪长时间运行的查询和超时,并且这可以很好地工作。

0

安装SSAS(SQL Server分析服务)。在没有繁忙时间的非工作时间从OLTP数据库加载立方体。让人们连接到SSAS多维数据集。这是为了这个。

并在升级到2008年的路上;)SSAS有许多新的功能。

相关问题