|
Hi, Yesterday I was asked by the sysadmins to enter SQL Login while they are in the middle of installin a new application with vendors so that the installer will automatically create a Database and login/user that will support the application. But the installer give me the option to type and choose one folder(usually other applications will ask where I want to put the data and log files). I left it at default hoping to change it later. Once we are done i went on and check the database and there sure is a database created but with MULTIPLE files and filegroups: 1 mdf file, 18 ndf file and 1 log file. The mdf file and the log file are in the default database path which I configured on the databasse settings before, but the other 18 secondary files are placed in some other location(SQL Servers Default). Here are my questions:
Please share your thoughts and recommendations. Thanks. ---------- EDIT: Since I meant file/filegroups, I have replaced the orginal post which says 'partition' with file/filegroups after @WilliamD pointed out in his answers. thanks
(comments are locked)
|
|
Just to clarify, you are talking about secondary data files for your database and not partitions. These data files are used to physically separate tables/indexes or even partitions of tables/indexes from one another. The advantage of splitting a database across multiple files is that I/O can then be split across different disks/arrays, allowing better performance and targeted tuning of the I/O layer. Some parts of a database may only be accessed rarely and can be stored on slow/cheap storage (archives), other parts may require blazing fast storage (objects that are queried/updated often). As you described, all 18 secondary files have been dumped on the same storage. This will give you no real benefit over consolidating the 18 into 1 ndf as long as their location remains as stated. So to answer each of your questions:
Thank @WilliamsD for you detailed answer. I just moved all datafiles to a single place and log to another. We cram everydata file of all databases in this server into a single drive, logs and Backups also have their own separate drive. I have no idea how the system will behave as I dont have knowledge of the application yet. But i might be able to optimize the IO once i get the idea of whats happning and also when we migrate to our new SAN in August. I have a question though: for piecemeal restore , isn't it a good idea not to partition the indexes in the first place since by the time you restore one table/filegroup your index might not be restored and hence users can not efficiently access the table?
Jul 27 '10 at 09:29 AM
DaniSQL
@DaniSql, I am not too sure on the piecemeal restore and partitioned indexes. I think that the restored part would be accessible, as that is how it should work (the way I understand the description and how I played with it back then). I never tried it with partitioned data, but imagine it would work. Time to fire up the quattro and give it a go!
Jul 27 '10 at 11:54 AM
WilliamD
@WilliamD: I havent used piecemeal restore either, but I'm just guessing it would be hard for end users to effectively use your restored table without restoring the indexes(which will take a while if they are partitioned all over the place). As you said there its better to test it to find out for sure.
Jul 27 '10 at 01:59 PM
DaniSQL
(comments are locked)
|


Strewth. The most I've seen to date was 7 NDFs each with initial size of 500MB. I wouldn't have minded so much had that database ever had more than about 300MB in it!