Thursday, March 22, 2012

AdventureWorks Owner

Hi,

I've installed AdventureWorks, attached it to SQL Express and wanted to see its Database Diagrams. When I click on the Database Diagrams, I get this error message:

TITLE: Microsoft SQL Server Management Studio Express

Database diagram support objects cannot be installed because this database does not have a valid owner. To continue, first use the Files page of the Database Properties dialog box or the ALTER AUTHORIZATION statement to set the database owner to a valid login, then add the database diagram support objects.

--

I really see that in properties for this database there's no owner, while if I do

sp_helpdb 'AdventureWorks'

It shows that the owner is 'IDB-SERV\Michael' , which is my user.

I further tried to set this user as an owner in AdventureWorks properties-files window (where it showed no owner), but it says :

TITLE: Microsoft SQL Server Management Studio Express

Set owner failed for Database 'AdventureWorks'. (Microsoft.SqlServer.Express.Smo)

For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=9.00.2047.00&EvtSrc=Microsoft.SqlServer.Management.Smo.ExceptionTemplates.FailedOperationExceptionText&EvtID=Set+owner+Database&LinkId=20476


ADDITIONAL INFORMATION:

An exception occurred in SMO. (Microsoft.SqlServer.Express.Smo)

For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=9.00.2047.00&LinkId=20476

The login 'IDB-SERV\Michael' does not exist on this server.

Are all these bugs, or did I miss something?

Please, help

Thanx a lot !!!!

Moisha, here are a few threads hitting the same error.

http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=112297&SiteID=1

http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=228352&SiteID=1

They both seem to be solving the problem using sp_dbcmptlevel.

Take a look at the threads and see if it applies to your environment.

Thanks,
Sam Lester (MSFT)
|||

Moisha,

The quick solution for me - which I distilled from the links posted here - was to execute the sp_dbcmptlevel procedure. I did not need to do anything else.

EXEC sp_dbcmptlevel 'nameOfDatabase', '90';

Sunshine is my life. Clean air is my right.

No comments:

Post a Comment