How to choose the right RAID level for a database server based on disk performance counters?
Lets say I have the collected performance counters data for Disk Transfers/sec, Disk Writes/sec and Disk Reads/sec.
Or is there any other best method to decide the RAID level?
I am configuring a new database server, without SAN access, and want to know what is the best practice for SCSI RAID configuration. Do most folks prefer RAID 5 or RAID 10 configurations where their databases will reside?
RAID 5 beats RAID 10Can I get some feedback on these results? We were having some seriousIO issues according to PerfMon so I really pushed for RAID 10. Theresults are not what I expected.I have 2 identical servers.Hardware:PowerEdge 28502 dual core dual core Xeon 2800 MHz4GB RAMController Cards: Perc4/DC (2 arrays), Perc4e/Di (1 array)PowerVault 220SEach Array consisted of 6-300 GB drives.Server 1 = Raid 103, 6-disk arraysServer 2 = Raid 5 (~838 GB each)3, 6-disk arrays (~1360 GB each)TestWinner% FasterSQL Server - UpdateRAID 513Heavy ETLRAID 516SQLIO - Rand WriteRAID 1040SQLIO - Rand ReadRAID 1030SQLIO - Seq WriteRAID 515SQLIO - Seq ReadRAID 5MixedDisktt - Seq WriteRAID 518Disktt - Seq ReadRAID 52000Disktt - Rand ReadRAID 562Pass Mark - mixedRAID 10VariesPass Mark -Simulate SQL ServerRAID 51%I have much more detail than this if anyone is interested.
I want to perform column level and database level encryption/decryption.... Does any body have that code written in C# or VB.NET for AES-128, AES-192, AES-256 algorithms... I have got code for single string... but i want to encrypt/decrypt columns and sometimes the whole database... Can anybody help me out... If you have Store procedure in SQL for the same then also it ll do... Thanks in advance
My SQL 7 is on RAID 5. Sometimes on non-peak hours, on RAID disks first two lights ( from left ) are constantly on for hours. NT Task manager, nothing unusual, SQL current activity - no running user processes. Isn't second light on RAID comes on if any disk activity ( Read/Write ).
I`ve tried implementing NT Software Raid / Stripping with Parity and am unable to stripe disc that are more than 2g and use SQL. I have not found any info in technet. Any ideas! Thanks.
Hi,I was going to buy a server with Raid 1 as I thought that it meant that ifone of the two mirrored drives fail, you simply take it out and put a newone in. At which point presumably the hardware takes over and copies theother drive over to mirror it again.However, my sql server admin book, says raid 1 is bad, as it means you havelots of downtime, when recovering from a broken drive.Can anyone give me some advice on this? What is the best Raid to use whenyou are running SQL server on the server.ThanksJJ
Im setting up a hardware raid 5 solution for one of our db servers. The data files will reside on the stripe. We dont realy want to raid more drives for the Transaction log if its not nessesary. If the drive with the log crashes is the data file for the database useless ?
Hello, I run a small homw office. I am planning to purchase a dell powerdge 1750 server to install SQL server on that. I am confused here about which RAID should I install on this server RAID 1 or RAID 5. The dell customer rep could not tell me the advantages of installing only RAID 1 or only RAID 5 or installing both RAID 1 and RAID 5
I am recommending that we change our Raid Configuration on some of ourServers from Raid 5 to Raid 0+1; we are experiencing severe IObottlenecks.Our hardware guys are pushing back a bit. They claim that Dell has aweird implementation of 0+1 and told me something about one drivefilling up before it begins to write to the next. They claimed thatthis gets rid of most of the benefits of 0+1.I know that 0+1 is not as good as 10 for availability, fault tolerance,and rebuilding, but shouldn't the write throughput be about the same?Setup:Poweredge 2850Powervault 220SPerc 4/DC Controller 1Perc 4e/DI Controller 0
I have always used RAID 5 for my database apps. I am wondering though is this the best solution. I am purchasing a new server and deciding whether to go with RAID 1 or RAID 5. This server will support all our .NET Apps, SQL Server 2005, Reporting Services, and Integration Services.
I have a production server log shipping to a secondary server every 30 minutes (both SQL 2000), which the second server is used for both a warm standby server and for reporting from users. Issue: the log shipping locks the DB so reporting can't be done until the load is finished, the load to the second set of databases has taken up to 15 minutes to finish allowing the users only 15 minutes to run reports, this is not acceptable. The server also needs to be used for DR.
I am looking for another solution, I can't use Transactional Log shipping as not all of the tables in the databases have a primary key identified. So, I am looking for a real-time or near real-time reporting server that is more available to running reports and a warm standby server for Disaster recovery. I am trying to figure out what SQL Server 2000 has to provide (or even 2005 or 2008?) or I am also looking at some third party software, but not sure what is the best for a reasonable price.
Server: Msg 3132, Level 16, State 1, Line 1 The RAID set for database 'xxxxx' is missing member number 2
This happens when I try to run a restore?? is it because my server is not set up as RAID 5, I had took a dump from one server and try to apply it to another? Suggestion please.
I have a server setup with the standard recommended RAIS(10-5-10 setup (10 for the OS, 5 for the data, and 10 for the trans logs). Running out of space on my RAID 5. Have lots of extra space on my RAID 10 where my trans logs are. I currently dump my files to disk and then use tape to back them up. I have been putting these files on my RAID 5 array, but was going to move them to my RAID 10 array. Anyone seen any downside to doing this?
I heard that is said that MSQ SQL 2000 doesn't work correctly with raid (for example raid 5) I have my application in 2 companies. The first one with not a raid controller (even though the computer has a raid controller) executes a backup when no users are online in more than 8 minuter and the file of the database backup is 3,5 GB. The memory of the computer is 2GB. In the other company when more than 20 users work in the database with a raid controller the backup is occured in 2,6 minutes and the database backup file is more than 6 GB. The memory of this computer is 4 GB. What is your opinion? Is this rumor true? Do you suggest I should apply raid 5 to the first server? Regards, Manolis
We have a huge table with around 250 million records and have implemented SQL server 2005's new table partitioning feature. Now the data seems to be evenly spread across 20 different filegroups ( each 5 GB approx ) for the same table that was occupying 100 GB itself in the PRIMARY filegroup earlier.
Still the query response times have not come down drastically but we could see a good improvement in the execution plans now.
WE ARE USING RAID 5 IN OUR PRODUCTION ENVIRONMENT. ANY IDEA / THOUGHT ON HOW TO PLACE THE PARTITIONED FILEGROUPS AND THE LOG FILES IN THE RAID 5 (BTW , I'm very new to RAID concepts , any detailed instruction would be helpful ).
My company is in the process of upgrading our sql 2000 server to 2005 on new server hardware. In this process I'm charged with the actual server and database configuration on the new server so currently I'm investigating how to take advantage of new 2005 features and improve the use of common features on both platforms. We've decided to perform this upgrade in three stages (won't bother you with why) and the first stage is to install the new server with a 2000 installation with a different configuration regarding files/filegroups on the new hardware configuration that has a different raid configuration. The old server configuration was lacking in just about every department so I'm serious about getting it right this time. Its an OLTP system btw.
The question(s):
The 2780A course book states that sql 2005 can perform the following scans: "Multiple parallell scans for a single table if the filegroup of the table contains multiple files." Does this imply that the files must be on separate disks/raid channels? Ie, if I put all files in the filegroup on the same RAID 10 channel will I gain nothing over having just one file?
Can 2000 take advantage somehow of several files in a filegroup to achieve greater parallellism or is there no (end user) performance oriented reason to have more files in a filegroup? (Disregarding any impact of different backup strategies for several files).
I'm intending to place all nonclustered indexes in a separate filegroup with all files assigned to a dedicated RAID 0 channel for striping. Due to the lack of fault tolerance here I'm wondering if this is wise. But since nonclustered indexes are basically secondary metadatastructures and doesn't contain any data I'm wondering wether the server can disregard using an index when executing a query if the index resides on disk which have failed and the index is inaccessible. Is there a fallback option available to the server to perform a table scan or use another index instead?
Basically the same question can be asked for tempdb, use a RAID 10 with four disks or dare I use a RAID 0 with four disks (since 2005 use tempdb more heavily than 2000).
Also considering to put the OS on a dedicated RAID 1 and a dedicated RAID 0 for the pagefile, same concerns apply.
I appreciate any input, also examples (or links) or your experiences of good RAIDing practices for OLTP systems.
Thanks for your time.
PS. Sorry for posting this in both 2000 and 2005 forums but I don't wanna miss out on any good answers. ^^
I have a RAID 10 container consisting of 4 146GB, SAS, 3.5-inch 15K RPM Hard Drives.
We have the OS on its own RAID so we are strictly dealing with setting up SQL Server 2005 on the RAID 10.
SO ... is it better to create seperate volumes for the Data, TLog and TempDB file placements (i,e, C:, F: and G or is it alright to create just plain-jane folders for the file placements?
Ok - dont' throw rotten food at me for asking this question...
Is there any advantage (faster I/O) to creating multiple mdb files on the same RAID 5 for the same database?
In other words, database ABC is 100 gb in size and has one primary file on H:. If I create another (or 3 or 6) secondary files for the mdb, would there be an appreciable performance gain? Same with log file?
I have a dilemn: On one side, I have a column C1 which could be a primary key because it is never null, the value is unique and identify the record. The problem is its a char type and its lenght can be close to 30. Then, I've planned to add another column C2 of int type as PK. But then I need to add a unique constraint index on C1. Does it improve performance anyway?
I have a database containing a lot of users and these users can have four different kind of telephone numbers connected to them: "Direct phone", "Switchboard", "Cell phone", "Home phone". The phone numbers are stored in a separate table. Some users have 0 phone numbers, some have 1, some have 3 etc.
Now I have to transfer the data to another database with a strict table structure and here the table that contains the user also should contain the users phone number and an alternative phone number, if the user currently has more than one phone number connected.
This means that if for instance we have three or more phone numbers connected to one user, we can maximum transfer two of them. This is not a big issue though...
We have ranked the importance of the phone numbers in the order as I presented them above. What I do in my T-SQL query is to do a ISNULL() and see if the user has "Direct phone" connected, if not I check for the next type and so on.
Now to my problem! Can anyone give me a suggestion of how to write the code for the extraction of the Alternative phone? What I need to do is to check if there is a "Direct phone" connected to the user, if so I should NOT chose that but the next phone number that I find.
I'm currently developing an ASP.NET website which is using SQL Server 2005 and I couldn't decide between two table designs and I hope you can give me your opinions
The website is for a school and it'll be used to create tests from questions. The teacher will: 1. Select grade (could be multiple selection) 2. Select class 3. Select subject The thing is that same question could be used for multiple grades.
Example query: "Get me questions of trigonometry of math from grades 7,8,9"
(Names used instead of ID's to make it more clear) The first design:
[BigRelationsTable] ID - QuestionID - GradeID - ClassID - SubjectID 1 - Question123 - Grade7 - Math - Trig 2 - Question123 - Grade8 - Math - Trig 3 - Question123 - Grade9 - Math - Trig
This is a simple design but all of the columns will need indexes because all of them will be used for searching and that makes me think about table performance.
Second design: [GradeClassRelations] ID - Grade - Class 1 - 7 - Math 2 - 8 - Math 3 - 9 - Math
I have 4 columns and 3 rows. Columns are Name, Age, Gender and Weight. I have values entered for each column. I need to pick the highest value of weight if Name, Age, Gender are same and put that into new table. how can i do that?
I want to implement the following query using SSIS Data flow Source component :
SELECT * FROM someTable WHERE someColumn = 'H'
How do I restrict the data coming from my data source? By that I mean how do I apply the WHERE clause in SSIS?! Should I use a conditional Split component?! but that would mean retrieving all records first then adding the split component (not the most efficient method surely).
I have created an SSIS package which pushes data from SQL Server (2005) to Oracle (Version 9.2.0.7.0), but having some issues with setting up the connection objects to Oracle.
I have attempted the connection with both the OLE DB Destination connection in SSIS and also with an ODBC connection, but both come up with the same error "ORA-12154: TNS could not resolve service name".
I am using a 32-bit version of SQL Server 2005 and the Oracle DB is 64-bit. Any ideas?