?
Solved

SQL 2000, Object Owner Question

Posted on 2011-03-09
2
Medium Priority
?
308 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 2000 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

Three Reasons Why Backup is Strategic

Backup is strategic to your business because your data is strategic to your business. Without backup, your business will fail. This white paper explains why it is vital for you to design and immediately execute a backup strategy to protect 100 percent of your data.

Question has a verified solution.

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

Slowly Changing Dimension Transformation component in data task flow is very useful for us to manage and control how data changes in SSIS.
International Data Corporation (IDC) prognosticates that before the current the year gets over disbursing on IT framework products to be sent in cloud environs will be $37.1B.
Via a live example, show how to extract information from SQL Server on Database, Connection and Server properties
Viewers will learn how to use the UPDATE and DELETE statements to change or remove existing data from their tables. Make a table: Update a specific column given a specific row using the UPDATE statement: Remove a set of values using the DELETE s…
Suggested Courses

777 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