Error while creating diagram.

  • TITLE: Microsoft SQL Server Management Studio

    ------------------------------

    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.

    ------------------------------

    BUTTONS:

    OK

    ------------------------------

    I get the above error while creating the diagram. If I change the database owner to some SQL server user login then it works fine. But This error is comming only with database, which is having Domain Users login as owner.

    Please help me about this. Is it compulsory to set sql login as database user owner Or I am missing something, while setting windows (domain user) user as database owner.

    Regards,
    Nitin

  • Were those domain logins invalid?

    I always set my newly created databases owner to 'sa'

    To avoid issues like this, and also when someone leaves the company (AD account disabled), it won't cause an outage or errors

    SQLServerNewbie MCITP: Database Administrator SQL Server 2005
  • Jerry Hung (4/6/2009)


    Were those domain logins invalid?

    This domain users are valid one. I am doing this on development server not on production. Assiging the SQL user has resolved the problem but I just want to know the reason, so that it can be helpful on production server.

    Regards,
    Nitin

  • Just a thought, check the database compatibility level

    I know a similar error to this happens in SQL2005 if you try to diagram a level 80 (SQL2000) database.

    I don't have 2008 yet so this is just a stab in the dark.

  • Thanks..

    But it is not even working after changing the compatibility mode.

    Regards,
    Nitin

  • Hi Folks,

    I got the same error message and tried the following solution after googling a bit.

    Solution is as::

    EXEC sp_dbcmptlevel '<Your Database>', '90';

    go

    ALTER AUTHORIZATION ON DATABASE::Your Database TO "USER LOGIN"

    go

    use [b]Your Database[/b]

    go

    EXECUTE AS USER = N'dbo' REVERT

    go

    Happy coding!!

    Himanshu Sharma

    (MCTS)

    Software Developer

Viewing 6 posts - 1 through 5 (of 5 total)

You must be logged in to reply to this topic. Login to reply