Re: Developer design Best Practices
From: David G. (david_nospam_at_nospam.com)
Date: 09/09/04
- Next message: bob: "Why would a Server Crash"
- Previous message: Darren: "String or binary data would be truncated"
- In reply to: Amanda: "Re: Developer design Best Practices"
- Next in thread: Dan Guzman: "Re: Developer design Best Practices"
- Messages sorted by: [ date ] [ thread ]
Date: Thu, 9 Sep 2004 15:24:31 -0400
Amanda wrote:
> OK - this is REALLY freaky.
> Since there is only me as a dba, I can't go with the option of
> scripting all their objects in dev. We do that for production and
> test - they develop them and then I move them, and the owner is dbo.
>
> There is NO DBO User in our dev database!!
>
> It simply doesn't show up in the GUI. Of course it exists in the
> system table.
> I was planning to map a PIMDevDBO login to the "dbo" user. I'm sure
> this can be done via SQL, but it is pretty freaky that dbo isn't
> showing up.
>
> we have moved this database all over - but I've never seen this happen
> before. When I run sp_change_users_login it doesn't show up in
> report, nor can I fix it.
>
> Do you guys think I should be concerned??
I adminit it can be a little confusing. You are correct in that "dbo" is
not really a user in the system. When an object is owned by "dbo" it
just means it is owned by the database owner, which is normally a system
administrator.
By logging into a database as "sa" or an administrator account or a
member of the database owner group, you'll end up creating objects as
"dbo" if you do not specify an owner in the create statement. If you
login as a user that can create tables and specify the user name before
the object name, you end up creating a table owned by that user name.
Someone should be monitoring all the database object creation in
development to make sure it is done properly. It's not always an option
to have a busy dba monitoring development servers. In this case, I
suggest you designate a project manager or senior developer to perform
object creation in the development database as "dbo" owned objects.
Developers create procedures using their own IDs and when they are ready
tell someone on the team to compile as dbo. That's one option.
I realize this adds a level of overhead to development for those
developers who do not have proper rights. But with any project there is
an element of overhead designed to prevent accidents like someone
dropping tables or procedures accidentally.
If you want to mitigate this somewhat, you can let all developers create
procedures, but only allow senior developers the right to manage tables
and views.
In any case, this is sometimes a project manager's decision and maybe
you should defer to that person (of course, give him/her your
recommendations).
In any case, no access to production, except possibly the project
manager. Remember that if a developer gets on the production database
and messes something up, you inherit the problem and the responsibility
and all blame... well, need I say more.
-- David G.
- Next message: bob: "Why would a Server Crash"
- Previous message: Darren: "String or binary data would be truncated"
- In reply to: Amanda: "Re: Developer design Best Practices"
- Next in thread: Dan Guzman: "Re: Developer design Best Practices"
- Messages sorted by: [ date ] [ thread ]
Relevant Pages
|