Solved

SQL 2000, Object Owner Question

Posted on 2011-03-09
2
302 Views
Last Modified: 2012-05-11
Environment: Microsoft SQL Server  2000 - 8.00.2039 (Intel X86)   May  3 2005 23:18:38   Copyright (c) 1988-2003 Microsoft Corporation  Developer Edition on Windows NT 5.2 (Build 3790: Service Pack 2)

 

Two logins on the system, sa and Fred.  Fred is a member of System Administrators.

 

Fred creates a new database, let’s call it Sales, done via a simple script in Query Analyzer (QA).

 

In Enterprise Manager (EM) when I right click on this database, select properties, I can see that Fred is the database owner.

 

Fred now creates a table with himself as the owner, something like the script below, this is done via QA with Fred as the user / login.

 


CREATE TABLE [Fred].[Customers] (

     …

)

GO
 

This is the only table in the database.

With Fred logged into QA, I’m expecting this select statement (A) to work.


SELECT * FROM Customers
 

But it errors out, with the following:

Server: Msg 208, Level 16, State 1, Line 1

Invalid object name 'Customers'.

 

The following select (B), does work.


SELECT * FROM Fred.CustomersI’ve got tons of Visual Basic 6 code that uses the select without the qualified database owner.  This code was written a long time ago, but now I’ve got to get back into it.   For some reason, the non-qualified select statement used to work and does work at many sites still running this code.  But in my development environment I get the “Invalid object name” error.  

I’d prefer to not change the VB6 code, seems like this should work, or at least used to work.

So, can I setup SQL so that when Fred logs in he can default to use the object he owns and successfully run statement A from above?
0
Comment
Question by:g_johnson
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
2 Comments
 
LVL 143

Accepted Solution

by:
Guy Hengel [angelIII / a3] earned 500 total points
ID: 35084586
for system admins and db_owners, the object prefix defaults to dbo
and from what I know, you cannot change that behavior, except removing Fred as db owner ....
0
 
LVL 4

Author Closing Comment

by:g_johnson
ID: 35084770
Thanks, that did the trick.  We had assumed that "Fred" was always a sys admin, but we were wrong.
0

Featured Post

Secure Your Active Directory - April 20, 2017

Active Directory plays a critical role in your company’s IT infrastructure and keeping it secure in today’s hacker-infested world is a must.
Microsoft published 300+ pages of guidance, but who has the time, money, and resources to implement? Register now to find an easier way.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Nowadays, some of developer are too much worried about data. Who is using data, who is updating it etc. etc. Because, data is more costlier in term of money and information. So security of data is focusing concern in days. Lets' understand the Au…
Introduction SQL Server Integration Services can read XML files, that’s known by every BI developer.  (If you didn’t, don’t worry, I’m aiming this article at newcomers as well.) But how far can you go?  When does the XML Source component become …
Viewers will learn how the fundamental information of how to create a table.
Viewers will learn how to use the INSERT statement to insert data into their tables. It will also introduce the NULL statement, to show them what happens when no value is giving for any given column.

733 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question