Thursday, March 29, 2012

DBA guru advice - changes to production database

Hello -
I need to find out how to be able to change a production database, i.e.,
adding a column to a table that will necessitate changes to multiple stored
procedures, without shutting down the application that depends on the
database (or at least shutting it down for the least amount of time
possible). How are 24 X 7 production database changes normally made?
Can anyone explain the procedure to me and/or provide links to reading
material that explains how to do this?
Any help will be greatly appreciated. I am a programmer and these are
entirely new waters for me!
Sandy
Stuff like this is usually done through a documented process. You develop
the scripts in a dev environment and then apply them on a copy of production
in a test environment. If you are adding a NOT NULL column to a production
table, this can take a very long time, if you have many millions of rows.
You may have to XXX the column as NULL and then populate the table
iteratively. This, too, should be tested on a copy of prod first.
Tom
Thomas A. Moreau, BSc, PhD, MCSE, MCDBA, MCITP, MCTS
SQL Server MVP
Toronto, ON Canada
..
"Sandy" <Sandy@.discussions.microsoft.com> wrote in message
news:19C65DEA-BF61-4B4D-88D9-67BA62C828A6@.microsoft.com...
Hello -
I need to find out how to be able to change a production database, i.e.,
adding a column to a table that will necessitate changes to multiple stored
procedures, without shutting down the application that depends on the
database (or at least shutting it down for the least amount of time
possible). How are 24 X 7 production database changes normally made?
Can anyone explain the procedure to me and/or provide links to reading
material that explains how to do this?
Any help will be greatly appreciated. I am a programmer and these are
entirely new waters for me!
Sandy
|||"Sandy" <Sandy@.discussions.microsoft.com> wrote in message
news:19C65DEA-BF61-4B4D-88D9-67BA62C828A6@.microsoft.com...
> Hello -
> I need to find out how to be able to change a production database, i.e.,
> adding a column to a table that will necessitate changes to multiple
> stored
> procedures, without shutting down the application that depends on the
> database (or at least shutting it down for the least amount of time
> possible). How are 24 X 7 production database changes normally made?
> Can anyone explain the procedure to me and/or provide links to reading
> material that explains how to do this?
> Any help will be greatly appreciated. I am a programmer and these are
> entirely new waters for me!
> --
> Sandy
|||Thanks for your response, Tom.
Is the copy of the production database in the test environment generally on
a different server?
How do I then update the production server with the changes, after I work
with them on the test server?
I don't understand how I can run Alter Procedure and Alter Table scripts on
a 24 X 7 production server without mega problems, unless I shut down the
server for at least the time it takes for the scripts to run. Can you
clarify a little bit?
Sandy
"Tom Moreau" wrote:

> Stuff like this is usually done through a documented process. You develop
> the scripts in a dev environment and then apply them on a copy of production
> in a test environment. If you are adding a NOT NULL column to a production
> table, this can take a very long time, if you have many millions of rows.
> You may have to XXX the column as NULL and then populate the table
> iteratively. This, too, should be tested on a copy of prod first.
> --
> Tom
> ----
> Thomas A. Moreau, BSc, PhD, MCSE, MCDBA, MCITP, MCTS
> SQL Server MVP
> Toronto, ON Canada
> ..
> "Sandy" <Sandy@.discussions.microsoft.com> wrote in message
> news:19C65DEA-BF61-4B4D-88D9-67BA62C828A6@.microsoft.com...
> Hello -
> I need to find out how to be able to change a production database, i.e.,
> adding a column to a table that will necessitate changes to multiple stored
> procedures, without shutting down the application that depends on the
> database (or at least shutting it down for the least amount of time
> possible). How are 24 X 7 production database changes normally made?
> Can anyone explain the procedure to me and/or provide links to reading
> material that explains how to do this?
> Any help will be greatly appreciated. I am a programmer and these are
> entirely new waters for me!
> --
> Sandy
>
|||"Sandy" <Sandy@.discussions.microsoft.com> wrote in message
news:19C65DEA-BF61-4B4D-88D9-67BA62C828A6@.microsoft.com...
> Hello -
> I need to find out how to be able to change a production database, i.e.,
> adding a column to a table that will necessitate changes to multiple
> stored
> procedures, without shutting down the application that depends on the
> database (or at least shutting it down for the least amount of time
> possible). How are 24 X 7 production database changes normally made?
"It depends".
Partly on the scale of the database, the changes to be made, and the
resources available.
Ok, that doesn't help much I know.
Adding a column:
Depends on if the column has defaults or not. If you add a column with
defaults, then you're almost certainly going to lock the table for some
amount of time you may find unacceptable.
Now, if your stored procedures and queries are written correctly, adding a
column to a table should not be an issue. In other words you don't do
"select *" any place.
Now, for the stored procs, generally I've had "luck" doing what I needed in
a batch. Worse case though, have a script that sets the database to single
user mode, executes your script and sets it back. But watch out for errors.
It can be "bad" to have 1/2 your stored procs update, but not the other 1/2.
;-)
Another option is if you have a replicated copy or log-shipped copy of the
database you can use, is move traffic there, make changes and move back.
The problem then is handling transactions that occurred in the meantime.

> Can anyone explain the procedure to me and/or provide links to reading
> material that explains how to do this?
I don't unfortunately. In my last job I did this sort of thing all the
time, but also knew the system pretty well (but still messed up a few times
;-)
Contact me if you need more advice.

> Any help will be greatly appreciated. I am a programmer and these are
> entirely new waters for me!
> --
> Sandy
Greg Moore
SQL Server DBA Consulting Remote and Onsite available!
Email: sql (at) greenms.com http://www.greenms.com/sqlserver.html
|||"Tom Moreau" <tom@.dont.spam.me.cips.ca> wrote in message
news:OErxvtacHHA.4984@.TK2MSFTNGP05.phx.gbl...
> Stuff like this is usually done through a documented process. You develop
> the scripts in a dev environment and then apply them on a copy of
> production
> in a test environment. If you are adding a NOT NULL column to a
> production
> table, this can take a very long time, if you have many millions of rows.
> You may have to XXX the column as NULL and then populate the table
> iteratively. This, too, should be tested on a copy of prod first.
Grr, Tom's right. I meant NOT NULL, not DEFAULT in my post.
And I'll also emphasize the point he made.. do this on a copy first if you
can.
Test out your procedure as much as possible.
And have a roll-back plan!

> --
> Tom
> ----
> Thomas A. Moreau, BSc, PhD, MCSE, MCDBA, MCITP, MCTS
> SQL Server MVP
> Toronto, ON Canada
> .
> "Sandy" <Sandy@.discussions.microsoft.com> wrote in message
> news:19C65DEA-BF61-4B4D-88D9-67BA62C828A6@.microsoft.com...
> Hello -
> I need to find out how to be able to change a production database, i.e.,
> adding a column to a table that will necessitate changes to multiple
> stored
> procedures, without shutting down the application that depends on the
> database (or at least shutting it down for the least amount of time
> possible). How are 24 X 7 production database changes normally made?
> Can anyone explain the procedure to me and/or provide links to reading
> material that explains how to do this?
> Any help will be greatly appreciated. I am a programmer and these are
> entirely new waters for me!
> --
> Sandy
>
Greg Moore
SQL Server DBA Consulting Remote and Onsite available!
Email: sql (at) greenms.com http://www.greenms.com/sqlserver.html
|||Typically, you don't have a test/pre-prod database on the same physical
server. Rather, you have a separate box, of identical hardware (ideally).
This way, if your testing produces some undesirable effect, it's not
affecting production.
Whatever script you intend to run in prod - including an ALTER TABLE
script - would be run here. Once you are satisfied that it is working
properly, then run the same script in prod.
An ALTER PROC statement can be run in prod (after testing, of course). This
typically takes no time and if there is an error, the ALTER PROC fails and
you have the original proc.
Tom
Thomas A. Moreau, BSc, PhD, MCSE, MCDBA, MCITP, MCTS
SQL Server MVP
Toronto, ON Canada
..
"Sandy" <Sandy@.discussions.microsoft.com> wrote in message
news:6B577153-11DD-4DB4-AA7C-3CDFCE9926A7@.microsoft.com...
Thanks for your response, Tom.
Is the copy of the production database in the test environment generally on
a different server?
How do I then update the production server with the changes, after I work
with them on the test server?
I don't understand how I can run Alter Procedure and Alter Table scripts on
a 24 X 7 production server without mega problems, unless I shut down the
server for at least the time it takes for the scripts to run. Can you
clarify a little bit?
Sandy
"Tom Moreau" wrote:

> Stuff like this is usually done through a documented process. You develop
> the scripts in a dev environment and then apply them on a copy of
> production
> in a test environment. If you are adding a NOT NULL column to a
> production
> table, this can take a very long time, if you have many millions of rows.
> You may have to XXX the column as NULL and then populate the table
> iteratively. This, too, should be tested on a copy of prod first.
> --
> Tom
> ----
> Thomas A. Moreau, BSc, PhD, MCSE, MCDBA, MCITP, MCTS
> SQL Server MVP
> Toronto, ON Canada
> ..
> "Sandy" <Sandy@.discussions.microsoft.com> wrote in message
> news:19C65DEA-BF61-4B4D-88D9-67BA62C828A6@.microsoft.com...
> Hello -
> I need to find out how to be able to change a production database, i.e.,
> adding a column to a table that will necessitate changes to multiple
> stored
> procedures, without shutting down the application that depends on the
> database (or at least shutting it down for the least amount of time
> possible). How are 24 X 7 production database changes normally made?
> Can anyone explain the procedure to me and/or provide links to reading
> material that explains how to do this?
> Any help will be greatly appreciated. I am a programmer and these are
> entirely new waters for me!
> --
> Sandy
>
|||"Tom Moreau" <tom@.dont.spam.me.cips.ca> wrote in message
news:OVRU8FbcHHA.4888@.TK2MSFTNGP02.phx.gbl...
> Typically, you don't have a test/pre-prod database on the same physical
> server. Rather, you have a separate box, of identical hardware (ideally).
> This way, if your testing produces some undesirable effect, it's not
> affecting production.
To expand upon this, we had a dev environment, a QA, and a prod. And
sometimes even setup a "staging" environment.
Dev code could be all over the place. QA typically mirrored Prod, or real
close to it. (We'd track differences).
Staging was used for major changes or ones we expected to be more difficult.
Typically we'd take a log-shipped copy of the Production environment. That
way we'd know we were dealing with up to date data AND the same amount of
data. (Dev, QA were typically far smaller data sets.)

> Whatever script you intend to run in prod - including an ALTER TABLE
> script - would be run here. Once you are satisfied that it is working
> properly, then run the same script in prod.
> An ALTER PROC statement can be run in prod (after testing, of course).
> This
> typically takes no time and if there is an error, the ALTER PROC fails and
> you have the original proc.
Ayup. Typically in my experience, the biggest problem was getting my ALTER
PROC statement to run.
Often it was blocked by 100s of calls to the existing one that had been made
before it.
We typically created a change plan.
In it we'd detail the changes to be made (and often why).
The plan to be followed.
The tests to make sure that it succeeded.
And very importantly, the "what if something goes wrong?" plan.
Sometimes that was trivial sometimes it was fairly complex.
If it was a single procedure and the "what if" was "it didn't get applied"
then we'd do nothing.
Or worse, it was applied, but we found out the new code syntactically was
correct, but was much slower than we could afford it to be, what would we do
then?
The big question really comes down to how long the alter table scripts will
run.
Another option (which does NOT work really in a replicated environment) is
create a NEW table with all the data, fields you want, and then rename the
old one and then the new one.
This can be useful in some cases, but not all.

> --
> Tom
> ----
> Thomas A. Moreau, BSc, PhD, MCSE, MCDBA, MCITP, MCTS
> SQL Server MVP
> Toronto, ON Canada
> .
> "Sandy" <Sandy@.discussions.microsoft.com> wrote in message
> news:6B577153-11DD-4DB4-AA7C-3CDFCE9926A7@.microsoft.com...
> Thanks for your response, Tom.
> Is the copy of the production database in the test environment generally
> on
> a different server?
> How do I then update the production server with the changes, after I work
> with them on the test server?
> I don't understand how I can run Alter Procedure and Alter Table scripts
> on
> a 24 X 7 production server without mega problems, unless I shut down the
> server for at least the time it takes for the scripts to run. Can you
> clarify a little bit?
>
> --
> Sandy
>
Greg Moore
SQL Server DBA Consulting Remote and Onsite available!
Email: sql (at) greenms.com http://www.greenms.com/sqlserver.html
|||Thanks for responding, Greg -

>In other words you don't do "select *" any place.
What do you mean by the above?
What do you mean by: ". . . have a script that sets the database to single
user mode, executes your script and sets it back"?
Also, what is your best suggestion for a "rollback plan"?
Any help is greatly appreciated!
Sandy
"Greg D. Moore (Strider)" wrote:

> "Sandy" <Sandy@.discussions.microsoft.com> wrote in message
> news:19C65DEA-BF61-4B4D-88D9-67BA62C828A6@.microsoft.com...
> "It depends".
> Partly on the scale of the database, the changes to be made, and the
> resources available.
> Ok, that doesn't help much I know.
> Adding a column:
> Depends on if the column has defaults or not. If you add a column with
> defaults, then you're almost certainly going to lock the table for some
> amount of time you may find unacceptable.
> Now, if your stored procedures and queries are written correctly, adding a
> column to a table should not be an issue. In other words you don't do
> "select *" any place.
> Now, for the stored procs, generally I've had "luck" doing what I needed in
> a batch. Worse case though, have a script that sets the database to single
> user mode, executes your script and sets it back. But watch out for errors.
> It can be "bad" to have 1/2 your stored procs update, but not the other 1/2.
> ;-)
>
> Another option is if you have a replicated copy or log-shipped copy of the
> database you can use, is move traffic there, make changes and move back.
> The problem then is handling transactions that occurred in the meantime.
>
> I don't unfortunately. In my last job I did this sort of thing all the
> time, but also knew the system pretty well (but still messed up a few times
> ;-)
> Contact me if you need more advice.
>
> --
> Greg Moore
> SQL Server DBA Consulting Remote and Onsite available!
> Email: sql (at) greenms.com http://www.greenms.com/sqlserver.html
>
>
|||"Sandy" <Sandy@.discussions.microsoft.com> wrote in message
news:A0393922-029D-4B8D-AAD9-D79F8547556A@.microsoft.com...
> Thanks for responding, Greg -
>
Anytime you do a select in production code, you want to explicitely provide
the columns you are selecting.
Some programmers, being lazy will say write a select as;
SELECT * FROM tablename where Foo='bar'
This is wrong on several levels:
1) It probably brings back too much data, which is slower and consumes
bandwidth, etc.
2) It assumes the order columns are returned is constant, which is
safe...99% of the time. But not 100%
3) It assumes the number of columns is fixed. So if you add a column to the
underlying table, the query now returns one more row, which the calling code
now has to deal with. If you specify columns you only need to update the
selects that need the extra column.

> What do you mean by the above?
> What do you mean by: ". . . have a script that sets the database to
> single
> user mode, executes your script and sets it back"?
ALTER DATABASE testing SET SINGLE_USER WITH ROLLBACK IMMEDIATE
<your scripts here>
ALTER DATABASE testing SET MULTI_USER
That simply assures no one else is doing anything while your scripts run.

> Also, what is your best suggestion for a "rollback plan"?
Planning :-)
Seriously, this is a fairly complex question and depends a lot on your
situation. It's not something I can answer too easily over a newsgroup.
But basically think about what can go wrong and how to mitigate the
problems.
Create a script to add your columns and update your stored procs.
Create a script to REMOVE your columns and restore your old stored procs.
Just in case.
Stuff like that.

> Any help is greatly appreciated!
> --
> Sandy
Greg Moore
SQL Server DBA Consulting Remote and Onsite available!
Email: sql (at) greenms.com http://www.greenms.com/sqlserver.html
sql

DBA guide

Any good SQLServer DBA guides available online? Preferably
a downloadable pdf. Or online in HTML.

Thank you.Hi

The best resource is Books Online!
http://www.microsoft.com/sql/techin.../2000/books.asp

This threads may help:
http://tinyurl.com/2pn4h
http://tinyurl.com/yuebf

John
"C.O.Jones" <nospam.ple@.se> wrote in message
news:dpLBc.2436$xy4.21713054@.news-text.cableinet.net...
> Any good SQLServer DBA guides available online? Preferably
> a downloadable pdf. Or online in HTML.
> Thank you.

DBA Format

I am a developer who recently stepped in for our DBA when they (abruptly)
left and am not sure how to setup a deployment for one of our clients.
I think I could do a detach then have them attach or a backup then send them
the backup.
I would like to ask how a DBA would like to see what I am sending out.
Also, a pointer to the documentation would help.
Thanks for your help
Lance
The answer to your question depends a lot on what it actually is you're
deploying. A whole app, a database only, updates to an existing database,
...?
http://www.aspfaq.com/
(Reverse address to reply.)
"Lance Geeck" <lgeeck@.cox.net> wrote in message
news:N85xc.23665$aM1.8131@.fed1read02...
> I am a developer who recently stepped in for our DBA when they (abruptly)
> left and am not sure how to setup a deployment for one of our clients.
> I think I could do a detach then have them attach or a backup then send
them
> the backup.
> I would like to ask how a DBA would like to see what I am sending out.
> Also, a pointer to the documentation would help.
> Thanks for your help
> Lance
>
|||Just a database. New installation.
"Aaron [SQL Server MVP]" <ten.xoc@.dnartreb.noraa> wrote in message
news:u$0ZJfNTEHA.3608@.TK2MSFTNGP11.phx.gbl...[vbcol=seagreen]
> The answer to your question depends a lot on what it actually is you're
> deploying. A whole app, a database only, updates to an existing database,
> ...?
> --
> http://www.aspfaq.com/
> (Reverse address to reply.)
>
>
> "Lance Geeck" <lgeeck@.cox.net> wrote in message
> news:N85xc.23665$aM1.8131@.fed1read02...
(abruptly)
> them
>
|||You could do a backup and send them the .BAK file, then they could restore
it. However, this has some dependencies, e.g. data folder locations, etc.
Simplest might be to detach the database, send the MDF/LDF file(s), then
re-attach.
http://www.aspfaq.com/
(Reverse address to reply.)
"Lance Geeck" <lgeeck@.cox.net> wrote in message
news:6k5xc.23713$aM1.9744@.fed1read02...[vbcol=seagreen]
> Just a database. New installation.
> "Aaron [SQL Server MVP]" <ten.xoc@.dnartreb.noraa> wrote in message
> news:u$0ZJfNTEHA.3608@.TK2MSFTNGP11.phx.gbl...
database,[vbcol=seagreen]
> (abruptly)
send
>
|||Another thing you might consider doing is scripting out the database and the
objects it contains. You can do this by right-clicking a database in
Enterprise Manager, all tasks, generate SQL script, and follow the wizard.
http://www.aspfaq.com/
(Reverse address to reply.)
"Lance Geeck" <lgeeck@.cox.net> wrote in message
news:6k5xc.23713$aM1.9744@.fed1read02...
> Just a database. New installation.
|||Wouldn't the ATTACH be a problem if it is in a different folder location?
"Aaron [SQL Server MVP]" <ten.xoc@.dnartreb.noraa> wrote in message
news:OFs%23bjNTEHA.3700@.TK2MSFTNGP09.phx.gbl...[vbcol=seagreen]
> You could do a backup and send them the .BAK file, then they could restore
> it. However, this has some dependencies, e.g. data folder locations, etc.
> Simplest might be to detach the database, send the MDF/LDF file(s), then
> re-attach.
> --
> http://www.aspfaq.com/
> (Reverse address to reply.)
>
>
> "Lance Geeck" <lgeeck@.cox.net> wrote in message
> news:6k5xc.23713$aM1.9744@.fed1read02...
you're[vbcol=seagreen]
> database,
clients.[vbcol=seagreen]
> send
out.
>
|||Doesn't this miss the records in the database? I have about 1/2 million
rows I need to include in what I send them.
"Aaron [SQL Server MVP]" <ten.xoc@.dnartreb.noraa> wrote in message
news:uBSjakNTEHA.2372@.TK2MSFTNGP11.phx.gbl...
> Another thing you might consider doing is scripting out the database and
the
> objects it contains. You can do this by right-clicking a database in
> Enterprise Manager, all tasks, generate SQL script, and follow the wizard.
> --
> http://www.aspfaq.com/
> (Reverse address to reply.)
>
>
> "Lance Geeck" <lgeeck@.cox.net> wrote in message
> news:6k5xc.23713$aM1.9744@.fed1read02...
>
|||you need to detach\reattach or Restore a backup using the "WITH MOVE" Option
if you need more info let me know
cheers,
Greg Jackson
PDX, Oregon
|||Lance,
My preferred approach would be to backup/restore, but as Aaron said
there are dependencies and you will likely orphan any users in the
database. This can however be fixed by adding new logins to the
destination box and mapping orphaned users to the logins using
sp_change_users_login.
You will likely also need the WITH MOVE option of the RESTORE DATABASE
statement. You might also want to change the database owner to something
meaningful on the destination, I would recommend sa. Use
sp_changedbowner to do this.
Mark Allison, SQL Server MVP
http://www.markallison.co.uk
Looking for a SQL Server replication book?
http://www.nwsu.com/0974973602.html
Lance Geeck wrote:
> I am a developer who recently stepped in for our DBA when they (abruptly)
> left and am not sure how to setup a deployment for one of our clients.
> I think I could do a detach then have them attach or a backup then send them
> the backup.
> I would like to ask how a DBA would like to see what I am sending out.
> Also, a pointer to the documentation would help.
> Thanks for your help
> Lance
>

DBA Format

I am a developer who recently stepped in for our DBA when they (abruptly)
left and am not sure how to setup a deployment for one of our clients.
I think I could do a detach then have them attach or a backup then send them
the backup.
I would like to ask how a DBA would like to see what I am sending out.
Also, a pointer to the documentation would help.
Thanks for your help
LanceThe answer to your question depends a lot on what it actually is you're
deploying. A whole app, a database only, updates to an existing database,
...?
--
http://www.aspfaq.com/
(Reverse address to reply.)
"Lance Geeck" <lgeeck@.cox.net> wrote in message
news:N85xc.23665$aM1.8131@.fed1read02...
> I am a developer who recently stepped in for our DBA when they (abruptly)
> left and am not sure how to setup a deployment for one of our clients.
> I think I could do a detach then have them attach or a backup then send
them
> the backup.
> I would like to ask how a DBA would like to see what I am sending out.
> Also, a pointer to the documentation would help.
> Thanks for your help
> Lance
>|||Just a database. New installation.
"Aaron [SQL Server MVP]" <ten.xoc@.dnartreb.noraa> wrote in message
news:u$0ZJfNTEHA.3608@.TK2MSFTNGP11.phx.gbl...
> The answer to your question depends a lot on what it actually is you're
> deploying. A whole app, a database only, updates to an existing database,
> ...?
> --
> http://www.aspfaq.com/
> (Reverse address to reply.)
>
>
> "Lance Geeck" <lgeeck@.cox.net> wrote in message
> news:N85xc.23665$aM1.8131@.fed1read02...
> > I am a developer who recently stepped in for our DBA when they
(abruptly)
> > left and am not sure how to setup a deployment for one of our clients.
> >
> > I think I could do a detach then have them attach or a backup then send
> them
> > the backup.
> >
> > I would like to ask how a DBA would like to see what I am sending out.
> >
> > Also, a pointer to the documentation would help.
> >
> > Thanks for your help
> > Lance
> >
> >
>|||You could do a backup and send them the .BAK file, then they could restore
it. However, this has some dependencies, e.g. data folder locations, etc.
Simplest might be to detach the database, send the MDF/LDF file(s), then
re-attach.
--
http://www.aspfaq.com/
(Reverse address to reply.)
"Lance Geeck" <lgeeck@.cox.net> wrote in message
news:6k5xc.23713$aM1.9744@.fed1read02...
> Just a database. New installation.
> "Aaron [SQL Server MVP]" <ten.xoc@.dnartreb.noraa> wrote in message
> news:u$0ZJfNTEHA.3608@.TK2MSFTNGP11.phx.gbl...
> > The answer to your question depends a lot on what it actually is you're
> > deploying. A whole app, a database only, updates to an existing
database,
> > ...?
> >
> > --
> > http://www.aspfaq.com/
> > (Reverse address to reply.)
> >
> >
> >
> >
> > "Lance Geeck" <lgeeck@.cox.net> wrote in message
> > news:N85xc.23665$aM1.8131@.fed1read02...
> > > I am a developer who recently stepped in for our DBA when they
> (abruptly)
> > > left and am not sure how to setup a deployment for one of our clients.
> > >
> > > I think I could do a detach then have them attach or a backup then
send
> > them
> > > the backup.
> > >
> > > I would like to ask how a DBA would like to see what I am sending out.
> > >
> > > Also, a pointer to the documentation would help.
> > >
> > > Thanks for your help
> > > Lance
> > >
> > >
> >
> >
>|||Another thing you might consider doing is scripting out the database and the
objects it contains. You can do this by right-clicking a database in
Enterprise Manager, all tasks, generate SQL script, and follow the wizard.
--
http://www.aspfaq.com/
(Reverse address to reply.)
"Lance Geeck" <lgeeck@.cox.net> wrote in message
news:6k5xc.23713$aM1.9744@.fed1read02...
> Just a database. New installation.|||Wouldn't the ATTACH be a problem if it is in a different folder location?
"Aaron [SQL Server MVP]" <ten.xoc@.dnartreb.noraa> wrote in message
news:OFs%23bjNTEHA.3700@.TK2MSFTNGP09.phx.gbl...
> You could do a backup and send them the .BAK file, then they could restore
> it. However, this has some dependencies, e.g. data folder locations, etc.
> Simplest might be to detach the database, send the MDF/LDF file(s), then
> re-attach.
> --
> http://www.aspfaq.com/
> (Reverse address to reply.)
>
>
> "Lance Geeck" <lgeeck@.cox.net> wrote in message
> news:6k5xc.23713$aM1.9744@.fed1read02...
> > Just a database. New installation.
> >
> > "Aaron [SQL Server MVP]" <ten.xoc@.dnartreb.noraa> wrote in message
> > news:u$0ZJfNTEHA.3608@.TK2MSFTNGP11.phx.gbl...
> > > The answer to your question depends a lot on what it actually is
you're
> > > deploying. A whole app, a database only, updates to an existing
> database,
> > > ...?
> > >
> > > --
> > > http://www.aspfaq.com/
> > > (Reverse address to reply.)
> > >
> > >
> > >
> > >
> > > "Lance Geeck" <lgeeck@.cox.net> wrote in message
> > > news:N85xc.23665$aM1.8131@.fed1read02...
> > > > I am a developer who recently stepped in for our DBA when they
> > (abruptly)
> > > > left and am not sure how to setup a deployment for one of our
clients.
> > > >
> > > > I think I could do a detach then have them attach or a backup then
> send
> > > them
> > > > the backup.
> > > >
> > > > I would like to ask how a DBA would like to see what I am sending
out.
> > > >
> > > > Also, a pointer to the documentation would help.
> > > >
> > > > Thanks for your help
> > > > Lance
> > > >
> > > >
> > >
> > >
> >
> >
>|||Doesn't this miss the records in the database? I have about 1/2 million
rows I need to include in what I send them.
"Aaron [SQL Server MVP]" <ten.xoc@.dnartreb.noraa> wrote in message
news:uBSjakNTEHA.2372@.TK2MSFTNGP11.phx.gbl...
> Another thing you might consider doing is scripting out the database and
the
> objects it contains. You can do this by right-clicking a database in
> Enterprise Manager, all tasks, generate SQL script, and follow the wizard.
> --
> http://www.aspfaq.com/
> (Reverse address to reply.)
>
>
> "Lance Geeck" <lgeeck@.cox.net> wrote in message
> news:6k5xc.23713$aM1.9744@.fed1read02...
> > Just a database. New installation.
>|||you need to detach\reattach or Restore a backup using the "WITH MOVE" Option
if you need more info let me know
cheers,
Greg Jackson
PDX, Oregon|||Lance,
My preferred approach would be to backup/restore, but as Aaron said
there are dependencies and you will likely orphan any users in the
database. This can however be fixed by adding new logins to the
destination box and mapping orphaned users to the logins using
sp_change_users_login.
You will likely also need the WITH MOVE option of the RESTORE DATABASE
statement. You might also want to change the database owner to something
meaningful on the destination, I would recommend sa. Use
sp_changedbowner to do this.
--
Mark Allison, SQL Server MVP
http://www.markallison.co.uk
Looking for a SQL Server replication book?
http://www.nwsu.com/0974973602.html
Lance Geeck wrote:
> I am a developer who recently stepped in for our DBA when they (abruptly)
> left and am not sure how to setup a deployment for one of our clients.
> I think I could do a detach then have them attach or a backup then send them
> the backup.
> I would like to ask how a DBA would like to see what I am sending out.
> Also, a pointer to the documentation would help.
> Thanks for your help
> Lance
>

DBA Format

I am a developer who recently stepped in for our DBA when they (abruptly)
left and am not sure how to setup a deployment for one of our clients.
I think I could do a detach then have them attach or a backup then send them
the backup.
I would like to ask how a DBA would like to see what I am sending out.
Also, a pointer to the documentation would help.
Thanks for your help
LanceThe answer to your question depends a lot on what it actually is you're
deploying. A whole app, a database only, updates to an existing database,
...?
http://www.aspfaq.com/
(Reverse address to reply.)
"Lance Geeck" <lgeeck@.cox.net> wrote in message
news:N85xc.23665$aM1.8131@.fed1read02...
> I am a developer who recently stepped in for our DBA when they (abruptly)
> left and am not sure how to setup a deployment for one of our clients.
> I think I could do a detach then have them attach or a backup then send
them
> the backup.
> I would like to ask how a DBA would like to see what I am sending out.
> Also, a pointer to the documentation would help.
> Thanks for your help
> Lance
>|||Just a database. New installation.
"Aaron [SQL Server MVP]" <ten.xoc@.dnartreb.noraa> wrote in message
news:u$0ZJfNTEHA.3608@.TK2MSFTNGP11.phx.gbl...
> The answer to your question depends a lot on what it actually is you're
> deploying. A whole app, a database only, updates to an existing database,
> ...?
> --
> http://www.aspfaq.com/
> (Reverse address to reply.)
>
>
> "Lance Geeck" <lgeeck@.cox.net> wrote in message
> news:N85xc.23665$aM1.8131@.fed1read02...
(abruptly)[vbcol=seagreen]
> them
>|||You could do a backup and send them the .BAK file, then they could restore
it. However, this has some dependencies, e.g. data folder locations, etc.
Simplest might be to detach the database, send the MDF/LDF file(s), then
re-attach.
http://www.aspfaq.com/
(Reverse address to reply.)
"Lance Geeck" <lgeeck@.cox.net> wrote in message
news:6k5xc.23713$aM1.9744@.fed1read02...
> Just a database. New installation.
> "Aaron [SQL Server MVP]" <ten.xoc@.dnartreb.noraa> wrote in message
> news:u$0ZJfNTEHA.3608@.TK2MSFTNGP11.phx.gbl...
database,[vbcol=seagreen]
> (abruptly)
send[vbcol=seagreen]
>|||Another thing you might consider doing is scripting out the database and the
objects it contains. You can do this by right-clicking a database in
Enterprise Manager, all tasks, generate SQL script, and follow the wizard.
http://www.aspfaq.com/
(Reverse address to reply.)
"Lance Geeck" <lgeeck@.cox.net> wrote in message
news:6k5xc.23713$aM1.9744@.fed1read02...
> Just a database. New installation.|||Wouldn't the ATTACH be a problem if it is in a different folder location?
"Aaron [SQL Server MVP]" <ten.xoc@.dnartreb.noraa> wrote in message
news:OFs%23bjNTEHA.3700@.TK2MSFTNGP09.phx.gbl...
> You could do a backup and send them the .BAK file, then they could restore
> it. However, this has some dependencies, e.g. data folder locations, etc.
> Simplest might be to detach the database, send the MDF/LDF file(s), then
> re-attach.
> --
> http://www.aspfaq.com/
> (Reverse address to reply.)
>
>
> "Lance Geeck" <lgeeck@.cox.net> wrote in message
> news:6k5xc.23713$aM1.9744@.fed1read02...
you're[vbcol=seagreen]
> database,
clients.[vbcol=seagreen]
> send
out.[vbcol=seagreen]
>|||Doesn't this miss the records in the database? I have about 1/2 million
rows I need to include in what I send them.
"Aaron [SQL Server MVP]" <ten.xoc@.dnartreb.noraa> wrote in message
news:uBSjakNTEHA.2372@.TK2MSFTNGP11.phx.gbl...
> Another thing you might consider doing is scripting out the database and
the
> objects it contains. You can do this by right-clicking a database in
> Enterprise Manager, all tasks, generate SQL script, and follow the wizard.
> --
> http://www.aspfaq.com/
> (Reverse address to reply.)
>
>
> "Lance Geeck" <lgeeck@.cox.net> wrote in message
> news:6k5xc.23713$aM1.9744@.fed1read02...
>|||you need to detach\reattach or Restore a backup using the "WITH MOVE" Option
if you need more info let me know
cheers,
Greg Jackson
PDX, Oregon|||Lance,
My preferred approach would be to backup/restore, but as Aaron said
there are dependencies and you will likely orphan any users in the
database. This can however be fixed by adding new logins to the
destination box and mapping orphaned users to the logins using
sp_change_users_login.
You will likely also need the WITH MOVE option of the RESTORE DATABASE
statement. You might also want to change the database owner to something
meaningful on the destination, I would recommend sa. Use
sp_changedbowner to do this.
Mark Allison, SQL Server MVP
http://www.markallison.co.uk
Looking for a SQL Server replication book?
http://www.nwsu.com/0974973602.html
Lance Geeck wrote:
> I am a developer who recently stepped in for our DBA when they (abruptly)
> left and am not sure how to setup a deployment for one of our clients.
> I think I could do a detach then have them attach or a backup then send th
em
> the backup.
> I would like to ask how a DBA would like to see what I am sending out.
> Also, a pointer to the documentation would help.
> Thanks for your help
> Lance
>

DBA for multiple servers

Is anybody has experience to DBA more than 100 SQl Servers at a time?
If so what are the main startegy and main challenges you had? what is
your best practice in terms of day to day admin and backup and
recovery?soalvajavab1@.yahoo.com wrote:
> Is anybody has experience to DBA more than 100 SQl Servers at a time?
> If so what are the main startegy and main challenges you had? what is
> your best practice in terms of day to day admin and backup and
> recovery?
>
I don't think that tasks are that much different when you have 5 or 100
SQL servers, so could you be a bit more specific in what you'd like to
know? From my point of view it's quite important that the backup jobs
works. I've written my own scripts that automatically backups up all
databases on a SQL server, so once these has been scheduled they just
notify me when they fails. You'd then also like to monitor the free
space on your disks on the server, but for that the company most likely
has a monitoring tool for that.
In terms of what more you'd like to do is a matter of personal
preference and company policy. E.g. I know that many people don't like
to have their databases set to autogrow, but I normally do that for most
databases. Currently I'm looking after approx. 1000 SQL server databases
and for me it works fine to have them set to autogrow. I've then created
a stored proc that runs every night on most of the servers and collect a
number of data for each database. This tells me when there has been
created new databases, when a database has been deleted, file growth,
backup file growth, recovery mode change etc. I then get an email every
morning with the changes.
Apart from the above, there are a number of database monitoring tools
available on the market. I haven't actually used any of them yet but I
think they can do some of what I've done myself (..and of course a lot
more...). Maybe somebody else has some experience on this?
Bottomline is that what you need to look for isn't a standard answer,
but pretty much depends on the setup and your company/company policy. I
also think that the DBA role can be quite different from one company to
another.
Regards
Steen Schlter Persson
Database Administrator / System Administrator|||I think that with that number-- you'll just need to follow these guidelines:
a) use profiler on all machines
b) run index tuning wizard on your busiest databases
c) build poormon enterprise level performan aggregation tools
d) encourage people to use Reporting Services and Analysis Services in order
to leverage this mountain of data
<soalvajavab1@.yahoo.com> wrote in message
news:1177946795.389483.51580@.y80g2000hsf.googlegroups.com...
> Is anybody has experience to DBA more than 100 SQl Servers at a time?
> If so what are the main startegy and main challenges you had? what is
> your best practice in terms of day to day admin and backup and
> recovery?
>sql

DBA for multiple servers

Is anybody has experience to DBA more than 100 SQl Servers at a time?
If so what are the main startegy and main challenges you had? what is
your best practice in terms of day to day admin and backup and
recovery?soalvajavab1@.yahoo.com wrote:
> Is anybody has experience to DBA more than 100 SQl Servers at a time?
> If so what are the main startegy and main challenges you had? what is
> your best practice in terms of day to day admin and backup and
> recovery?
>
I don't think that tasks are that much different when you have 5 or 100
SQL servers, so could you be a bit more specific in what you'd like to
know? From my point of view it's quite important that the backup jobs
works. I've written my own scripts that automatically backups up all
databases on a SQL server, so once these has been scheduled they just
notify me when they fails. You'd then also like to monitor the free
space on your disks on the server, but for that the company most likely
has a monitoring tool for that.
In terms of what more you'd like to do is a matter of personal
preference and company policy. E.g. I know that many people don't like
to have their databases set to autogrow, but I normally do that for most
databases. Currently I'm looking after approx. 1000 SQL server databases
and for me it works fine to have them set to autogrow. I've then created
a stored proc that runs every night on most of the servers and collect a
number of data for each database. This tells me when there has been
created new databases, when a database has been deleted, file growth,
backup file growth, recovery mode change etc. I then get an email every
morning with the changes.
Apart from the above, there are a number of database monitoring tools
available on the market. I haven't actually used any of them yet but I
think they can do some of what I've done myself (..and of course a lot
more...). Maybe somebody else has some experience on this?
Bottomline is that what you need to look for isn't a standard answer,
but pretty much depends on the setup and your company/company policy. I
also think that the DBA role can be quite different from one company to
another.
--
Regards
Steen Schlüter Persson
Database Administrator / System Administrator|||I think that with that number-- you'll just need to follow these guidelines:
a) use profiler on all machines
b) run index tuning wizard on your busiest databases
c) build poormon enterprise level performan aggregation tools
d) encourage people to use Reporting Services and Analysis Services in order
to leverage this mountain of data
<soalvajavab1@.yahoo.com> wrote in message
news:1177946795.389483.51580@.y80g2000hsf.googlegroups.com...
> Is anybody has experience to DBA more than 100 SQl Servers at a time?
> If so what are the main startegy and main challenges you had? what is
> your best practice in terms of day to day admin and backup and
> recovery?
>