Home All Groups Group Topic Archive Search About

Create Database on the server



Author
29 Jun 2009 7:14 PM
Lubomir
Hi,

I would like to ask those of you, who are SQL Server admins.

Our software product creates a database and all tables that are needed for
this product to work properly.

In the previous versions, our product installer just deployed database to
the Server (created the new database and all necessary tables).

Recently our development dept. get requirements from colleagues from next
department, that the product should be installed this way:

1/ database admin will create and empty database (no tables in it)
2/ our installer will connect to this empty database and create needed
tables in it

I would like to ask, if this is the way how you allow creating databases on
your servers. To me it seems like non standard approach, as what we are doing
it is we are actually legalize the existence of a corrupted database on the
server: an empty database (no tables within it) is from the application
(product) point of view, a corrupted database.

What would be your opinion?

Thanks,
Lubomir

Author
29 Jun 2009 7:39 PM
Linchi Shea
I've seen both ways in practice. I'd argue that most DBAs would prefer not to
allow a product to create databases because the database files may not be
created on the right drives. Personally, I believe it's better practice to
have the DBA create the database, and allow the product to create the objects
only.

But then, I've seen products that create databases on a regular basis. If
these databases are trivial, I'd just let the product create them. It's too
much trouble to create them manually.

Linchi

Show quoteHide quote
"Lubomir" wrote:

> Hi,
>
> I would like to ask those of you, who are SQL Server admins.
>
> Our software product creates a database and all tables that are needed for
> this product to work properly.
>
> In the previous versions, our product installer just deployed database to
> the Server (created the new database and all necessary tables).
>
> Recently our development dept. get requirements from colleagues from next
> department, that the product should be installed this way:
>
> 1/ database admin will create and empty database (no tables in it)
> 2/ our installer will connect to this empty database and create needed
> tables in it
>
> I would like to ask, if this is the way how you allow creating databases on
> your servers. To me it seems like non standard approach, as what we are doing
> it is we are actually legalize the existence of a corrupted database on the
> server: an empty database (no tables within it) is from the application
> (product) point of view, a corrupted database.
>
> What would be your opinion?
>
> Thanks,
> Lubomir
Are all your drivers up to date? click for free checkup

Author
29 Jun 2009 8:05 PM
Bob Simms
Show quote Hide quote
"Lubomir" <Lubo***@discussions.microsoft.com> wrote in message
news:A336D1B6-68E8-4108-B77E-347AB1735FDC@microsoft.com...
> Hi,
>
>
> I would like to ask, if this is the way how you allow creating databases
> on
> your servers. To me it seems like non standard approach, as what we are
> doing
> it is we are actually legalize the existence of a corrupted database on
> the
> server: an empty database (no tables within it) is from the application
> (product) point of view, a corrupted database.
>
> What would be your opinion?
>
I'm with Linchi on this.  How does a third party know my SAN setup,
performance issues, potential growth, disk sizes, etc.  if you are
responsible for the server, you should at the very least mandate exactly how
the 3rd party set up their database.
--
Bob Simms
Senior Learning Consultant
QA - transforming performance through learning
www.qa.com
Author
29 Jun 2009 9:48 PM
Erland Sommarskog
Lubomir (Lubo***@discussions.microsoft.com) writes:
Show quoteHide quote
> I would like to ask those of you, who are SQL Server admins.
>
> Our software product creates a database and all tables that are needed for
> this product to work properly.
>
> In the previous versions, our product installer just deployed database to
> the Server (created the new database and all necessary tables).
>
> Recently our development dept. get requirements from colleagues from next
> department, that the product should be installed this way:
>
> 1/ database admin will create and empty database (no tables in it)
> 2/ our installer will connect to this empty database and create needed
> tables in it
>
> I would like to ask, if this is the way how you allow creating databases
> on your servers. To me it seems like non standard approach, as what we
> are doing it is we are actually legalize the existence of a corrupted
> database on the server: an empty database (no tables within it) is from
> the application (product) point of view, a corrupted database.

I work with a product, and I've written a build-tool which we use to
build a database from scripts, be that at home for test/dev or at a
customer site. The build tool takes a database name as parameter, and
that database must exist, or else the tool fails.

Because, how could my tool know how the database should be created?
For a local development database a simple CREATE DATABASE could do.
But for a production database, size and exactly file locations can
only be determined on that site.

So I think your colleagues in the next department has everything right.

--
Erland Sommarskog, SQL Server MVP, esq***@sommarskog.se

Links for SQL Server Books Online:
SQL 2008: http://msdn.microsoft.com/en-us/sqlserver/cc514207.aspx
SQL 2005: http://msdn.microsoft.com/en-us/sqlserver/bb895970.aspx
SQL 2000: http://www.microsoft.com/sql/prodinfo/previousversions/books.mspx
Author
29 Jun 2009 10:26 PM
Linchi Shea
Erland;

As a user of these vendor packages, I have seen too many of them insisting
on creating databases from within the products.

Linchi

Show quoteHide quote
"Erland Sommarskog" wrote:

> Lubomir (Lubo***@discussions.microsoft.com) writes:
> > I would like to ask those of you, who are SQL Server admins.
> >
> > Our software product creates a database and all tables that are needed for
> > this product to work properly.
> >
> > In the previous versions, our product installer just deployed database to
> > the Server (created the new database and all necessary tables).
> >
> > Recently our development dept. get requirements from colleagues from next
> > department, that the product should be installed this way:
> >
> > 1/ database admin will create and empty database (no tables in it)
> > 2/ our installer will connect to this empty database and create needed
> > tables in it
> >
> > I would like to ask, if this is the way how you allow creating databases
> > on your servers. To me it seems like non standard approach, as what we
> > are doing it is we are actually legalize the existence of a corrupted
> > database on the server: an empty database (no tables within it) is from
> > the application (product) point of view, a corrupted database.

> I work with a product, and I've written a build-tool which we use to
> build a database from scripts, be that at home for test/dev or at a
> customer site. The build tool takes a database name as parameter, and
> that database must exist, or else the tool fails.
>
> Because, how could my tool know how the database should be created?
> For a local development database a simple CREATE DATABASE could do.
> But for a production database, size and exactly file locations can
> only be determined on that site.
>
> So I think your colleagues in the next department has everything right.
>
> --
> Erland Sommarskog, SQL Server MVP, esq***@sommarskog.se
>
> Links for SQL Server Books Online:
> SQL 2008: http://msdn.microsoft.com/en-us/sqlserver/cc514207.aspx
> SQL 2005: http://msdn.microsoft.com/en-us/sqlserver/bb895970.aspx
> SQL 2000: http://www.microsoft.com/sql/prodinfo/previousversions/books.mspx
>
>
Author
30 Jun 2009 6:55 AM
Tibor Karaszi
I'm with the others. Ideally, you would have an option to help with
creation of the database (one can imagine various degree of help
here).

Show quoteHide quote
"Lubomir" <Lubo***@discussions.microsoft.com> wrote in message
news:A336D1B6-68E8-4108-B77E-347AB1735FDC@microsoft.com...
> Hi,
>
> I would like to ask those of you, who are SQL Server admins.
>
> Our software product creates a database and all tables that are
> needed for
> this product to work properly.
>
> In the previous versions, our product installer just deployed
> database to
> the Server (created the new database and all necessary tables).
>
> Recently our development dept. get requirements from colleagues from
> next
> department, that the product should be installed this way:
>
> 1/ database admin will create and empty database (no tables in it)
> 2/ our installer will connect to this empty database and create
> needed
> tables in it
>
> I would like to ask, if this is the way how you allow creating
> databases on
> your servers. To me it seems like non standard approach, as what we
> are doing
> it is we are actually legalize the existence of a corrupted database
> on the
> server: an empty database (no tables within it) is from the
> application
> (product) point of view, a corrupted database.
>
> What would be your opinion?
>
> Thanks,
> Lubomir

Bookmark and Share