2010-04-21 30 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有許多新的功能。

相關問題