I've looked at many of the threads in this group that discuss whether
or not multiple data files in a filegroup will improve IO performance.
Some say that the BOL is wrong and that you don't need additional
files to have SQL server use parallel IO (starting with SQL 2K).
Others say that it still helps even in SQL 2K. I'm planning on doing
some benchmarking, but thought I'd throw it out there one more time.
What is Microsoft's stance on this? Should we or should we not use
multiple files in a filegroup. If we should, do we use the rule of
thumb of roughly 1 file per spindle in the RAID?
Thanks!
-Peter"Peter Daniels" <nospampedro@.yahoo.com> wrote in message
news:2fd8f155.0403291246.190893b6@.posting.google.com...
> I've looked at many of the threads in this group that discuss whether
> or not multiple data files in a filegroup will improve IO performance.
> Some say that the BOL is wrong and that you don't need additional
> files to have SQL server use parallel IO (starting with SQL 2K).
> Others say that it still helps even in SQL 2K. I'm planning on doing
> some benchmarking, but thought I'd throw it out there one more time.
> What is Microsoft's stance on this? Should we or should we not use
> multiple files in a filegroup. If we should, do we use the rule of
> thumb of roughly 1 file per spindle in the RAID?
>
Multiple files per filegroup and RAID can each be used to achieve parallel
IO.
If you have say, 10 disks in 5 2-disk raid mirrors, you might let a
filegroup span 2 of the mirror sets to to improve IO. But just as easily,
you could join the 2 mirror sets into a single stripe set and a single
logical volume. Then you can just use a single file to get parallel IO.
Makes your head hurt.
Since you can usually achieve the same thing with RAID alone that you could
achieve with RAID+Multiple files per filegroup, I would use RAID to alter
the IO performance profile, and always use a single file per filegroup.
And for OLTP applications just get as many disks as you can and SAME (Stripe
and Mirror Everything.
If you have
1 no raid
2 mirror
4 2 mirror sets
6 1 striped mirror set, one mirror set
8 2 striped mirror sets
...
David
David|||Peter,
Microsoft's stance on this is that there are too many variables to give a st
ock answer that will work for all hardware configurations. In my experience
using differeing hardware, I have got the best performance and ease of admin
istration by having one fil
e per database. However, you will need to do your own benchmarking on your o
wn hardware to be confident that the decision you make is right for your env
ironment.
Unless your databases are hundreds of gigabytes, I would suspect that one fi
le per database will be all you need.
Mark Allison, SQL Server MVP
http://www.markallison.co.uk|||The last answer I got, from someone working for Microsoft Consulting
Services, was that there was no benefit to multiple files on the same disk
volume. However if you have multiple volumes you MAY see improvements.
It depends on the IO characteristics of your disk volumes. Example, if you
had 20 spindles would it be better to create one large RAID volume or >1
smaller volumes if they're all on the same controller? Additional testing
and/or input from the hardware vendor would be needed. If you have multiple
controllers/storage systems, then spreading multiple files across the
controllers should give a benefit. Whether you need to do this would depend
on your app.
HTH,
Mike Kruchten
"Peter Daniels" <nospampedro@.yahoo.com> wrote in message
news:2fd8f155.0403291246.190893b6@.posting.google.com...
> I've looked at many of the threads in this group that discuss whether
> or not multiple data files in a filegroup will improve IO performance.
> Some say that the BOL is wrong and that you don't need additional
> files to have SQL server use parallel IO (starting with SQL 2K).
> Others say that it still helps even in SQL 2K. I'm planning on doing
> some benchmarking, but thought I'd throw it out there one more time.
> What is Microsoft's stance on this? Should we or should we not use
> multiple files in a filegroup. If we should, do we use the rule of
> thumb of roughly 1 file per spindle in the RAID?
> Thanks!
> -Peter|||Sounds like the answer is no - mutiple data files in a single file
group on one RAID array will not give an IO perf benefit. I'm still
going to do some benchmarking, but thanks very much for your input.
I'd still love to here MS's official statement on this.
"Mike Kruchten" <mkruchten@.fsisolutions.com> wrote in message news:<OePgmzmFEHA.2768@.tk2msf
tngp13.phx.gbl>...
> The last answer I got, from someone working for Microsoft Consulting
> Services, was that there was no benefit to multiple files on the same disk
> volume. However if you have multiple volumes you MAY see improvements.
> It depends on the IO characteristics of your disk volumes. Example, if you
> had 20 spindles would it be better to create one large RAID volume or >1
> smaller volumes if they're all on the same controller? Additional testing
> and/or input from the hardware vendor would be needed. If you have multipl
e
> controllers/storage systems, then spreading multiple files across the
> controllers should give a benefit. Whether you need to do this would depen
d
> on your app.
> HTH,
> Mike Kruchten
>
> "Peter Daniels" <nospampedro@.yahoo.com> wrote in message
> news:2fd8f155.0403291246.190893b6@.posting.google.com...|||This has been debated extensively in the private MVP group, with MS develope
rs as participants in the
discussion. I don't think you will find an official answer from MS, and if y
ou do, it will probably be very
close to what Mark posted.
Tibor Karaszi, SQL Server MVP
http://www.karaszi.com/sqlserver/default.asp
"Peter Daniels" <nospampedro@.yahoo.com> wrote in message
news:2fd8f155.0403301510.5e0602a5@.posting.google.com...
> Sounds like the answer is no - mutiple data files in a single file
> group on one RAID array will not give an IO perf benefit. I'm still
> going to do some benchmarking, but thanks very much for your input.
> I'd still love to here MS's official statement on this.
>
Showing posts with label threads. Show all posts
Showing posts with label threads. Show all posts
Friday, March 9, 2012
Monday, February 20, 2012
Multiple Access databases as data source
I've read already a lot of threads, dealing with several databases on
different servers as data source. They all recommend to use linked servers.
But what, if we have to deal with Access databases?Actually, most advice I've seen is NOT to use linked servers. You can
connect directly via ODBC or OLEDB to Access.
--
Cheers,
'(' Jeff A. Stucker
\
Business Intelligence
www.criadvantage.com
---
"Niklas" <Niklas@.discussions.microsoft.com> wrote in message
news:7424F35B-C52C-4104-9C6D-91AC0F439898@.microsoft.com...
> I've read already a lot of threads, dealing with several databases on
> different servers as data source. They all recommend to use linked
> servers.
> But what, if we have to deal with Access databases?|||The recommendation for linked servers is if you are trying to join two the
results from two different servers. If you want to do that you need to have
a stored procedure and use temp tables and do the join there (and use linked
servers, note you should use openquery and not the four part naming for
performance reasons). If you are not doing a join then definitely do not use
linked servers. Just set up multiple data sources (shared is best in my
opinion).
--
Bruce Loehle-Conger
MVP SQL Server Reporting Services
"Niklas" <Niklas@.discussions.microsoft.com> wrote in message
news:7424F35B-C52C-4104-9C6D-91AC0F439898@.microsoft.com...
> I've read already a lot of threads, dealing with several databases on
> different servers as data source. They all recommend to use linked
> servers.
> But what, if we have to deal with Access databases?|||Thanks Bruce,
I have to join the results of several servers, unfortunately I've to deal
with Access ...
"Bruce L-C [MVP]" wrote:
> The recommendation for linked servers is if you are trying to join two the
> results from two different servers. If you want to do that you need to have
> a stored procedure and use temp tables and do the join there (and use linked
> servers, note you should use openquery and not the four part naming for
> performance reasons). If you are not doing a join then definitely do not use
> linked servers. Just set up multiple data sources (shared is best in my
> opinion).
> --
> Bruce Loehle-Conger
> MVP SQL Server Reporting Services
> "Niklas" <Niklas@.discussions.microsoft.com> wrote in message
> news:7424F35B-C52C-4104-9C6D-91AC0F439898@.microsoft.com...
> > I've read already a lot of threads, dealing with several databases on
> > different servers as data source. They all recommend to use linked
> > servers.
> > But what, if we have to deal with Access databases?
>
>|||Here is what you can do very easily with Access. In one of your Access
databases just add a link to the table in the other database. When you do a
join Access handles the join. You are better off to use Access for this
(especially if the data is in Access databases) than to create a linked
server in SQL Server.
Bruce Loehle-Conger
MVP SQL Server Reporting Services
"Niklas" <Niklas@.discussions.microsoft.com> wrote in message
news:115ED942-3D21-46B4-AE80-CA93132E4845@.microsoft.com...
> Thanks Bruce,
> I have to join the results of several servers, unfortunately I've to deal
> with Access ...
> "Bruce L-C [MVP]" wrote:
>> The recommendation for linked servers is if you are trying to join two
>> the
>> results from two different servers. If you want to do that you need to
>> have
>> a stored procedure and use temp tables and do the join there (and use
>> linked
>> servers, note you should use openquery and not the four part naming for
>> performance reasons). If you are not doing a join then definitely do not
>> use
>> linked servers. Just set up multiple data sources (shared is best in my
>> opinion).
>> --
>> Bruce Loehle-Conger
>> MVP SQL Server Reporting Services
>> "Niklas" <Niklas@.discussions.microsoft.com> wrote in message
>> news:7424F35B-C52C-4104-9C6D-91AC0F439898@.microsoft.com...
>> > I've read already a lot of threads, dealing with several databases on
>> > different servers as data source. They all recommend to use linked
>> > servers.
>> > But what, if we have to deal with Access databases?
>>
different servers as data source. They all recommend to use linked servers.
But what, if we have to deal with Access databases?Actually, most advice I've seen is NOT to use linked servers. You can
connect directly via ODBC or OLEDB to Access.
--
Cheers,
'(' Jeff A. Stucker
\
Business Intelligence
www.criadvantage.com
---
"Niklas" <Niklas@.discussions.microsoft.com> wrote in message
news:7424F35B-C52C-4104-9C6D-91AC0F439898@.microsoft.com...
> I've read already a lot of threads, dealing with several databases on
> different servers as data source. They all recommend to use linked
> servers.
> But what, if we have to deal with Access databases?|||The recommendation for linked servers is if you are trying to join two the
results from two different servers. If you want to do that you need to have
a stored procedure and use temp tables and do the join there (and use linked
servers, note you should use openquery and not the four part naming for
performance reasons). If you are not doing a join then definitely do not use
linked servers. Just set up multiple data sources (shared is best in my
opinion).
--
Bruce Loehle-Conger
MVP SQL Server Reporting Services
"Niklas" <Niklas@.discussions.microsoft.com> wrote in message
news:7424F35B-C52C-4104-9C6D-91AC0F439898@.microsoft.com...
> I've read already a lot of threads, dealing with several databases on
> different servers as data source. They all recommend to use linked
> servers.
> But what, if we have to deal with Access databases?|||Thanks Bruce,
I have to join the results of several servers, unfortunately I've to deal
with Access ...
"Bruce L-C [MVP]" wrote:
> The recommendation for linked servers is if you are trying to join two the
> results from two different servers. If you want to do that you need to have
> a stored procedure and use temp tables and do the join there (and use linked
> servers, note you should use openquery and not the four part naming for
> performance reasons). If you are not doing a join then definitely do not use
> linked servers. Just set up multiple data sources (shared is best in my
> opinion).
> --
> Bruce Loehle-Conger
> MVP SQL Server Reporting Services
> "Niklas" <Niklas@.discussions.microsoft.com> wrote in message
> news:7424F35B-C52C-4104-9C6D-91AC0F439898@.microsoft.com...
> > I've read already a lot of threads, dealing with several databases on
> > different servers as data source. They all recommend to use linked
> > servers.
> > But what, if we have to deal with Access databases?
>
>|||Here is what you can do very easily with Access. In one of your Access
databases just add a link to the table in the other database. When you do a
join Access handles the join. You are better off to use Access for this
(especially if the data is in Access databases) than to create a linked
server in SQL Server.
Bruce Loehle-Conger
MVP SQL Server Reporting Services
"Niklas" <Niklas@.discussions.microsoft.com> wrote in message
news:115ED942-3D21-46B4-AE80-CA93132E4845@.microsoft.com...
> Thanks Bruce,
> I have to join the results of several servers, unfortunately I've to deal
> with Access ...
> "Bruce L-C [MVP]" wrote:
>> The recommendation for linked servers is if you are trying to join two
>> the
>> results from two different servers. If you want to do that you need to
>> have
>> a stored procedure and use temp tables and do the join there (and use
>> linked
>> servers, note you should use openquery and not the four part naming for
>> performance reasons). If you are not doing a join then definitely do not
>> use
>> linked servers. Just set up multiple data sources (shared is best in my
>> opinion).
>> --
>> Bruce Loehle-Conger
>> MVP SQL Server Reporting Services
>> "Niklas" <Niklas@.discussions.microsoft.com> wrote in message
>> news:7424F35B-C52C-4104-9C6D-91AC0F439898@.microsoft.com...
>> > I've read already a lot of threads, dealing with several databases on
>> > different servers as data source. They all recommend to use linked
>> > servers.
>> > But what, if we have to deal with Access databases?
>>
Subscribe to:
Posts (Atom)