Showing posts with label physical. Show all posts
Showing posts with label physical. Show all posts

Friday, March 30, 2012

Moving an entire server(sql 2005) to a new physical machine

I'm trying to finalize the details of moving an entire sql server to a new box.

Is there a simpler way to do this? Can I restore all the system and user databases to the new server?

This is what I've done in sql 2000.

Backup all the system and user databases from the old Server (ServerB)

Install the new default server on a new box (ServerA)

script all the server level security logins from the old Server (ServerB) and create them on the new Server (ServerA)

Restore the system databases to the new Server (Server A) msdb

,tempdb,model. Restore all the user databases to the new server (Server A)

Yes...you can restore all databases to the new server.

The following articles provide more information on moving databases to another server:

How to move databases between computers that are running SQL Server

http://support.microsoft.com/kb/314546

How to move SQL Server databases to a new location by using Detach and Attach functions in SQL Server

http://support.microsoft.com/kb/224071

-Sue

Wednesday, March 28, 2012

Moving a SQL 2000 Database

What are the steps I need to take to move a SQL 2000
database from one physical drive to another on the same
machine?Look up sp_detatch_db and sp_attach_db in BOL... Or use All Tasks -> Detach
Database and All Tasks -> Attach Database in Enterprise Manager.
You'll basically just need to detach the database files, move them, then
re-attach them. Generally a fairly painless process... YMMV, so back up
first if possible!
"jeffs" <jeffs@.bumbleandbumble.com> wrote in message
news:02ef01c3a3cd$72a7d250$a301280a@.phx.gbl...
> What are the steps I need to take to move a SQL 2000
> database from one physical drive to another on the same
> machine?|||In addition to Adam's post:
Check out KB 224071.
--
Tibor Karaszi
"jeffs" <jeffs@.bumbleandbumble.com> wrote in message
news:02ef01c3a3cd$72a7d250$a301280a@.phx.gbl...
> What are the steps I need to take to move a SQL 2000
> database from one physical drive to another on the same
> machine?|||Have a look at KB article Q224071
--
RajiA
"jeffs" <jeffs@.bumbleandbumble.com> wrote in message
news:02ef01c3a3cd$72a7d250$a301280a@.phx.gbl...
> What are the steps I need to take to move a SQL 2000
> database from one physical drive to another on the same
> machine?

Monday, March 26, 2012

moving a database to another physical disk

I want to move 2 databases to another physical disk. They are both single file databases. It looks like a fairly straigtforward attach and detach procedure, but I have a couple of questions:

The log files (.ldf) currently reside on a separate physical disk from the data files, if I attach and reattach the data files will the logs remain where they are by default or do I have to re specify there location?

Is there any advantage to running the update statistics portion of the sp_detach_db?with the re-attach procedure you can specify the location of the log file as well. See the article in BOL and this is probably the quickest method. However the same thing can be done with backup and restore using the with move and replace arguments.

Friday, March 9, 2012

Move physical database files?

We have SQL server setup on one of our machines that is partitioned out. We
have the OS on drive C: and drive E: setup to house data. The problem is we
forgot that SQL server by default houses the actual data files on the C
drive in the SQL server directory. Our databases are already setup. What is
the best way to move those physical data files OFF the C drive and onto the
E drive. I tried through Enterprise Manager, but wasn't quite sure how. I
also tried stopping the services and making a copy of the files onto the E
drive and then creating a new database pointing to those copied files, but
that didn't work either. What's the best way to go about this. Bottom line,
we don't want the data files on the same partition as the OS. THANKS.You can do it with the help of sp_detach_db and sp_attach_db.
first use the sp_detach_db command to detach the database.
Eg
sp_detach_db 'pubs'
copy data and tran. log files to the destination drive.
after copying the files, you can use the sp_attach_db stored procedure to reattach the files to SQL
Server with the new location
See more help on this in BOL.
--
- Vishal|||Hi
Best way to do it is right click on the database you wnt
to move and say "detach" (you won't be able to detach
system databases but you can probably just leave them on
your C drive) . Then move the data and log files to the
drive where you want them. Then right click on Databases
in Enterprise manager and go to "all tasks", "Attach
database". Browse for the *.mdf in yournew location..the
rest is self explanatory.
Enjoy
-Jono|||The detach/attach thing worked perfectly. THANKS.
"Jono" <false@.me.co.nz> wrote in message
news:26d7301c38ebd$69c8db40$a601280a@.phx.gbl...
> Hi
> Best way to do it is right click on the database you wnt
> to move and say "detach" (you won't be able to detach
> system databases but you can probably just leave them on
> your C drive) . Then move the data and log files to the
> drive where you want them. Then right click on Databases
> in Enterprise manager and go to "all tasks", "Attach
> database". Browse for the *.mdf in yournew location..the
> rest is self explanatory.
> Enjoy
> -Jono|||In addition to the other posts, if you need to move files for the system databases, read article
224071.
--
Tibor Karaszi, SQL Server MVP
Archive at: http://groups.google.com/groups?oi=djq&as ugroup=microsoft.public.sqlserver
"Erich" <erich93063@.hotmail.com> wrote in message news:uQeaJrrjDHA.392@.TK2MSFTNGP11.phx.gbl...
> We have SQL server setup on one of our machines that is partitioned out. We
> have the OS on drive C: and drive E: setup to house data. The problem is we
> forgot that SQL server by default houses the actual data files on the C
> drive in the SQL server directory. Our databases are already setup. What is
> the best way to move those physical data files OFF the C drive and onto the
> E drive. I tried through Enterprise Manager, but wasn't quite sure how. I
> also tried stopping the services and making a copy of the files onto the E
> drive and then creating a new database pointing to those copied files, but
> that didn't work either. What's the best way to go about this. Bottom line,
> we don't want the data files on the same partition as the OS. THANKS.
>

MOVE physical data file to another foler?

Is there any way that I can MOVE databases physical files
to different folder in same server? I had a restored many
databases from another server using BackupExec but it
created a folder MSSQL7 which is come from original path.
Now, my new server with SQL2000 located at MSSQL\DATA and
after restored using backupexec it put them at MSSQL7
\DATA, I have two Data folders which we don't like it.
I tried to use Copy DB wizard but it won't let me copy in
same SQL instence.
Please let me know you have any suggestion on this.
Thanks
SunnySunny,
INF: Moving SQL Server Databases to a New Location with Detach/Attach
http://support.microsoft.com/default.aspx?scid=kb;en-us;Q224071
--
Dinesh.
SQL Server FAQ at
http://www.tkdinesh.com
"lintadsl" <lintadsl@.yahoo.com> wrote in message
news:05b901c35ac8$e6ffd1f0$a101280a@.phx.gbl...
> Is there any way that I can MOVE databases physical files
> to different folder in same server? I had a restored many
> databases from another server using BackupExec but it
> created a folder MSSQL7 which is come from original path.
> Now, my new server with SQL2000 located at MSSQL\DATA and
> after restored using backupexec it put them at MSSQL7
> \DATA, I have two Data folders which we don't like it.
> I tried to use Copy DB wizard but it won't let me copy in
> same SQL instence.
> Please let me know you have any suggestion on this.
> Thanks
> Sunny|||Thank you for the link.
I will take a little more time before post a question here.
That link was big help! Actually it tells me what I need.
Have a nice day.
Sunny
>--Original Message--
>Sunny,
>INF: Moving SQL Server Databases to a New Location with
Detach/Attach
>http://support.microsoft.com/default.aspx?scid=kb;en-
us;Q224071
>--
>Dinesh.
>SQL Server FAQ at
>http://www.tkdinesh.com
>"lintadsl" <lintadsl@.yahoo.com> wrote in message
>news:05b901c35ac8$e6ffd1f0$a101280a@.phx.gbl...
>> Is there any way that I can MOVE databases physical
files
>> to different folder in same server? I had a restored
many
>> databases from another server using BackupExec but it
>> created a folder MSSQL7 which is come from original
path.
>> Now, my new server with SQL2000 located at MSSQL\DATA
and
>> after restored using backupexec it put them at MSSQL7
>> \DATA, I have two Data folders which we don't like it.
>> I tried to use Copy DB wizard but it won't let me copy
in
>> same SQL instence.
>> Please let me know you have any suggestion on this.
>> Thanks
>> Sunny
>
>.
>

Saturday, February 25, 2012

Move databases to a larger drive

I have a SQL 6.5 server running on WinNTthat was recently upgraded. The
SQLServer service was stopped, the physical files were manually copied to
the new larger drives, and the SQLServer service was restarted. The problem
is that now when I go to expand the databases (the entire purpose of the
upgrade) SQL Exec doesn't appear to see the larger drive capacity. The
drive lettering was adjusted such that the new larger drives containing the
databases have the drive letters of the original drives, and SQL Exec sees
the databases and brings them online. Is there some other process I should
have used? Is there a way to get SQL Exec to recognize the empty space on
the new drive? Any and all help is greatly appreciated.
One must ask..
What the hell are you still doing on 6.5!
"Jason Rosenblum" <jrosenblum@.wcmh.org> wrote in message
news:O$i6htcfEHA.4092@.TK2MSFTNGP10.phx.gbl...
> I have a SQL 6.5 server running on WinNTthat was recently upgraded. The
> SQLServer service was stopped, the physical files were manually copied to
> the new larger drives, and the SQLServer service was restarted. The
problem
> is that now when I go to expand the databases (the entire purpose of the
> upgrade) SQL Exec doesn't appear to see the larger drive capacity. The
> drive lettering was adjusted such that the new larger drives containing
the
> databases have the drive letters of the original drives, and SQL Exec sees
> the databases and brings them online. Is there some other process I
should
> have used? Is there a way to get SQL Exec to recognize the empty space on
> the new drive? Any and all help is greatly appreciated.
>
|||Hi,
Have a look into the below link. ( Describes the various methods to load XML
to SQl 2000 tables)
http://www.perfectxml.com/articles/xml/importxmlsql.asp
Thanks
Hari
MCDBA
"Jason Rosenblum" <jrosenblum@.wcmh.org> wrote in message
news:O$i6htcfEHA.4092@.TK2MSFTNGP10.phx.gbl...
> I have a SQL 6.5 server running on WinNTthat was recently upgraded. The
> SQLServer service was stopped, the physical files were manually copied to
> the new larger drives, and the SQLServer service was restarted. The
problem
> is that now when I go to expand the databases (the entire purpose of the
> upgrade) SQL Exec doesn't appear to see the larger drive capacity. The
> drive lettering was adjusted such that the new larger drives containing
the
> databases have the drive letters of the original drives, and SQL Exec sees
> the databases and brings them online. Is there some other process I
should
> have used? Is there a way to get SQL Exec to recognize the empty space on
> the new drive? Any and all help is greatly appreciated.
>
|||Sorry I posted.. wrongly...
Thanks
Hari
"Hari Prasad" <hari_prasad_k@.hotmail.com> wrote in message
news:OfImQ8dfEHA.592@.TK2MSFTNGP11.phx.gbl...
> Hi,
> Have a look into the below link. ( Describes the various methods to load
XML[vbcol=seagreen]
> to SQl 2000 tables)
> http://www.perfectxml.com/articles/xml/importxmlsql.asp
> Thanks
> Hari
> MCDBA
>
> "Jason Rosenblum" <jrosenblum@.wcmh.org> wrote in message
> news:O$i6htcfEHA.4092@.TK2MSFTNGP10.phx.gbl...
to[vbcol=seagreen]
> problem
> the
sees[vbcol=seagreen]
> should
on
>

Move databases to a larger drive

I have a SQL 6.5 server running on WinNTthat was recently upgraded. The
SQLServer service was stopped, the physical files were manually copied to
the new larger drives, and the SQLServer service was restarted. The problem
is that now when I go to expand the databases (the entire purpose of the
upgrade) SQL Exec doesn't appear to see the larger drive capacity. The
drive lettering was adjusted such that the new larger drives containing the
databases have the drive letters of the original drives, and SQL Exec sees
the databases and brings them online. Is there some other process I should
have used? Is there a way to get SQL Exec to recognize the empty space on
the new drive? Any and all help is greatly appreciated.One must ask..
What the hell are you still doing on 6.5!
"Jason Rosenblum" <jrosenblum@.wcmh.org> wrote in message
news:O$i6htcfEHA.4092@.TK2MSFTNGP10.phx.gbl...
> I have a SQL 6.5 server running on WinNTthat was recently upgraded. The
> SQLServer service was stopped, the physical files were manually copied to
> the new larger drives, and the SQLServer service was restarted. The
problem
> is that now when I go to expand the databases (the entire purpose of the
> upgrade) SQL Exec doesn't appear to see the larger drive capacity. The
> drive lettering was adjusted such that the new larger drives containing
the
> databases have the drive letters of the original drives, and SQL Exec sees
> the databases and brings them online. Is there some other process I
should
> have used? Is there a way to get SQL Exec to recognize the empty space on
> the new drive? Any and all help is greatly appreciated.
>|||Hi,
Have a look into the below link. ( Describes the various methods to load XML
to SQl 2000 tables)
http://www.perfectxml.com/articles/xml/importxmlsql.asp
Thanks
Hari
MCDBA
"Jason Rosenblum" <jrosenblum@.wcmh.org> wrote in message
news:O$i6htcfEHA.4092@.TK2MSFTNGP10.phx.gbl...
> I have a SQL 6.5 server running on WinNTthat was recently upgraded. The
> SQLServer service was stopped, the physical files were manually copied to
> the new larger drives, and the SQLServer service was restarted. The
problem
> is that now when I go to expand the databases (the entire purpose of the
> upgrade) SQL Exec doesn't appear to see the larger drive capacity. The
> drive lettering was adjusted such that the new larger drives containing
the
> databases have the drive letters of the original drives, and SQL Exec sees
> the databases and brings them online. Is there some other process I
should
> have used? Is there a way to get SQL Exec to recognize the empty space on
> the new drive? Any and all help is greatly appreciated.
>|||Sorry I posted.. wrongly...
Thanks
Hari
"Hari Prasad" <hari_prasad_k@.hotmail.com> wrote in message
news:OfImQ8dfEHA.592@.TK2MSFTNGP11.phx.gbl...
> Hi,
> Have a look into the below link. ( Describes the various methods to load
XML
> to SQl 2000 tables)
> http://www.perfectxml.com/articles/xml/importxmlsql.asp
> Thanks
> Hari
> MCDBA
>
> "Jason Rosenblum" <jrosenblum@.wcmh.org> wrote in message
> news:O$i6htcfEHA.4092@.TK2MSFTNGP10.phx.gbl...
to[vbcol=seagreen]
> problem
> the
sees[vbcol=seagreen]
> should
on[vbcol=seagreen]
>

Move databases to a larger drive

I have a SQL 6.5 server running on WinNTthat was recently upgraded. The
SQLServer service was stopped, the physical files were manually copied to
the new larger drives, and the SQLServer service was restarted. The problem
is that now when I go to expand the databases (the entire purpose of the
upgrade) SQL Exec doesn't appear to see the larger drive capacity. The
drive lettering was adjusted such that the new larger drives containing the
databases have the drive letters of the original drives, and SQL Exec sees
the databases and brings them online. Is there some other process I should
have used? Is there a way to get SQL Exec to recognize the empty space on
the new drive? Any and all help is greatly appreciated.One must ask..
What the hell are you still doing on 6.5!
"Jason Rosenblum" <jrosenblum@.wcmh.org> wrote in message
news:O$i6htcfEHA.4092@.TK2MSFTNGP10.phx.gbl...
> I have a SQL 6.5 server running on WinNTthat was recently upgraded. The
> SQLServer service was stopped, the physical files were manually copied to
> the new larger drives, and the SQLServer service was restarted. The
problem
> is that now when I go to expand the databases (the entire purpose of the
> upgrade) SQL Exec doesn't appear to see the larger drive capacity. The
> drive lettering was adjusted such that the new larger drives containing
the
> databases have the drive letters of the original drives, and SQL Exec sees
> the databases and brings them online. Is there some other process I
should
> have used? Is there a way to get SQL Exec to recognize the empty space on
> the new drive? Any and all help is greatly appreciated.
>|||Hi,
Have a look into the below link. ( Describes the various methods to load XML
to SQl 2000 tables)
http://www.perfectxml.com/articles/xml/importxmlsql.asp
Thanks
Hari
MCDBA
"Jason Rosenblum" <jrosenblum@.wcmh.org> wrote in message
news:O$i6htcfEHA.4092@.TK2MSFTNGP10.phx.gbl...
> I have a SQL 6.5 server running on WinNTthat was recently upgraded. The
> SQLServer service was stopped, the physical files were manually copied to
> the new larger drives, and the SQLServer service was restarted. The
problem
> is that now when I go to expand the databases (the entire purpose of the
> upgrade) SQL Exec doesn't appear to see the larger drive capacity. The
> drive lettering was adjusted such that the new larger drives containing
the
> databases have the drive letters of the original drives, and SQL Exec sees
> the databases and brings them online. Is there some other process I
should
> have used? Is there a way to get SQL Exec to recognize the empty space on
> the new drive? Any and all help is greatly appreciated.
>|||Sorry I posted.. wrongly...
Thanks
Hari
"Hari Prasad" <hari_prasad_k@.hotmail.com> wrote in message
news:OfImQ8dfEHA.592@.TK2MSFTNGP11.phx.gbl...
> Hi,
> Have a look into the below link. ( Describes the various methods to load
XML
> to SQl 2000 tables)
> http://www.perfectxml.com/articles/xml/importxmlsql.asp
> Thanks
> Hari
> MCDBA
>
> "Jason Rosenblum" <jrosenblum@.wcmh.org> wrote in message
> news:O$i6htcfEHA.4092@.TK2MSFTNGP10.phx.gbl...
> > I have a SQL 6.5 server running on WinNTthat was recently upgraded. The
> > SQLServer service was stopped, the physical files were manually copied
to
> > the new larger drives, and the SQLServer service was restarted. The
> problem
> > is that now when I go to expand the databases (the entire purpose of the
> > upgrade) SQL Exec doesn't appear to see the larger drive capacity. The
> > drive lettering was adjusted such that the new larger drives containing
> the
> > databases have the drive letters of the original drives, and SQL Exec
sees
> > the databases and brings them online. Is there some other process I
> should
> > have used? Is there a way to get SQL Exec to recognize the empty space
on
> > the new drive? Any and all help is greatly appreciated.
> >
> >
>

Monday, February 20, 2012

Moving indexes on another physical drive

I have SQL Server, which quite often have 200 transaction/second. It is
expected what the load, during this year, would be increased up to 1000
transactions per second. The database relatively small, can be loaded in
memory. All tables which often used by queries pinned in memory, with
'pintable' option. IO system - DELL CX300, with write cache enabled. I have 3
disks, which can be used for SQL Server files. Currently I use one 2 of them,
1 for data file and 1 for log file. I try to find how to use another disk to
speed up queries and to have more even distribution of transaction times. I
think to move indexes on another physical drive, so data would be on one
disk, and indexes on another. I guess it would reduce average and maximum
wait time on latches during checkpoints. Is it true, what can be expected
from this movement of indexes?
Another idea which I have - use two drives for data, one for log. In this
case I would create filegroup whih would include two data files on different
drives, and data would be evenly distributed across drives. Is it better in
terms of performance and to have more even distribution of transaction times?
May be there is better way to use 3dr drive?
Hi
Have you looked at your disk queues?
Are your data and logs, on seperate RAID-10 volumes, and each RAID-10 volume
on different spindles?
On some of our larger systems, we have seen pinning a table actually
degraded performance as the tables were taking space that could have better
been used for dirty buffers.
Mike Epprecht, Microsoft SQL Server MVP
Zurich, Switzerland
MVP Program: http://www.microsoft.com/mvp
Blog: http://www.msmvps.com/epprecht/
"andsm" wrote:

> I have SQL Server, which quite often have 200 transaction/second. It is
> expected what the load, during this year, would be increased up to 1000
> transactions per second. The database relatively small, can be loaded in
> memory. All tables which often used by queries pinned in memory, with
> 'pintable' option. IO system - DELL CX300, with write cache enabled. I have 3
> disks, which can be used for SQL Server files. Currently I use one 2 of them,
> 1 for data file and 1 for log file. I try to find how to use another disk to
> speed up queries and to have more even distribution of transaction times. I
> think to move indexes on another physical drive, so data would be on one
> disk, and indexes on another. I guess it would reduce average and maximum
> wait time on latches during checkpoints. Is it true, what can be expected
> from this movement of indexes?
> Another idea which I have - use two drives for data, one for log. In this
> case I would create filegroup whih would include two data files on different
> drives, and data would be evenly distributed across drives. Is it better in
> terms of performance and to have more even distribution of transaction times?
> May be there is better way to use 3dr drive?
|||Hi
You can move heavy quering table/s to another physical disk , please note
physical not logical.
You are right , separating LOG and DATA files will improve the performance
of the database.
If your database is small and the tables are small as well why do you want
at least at this moment to move the tabes/indexes, did you start to get slow
response?
"andsm" <andsm@.discussions.microsoft.com> wrote in message
news:7988A160-301C-4BE2-A7FC-9B9090E62831@.microsoft.com...
> I have SQL Server, which quite often have 200 transaction/second. It is
> expected what the load, during this year, would be increased up to 1000
> transactions per second. The database relatively small, can be loaded in
> memory. All tables which often used by queries pinned in memory, with
> 'pintable' option. IO system - DELL CX300, with write cache enabled. I
have 3
> disks, which can be used for SQL Server files. Currently I use one 2 of
them,
> 1 for data file and 1 for log file. I try to find how to use another disk
to
> speed up queries and to have more even distribution of transaction times.
I
> think to move indexes on another physical drive, so data would be on one
> disk, and indexes on another. I guess it would reduce average and maximum
> wait time on latches during checkpoints. Is it true, what can be expected
> from this movement of indexes?
> Another idea which I have - use two drives for data, one for log. In this
> case I would create filegroup whih would include two data files on
different
> drives, and data would be evenly distributed across drives. Is it better
in
> terms of performance and to have more even distribution of transaction
times?
> May be there is better way to use 3dr drive?
|||More importantly than what the others have suggested, when you say current
activity is 200 TPS and future activity is 1,000 TPS, that is a pretty big
jump.
What is the nature of this activity? 50% Reads/50% Writes? 75% Reads/25%
Writes? 25% Reads/75% Writes?
Can you tell what the current I/O OPS are? What is the projection?
A single physical disk (1 spindle, dedicated) can achieve perhaps 100-200
I/O OPS, depending on the R/W and physical disk metrics. For this much
activity, you do not want to drive this disk much above 65% on average.
Every transaction will involve a serial log write and a random data write,
eventually. You should have at least a sufficient number of spindles to
cover your anticipated I/O OPS, both for data and log activity.
For example, if you feel you have 300 I/O OPS, you should have at least 2;
however, especially with a dedicated storage solution, you should stripe at
least six spindles per LUN, at a minimum. If you can't achieve the minimum,
then you may consider a technique called Disk Plaiding, which is striping
your LUN at the hardware level, but then do as you suggest, and multi-file
each SQL Server filegroup. This way you have hardware striping and DBMS
striping across those (a Plaid...checkerboard pattern) of distributed data.
The LUN striping should be Raid, of course, or mirrored sets of
Hyper-volumes, called Meta-volumes. This is effectively RAID 10, but know
that hyper-volumes are only a slice of a disk and any single disk (1
spindle) could be shared out, hyper by hyper, to several hosts. You must
take this into account when trying to count I/O OPS per spindle.
You should really work with your Storage Management to communicate the
capacity requirements. Barring that, contact your storage technical rep.
Be careful though, many will tell you that it doesn't matter and try to give
you one big volume. It matters and they are full of hooey. All of the
major storage providers and Microsoft publish white papers on how to set up
external storage for DBMS support. Use those.
Sincerely,
Anthony Thomas

"andsm" <andsm@.discussions.microsoft.com> wrote in message
news:7988A160-301C-4BE2-A7FC-9B9090E62831@.microsoft.com...
I have SQL Server, which quite often have 200 transaction/second. It is
expected what the load, during this year, would be increased up to 1000
transactions per second. The database relatively small, can be loaded in
memory. All tables which often used by queries pinned in memory, with
'pintable' option. IO system - DELL CX300, with write cache enabled. I have
3
disks, which can be used for SQL Server files. Currently I use one 2 of
them,
1 for data file and 1 for log file. I try to find how to use another disk to
speed up queries and to have more even distribution of transaction times. I
think to move indexes on another physical drive, so data would be on one
disk, and indexes on another. I guess it would reduce average and maximum
wait time on latches during checkpoints. Is it true, what can be expected
from this movement of indexes?
Another idea which I have - use two drives for data, one for log. In this
case I would create filegroup whih would include two data files on different
drives, and data would be evenly distributed across drives. Is it better in
terms of performance and to have more even distribution of transaction
times?
May be there is better way to use 3dr drive?

Moving indexes on another physical drive

I have SQL Server, which quite often have 200 transaction/second. It is
expected what the load, during this year, would be increased up to 1000
transactions per second. The database relatively small, can be loaded in
memory. All tables which often used by queries pinned in memory, with
'pintable' option. IO system - DELL CX300, with write cache enabled. I have 3
disks, which can be used for SQL Server files. Currently I use one 2 of them,
1 for data file and 1 for log file. I try to find how to use another disk to
speed up queries and to have more even distribution of transaction times. I
think to move indexes on another physical drive, so data would be on one
disk, and indexes on another. I guess it would reduce average and maximum
wait time on latches during checkpoints. Is it true, what can be expected
from this movement of indexes?
Another idea which I have - use two drives for data, one for log. In this
case I would create filegroup whih would include two data files on different
drives, and data would be evenly distributed across drives. Is it better in
terms of performance and to have more even distribution of transaction times?
May be there is better way to use 3dr drive?Hi
Have you looked at your disk queues?
Are your data and logs, on seperate RAID-10 volumes, and each RAID-10 volume
on different spindles?
On some of our larger systems, we have seen pinning a table actually
degraded performance as the tables were taking space that could have better
been used for dirty buffers.
--
Mike Epprecht, Microsoft SQL Server MVP
Zurich, Switzerland
MVP Program: http://www.microsoft.com/mvp
Blog: http://www.msmvps.com/epprecht/
"andsm" wrote:
> I have SQL Server, which quite often have 200 transaction/second. It is
> expected what the load, during this year, would be increased up to 1000
> transactions per second. The database relatively small, can be loaded in
> memory. All tables which often used by queries pinned in memory, with
> 'pintable' option. IO system - DELL CX300, with write cache enabled. I have 3
> disks, which can be used for SQL Server files. Currently I use one 2 of them,
> 1 for data file and 1 for log file. I try to find how to use another disk to
> speed up queries and to have more even distribution of transaction times. I
> think to move indexes on another physical drive, so data would be on one
> disk, and indexes on another. I guess it would reduce average and maximum
> wait time on latches during checkpoints. Is it true, what can be expected
> from this movement of indexes?
> Another idea which I have - use two drives for data, one for log. In this
> case I would create filegroup whih would include two data files on different
> drives, and data would be evenly distributed across drives. Is it better in
> terms of performance and to have more even distribution of transaction times?
> May be there is better way to use 3dr drive?|||Hi
You can move heavy quering table/s to another physical disk , please note
physical not logical.
You are right , separating LOG and DATA files will improve the performance
of the database.
If your database is small and the tables are small as well why do you want
at least at this moment to move the tabes/indexes, did you start to get slow
response?
"andsm" <andsm@.discussions.microsoft.com> wrote in message
news:7988A160-301C-4BE2-A7FC-9B9090E62831@.microsoft.com...
> I have SQL Server, which quite often have 200 transaction/second. It is
> expected what the load, during this year, would be increased up to 1000
> transactions per second. The database relatively small, can be loaded in
> memory. All tables which often used by queries pinned in memory, with
> 'pintable' option. IO system - DELL CX300, with write cache enabled. I
have 3
> disks, which can be used for SQL Server files. Currently I use one 2 of
them,
> 1 for data file and 1 for log file. I try to find how to use another disk
to
> speed up queries and to have more even distribution of transaction times.
I
> think to move indexes on another physical drive, so data would be on one
> disk, and indexes on another. I guess it would reduce average and maximum
> wait time on latches during checkpoints. Is it true, what can be expected
> from this movement of indexes?
> Another idea which I have - use two drives for data, one for log. In this
> case I would create filegroup whih would include two data files on
different
> drives, and data would be evenly distributed across drives. Is it better
in
> terms of performance and to have more even distribution of transaction
times?
> May be there is better way to use 3dr drive?|||More importantly than what the others have suggested, when you say current
activity is 200 TPS and future activity is 1,000 TPS, that is a pretty big
jump.
What is the nature of this activity? 50% Reads/50% Writes? 75% Reads/25%
Writes? 25% Reads/75% Writes?
Can you tell what the current I/O OPS are? What is the projection?
A single physical disk (1 spindle, dedicated) can achieve perhaps 100-200
I/O OPS, depending on the R/W and physical disk metrics. For this much
activity, you do not want to drive this disk much above 65% on average.
Every transaction will involve a serial log write and a random data write,
eventually. You should have at least a sufficient number of spindles to
cover your anticipated I/O OPS, both for data and log activity.
For example, if you feel you have 300 I/O OPS, you should have at least 2;
however, especially with a dedicated storage solution, you should stripe at
least six spindles per LUN, at a minimum. If you can't achieve the minimum,
then you may consider a technique called Disk Plaiding, which is striping
your LUN at the hardware level, but then do as you suggest, and multi-file
each SQL Server filegroup. This way you have hardware striping and DBMS
striping across those (a Plaid...checkerboard pattern) of distributed data.
The LUN striping should be Raid, of course, or mirrored sets of
Hyper-volumes, called Meta-volumes. This is effectively RAID 10, but know
that hyper-volumes are only a slice of a disk and any single disk (1
spindle) could be shared out, hyper by hyper, to several hosts. You must
take this into account when trying to count I/O OPS per spindle.
You should really work with your Storage Management to communicate the
capacity requirements. Barring that, contact your storage technical rep.
Be careful though, many will tell you that it doesn't matter and try to give
you one big volume. It matters and they are full of hooey. All of the
major storage providers and Microsoft publish white papers on how to set up
external storage for DBMS support. Use those.
Sincerely,
Anthony Thomas
"andsm" <andsm@.discussions.microsoft.com> wrote in message
news:7988A160-301C-4BE2-A7FC-9B9090E62831@.microsoft.com...
I have SQL Server, which quite often have 200 transaction/second. It is
expected what the load, during this year, would be increased up to 1000
transactions per second. The database relatively small, can be loaded in
memory. All tables which often used by queries pinned in memory, with
'pintable' option. IO system - DELL CX300, with write cache enabled. I have
3
disks, which can be used for SQL Server files. Currently I use one 2 of
them,
1 for data file and 1 for log file. I try to find how to use another disk to
speed up queries and to have more even distribution of transaction times. I
think to move indexes on another physical drive, so data would be on one
disk, and indexes on another. I guess it would reduce average and maximum
wait time on latches during checkpoints. Is it true, what can be expected
from this movement of indexes?
Another idea which I have - use two drives for data, one for log. In this
case I would create filegroup whih would include two data files on different
drives, and data would be evenly distributed across drives. Is it better in
terms of performance and to have more even distribution of transaction
times?
May be there is better way to use 3dr drive?

Moving indexes on another physical drive

I have SQL Server, which quite often have 200 transaction/second. It is
expected what the load, during this year, would be increased up to 1000
transactions per second. The database relatively small, can be loaded in
memory. All tables which often used by queries pinned in memory, with
'pintable' option. IO system - DELL CX300, with write cache enabled. I have
3
disks, which can be used for SQL Server files. Currently I use one 2 of them
,
1 for data file and 1 for log file. I try to find how to use another disk to
speed up queries and to have more even distribution of transaction times. I
think to move indexes on another physical drive, so data would be on one
disk, and indexes on another. I guess it would reduce average and maximum
wait time on latches during checkpoints. Is it true, what can be expected
from this movement of indexes?
Another idea which I have - use two drives for data, one for log. In this
case I would create filegroup whih would include two data files on different
drives, and data would be evenly distributed across drives. Is it better in
terms of performance and to have more even distribution of transaction times
?
May be there is better way to use 3dr drive?Hi
Have you looked at your disk queues?
Are your data and logs, on seperate RAID-10 volumes, and each RAID-10 volume
on different spindles?
On some of our larger systems, we have seen pinning a table actually
degraded performance as the tables were taking space that could have better
been used for dirty buffers.
Mike Epprecht, Microsoft SQL Server MVP
Zurich, Switzerland
MVP Program: http://www.microsoft.com/mvp
Blog: http://www.msmvps.com/epprecht/
"andsm" wrote:

> I have SQL Server, which quite often have 200 transaction/second. It is
> expected what the load, during this year, would be increased up to 1000
> transactions per second. The database relatively small, can be loaded in
> memory. All tables which often used by queries pinned in memory, with
> 'pintable' option. IO system - DELL CX300, with write cache enabled. I hav
e 3
> disks, which can be used for SQL Server files. Currently I use one 2 of th
em,
> 1 for data file and 1 for log file. I try to find how to use another disk
to
> speed up queries and to have more even distribution of transaction times.
I
> think to move indexes on another physical drive, so data would be on one
> disk, and indexes on another. I guess it would reduce average and maximum
> wait time on latches during checkpoints. Is it true, what can be expected
> from this movement of indexes?
> Another idea which I have - use two drives for data, one for log. In this
> case I would create filegroup whih would include two data files on differe
nt
> drives, and data would be evenly distributed across drives. Is it better i
n
> terms of performance and to have more even distribution of transaction tim
es?
> May be there is better way to use 3dr drive?|||Hi
You can move heavy quering table/s to another physical disk , please note
physical not logical.
You are right , separating LOG and DATA files will improve the performance
of the database.
If your database is small and the tables are small as well why do you want
at least at this moment to move the tabes/indexes, did you start to get slow
response?
"andsm" <andsm@.discussions.microsoft.com> wrote in message
news:7988A160-301C-4BE2-A7FC-9B9090E62831@.microsoft.com...
> I have SQL Server, which quite often have 200 transaction/second. It is
> expected what the load, during this year, would be increased up to 1000
> transactions per second. The database relatively small, can be loaded in
> memory. All tables which often used by queries pinned in memory, with
> 'pintable' option. IO system - DELL CX300, with write cache enabled. I
have 3
> disks, which can be used for SQL Server files. Currently I use one 2 of
them,
> 1 for data file and 1 for log file. I try to find how to use another disk
to
> speed up queries and to have more even distribution of transaction times.
I
> think to move indexes on another physical drive, so data would be on one
> disk, and indexes on another. I guess it would reduce average and maximum
> wait time on latches during checkpoints. Is it true, what can be expected
> from this movement of indexes?
> Another idea which I have - use two drives for data, one for log. In this
> case I would create filegroup whih would include two data files on
different
> drives, and data would be evenly distributed across drives. Is it better
in
> terms of performance and to have more even distribution of transaction
times?
> May be there is better way to use 3dr drive?|||More importantly than what the others have suggested, when you say current
activity is 200 TPS and future activity is 1,000 TPS, that is a pretty big
jump.
What is the nature of this activity? 50% Reads/50% Writes? 75% Reads/25%
Writes? 25% Reads/75% Writes?
Can you tell what the current I/O OPS are? What is the projection?
A single physical disk (1 spindle, dedicated) can achieve perhaps 100-200
I/O OPS, depending on the R/W and physical disk metrics. For this much
activity, you do not want to drive this disk much above 65% on average.
Every transaction will involve a serial log write and a random data write,
eventually. You should have at least a sufficient number of spindles to
cover your anticipated I/O OPS, both for data and log activity.
For example, if you feel you have 300 I/O OPS, you should have at least 2;
however, especially with a dedicated storage solution, you should stripe at
least six spindles per LUN, at a minimum. If you can't achieve the minimum,
then you may consider a technique called Disk Plaiding, which is striping
your LUN at the hardware level, but then do as you suggest, and multi-file
each SQL Server filegroup. This way you have hardware striping and DBMS
striping across those (a Plaid...checkerboard pattern) of distributed data.
The LUN striping should be Raid, of course, or mirrored sets of
Hyper-volumes, called Meta-volumes. This is effectively RAID 10, but know
that hyper-volumes are only a slice of a disk and any single disk (1
spindle) could be shared out, hyper by hyper, to several hosts. You must
take this into account when trying to count I/O OPS per spindle.
You should really work with your Storage Management to communicate the
capacity requirements. Barring that, contact your storage technical rep.
Be careful though, many will tell you that it doesn't matter and try to give
you one big volume. It matters and they are full of hooey. All of the
major storage providers and Microsoft publish white papers on how to set up
external storage for DBMS support. Use those.
Sincerely,
Anthony Thomas
"andsm" <andsm@.discussions.microsoft.com> wrote in message
news:7988A160-301C-4BE2-A7FC-9B9090E62831@.microsoft.com...
I have SQL Server, which quite often have 200 transaction/second. It is
expected what the load, during this year, would be increased up to 1000
transactions per second. The database relatively small, can be loaded in
memory. All tables which often used by queries pinned in memory, with
'pintable' option. IO system - DELL CX300, with write cache enabled. I have
3
disks, which can be used for SQL Server files. Currently I use one 2 of
them,
1 for data file and 1 for log file. I try to find how to use another disk to
speed up queries and to have more even distribution of transaction times. I
think to move indexes on another physical drive, so data would be on one
disk, and indexes on another. I guess it would reduce average and maximum
wait time on latches during checkpoints. Is it true, what can be expected
from this movement of indexes?
Another idea which I have - use two drives for data, one for log. In this
case I would create filegroup whih would include two data files on different
drives, and data would be evenly distributed across drives. Is it better in
terms of performance and to have more even distribution of transaction
times?
May be there is better way to use 3dr drive?