I have a SQL Server 2005 database used by several applications.
Some users wish to query the database directly from excel. I can understand this, because it is a useful tool for ad hoc queries and then getting the data in a format that’s easily transmitted and manipulated by other users.
My question is: Does Excel (say 2003/2007) do its querying in a way that won’t cause concurrency issues?
Or is it done in such a way that a separate datawarehouse database needs to be made to handle this scenario?
Thanks for any advice.
Excel is a great source for power users.
I have not come across concurrency issues from Excel as much as Resource issues – typically analysis queries pull large chunks of data and summarize it. This causes a huge load on my production server since it is optimized for OLTP and small chunks of data rather than OLAP with huge data volumes.
Since T-SQL proficiency and query optimization may not be a power-users’ top strength, I prefer to use SQL Replication out my production database to a reports-only database where they will get the same data at a lower speed, and will not slow down production db.
SQL Server Replication
If you OLAP loads starts getting too high, then you may consider denormalizing OLTP structures into OLAP structures and load a star schema data warehouse using an ETL process.