Base de données Diagramme objets de soutien ne peuvent pas être installés ... aucun propriétaire valide

StackOverflow https://stackoverflow.com/questions/2043382

Question

J'ai essayé de créer une base de données diagramm avec SQL Server 2008, mais une erreur se produit:

  

Les objets de support de diagramme de base de données   ne peut pas être installé car cette   base de données ne dispose pas d'un propriétaire valide.   Pour continuer, utilisez d'abord la page Fichiers   de la boîte de dialogue Propriétés de base de données   ou la déclaration ALTER AUTHORIZATION   pour définir le propriétaire de base de données valide   connexion, puis ajoutez le schéma de base de données   objets de soutien.

Alors j'ai essayé ce qui suit:

EXEC sp_dbcmptlevel 'Ariha', '90';
GO
ALTER AUTHORIZATION ON DATABASE::Ariha TO [WIN-NDKPHUPPNFL\Administrator]
GO
USE Ariha
GO
EXECUTE AS USER = N'dbo' REVERT
GO

erorr suivant apparaît:

  

Msg 15404, niveau 16, état 11, ligne 1   Impossible d'obtenir des informations sur   groupe Windows NT / utilisateur   'WIN-NDKPHUPPNFL \ Administrator', erreur   Code 0x534.

Le problème est le nom du PC a changé en « DevPC » J'ai aussi changé cela dans le script de mise à jour, mais toujours la même erreur 15404.

Que puis-je faire pour corriger cette erreur ennuyeux?

Était-ce utile?

La solution

Vous devriez considérer le compte d'authentification SQL pour la propriété de base de données; alors vous n'avez pas à vous soucier des comptes qui vont et viennent, les bases de données ou instances mobiles à différents serveurs, et votre prochain changement de nom du PC. J'ai plusieurs systèmes dans lesquels nous utilisons:

ALTER AUTHORIZATION ON DATABASE::Ariha TO [sa];

Ou si vous voulez changer le propriétaire de ce compte d'administrateur local, alors il devrait être:

ALTER AUTHORIZATION ON DATABASE::Ariha TO [DevPC\Administrator];

Parce que renommer la machine à DevPC a éliminé le compte local utilisé pour être nommé WIN-ND...\Administrator et cela a également invalidé le propriétaire actuel de la base de données.

Si SELECT @@SERVERNAME; est pas exact (il faut dire DevPC), puis pour vous assurer que votre changement de nom du serveur a pris la main dans SQL Server, vous pouvez également émettre les éléments suivants:

EXEC sp_dropserver @server = N'old server name';
GO
EXEC sp_addserver @server = N'DevPC', @local = N'local';
GO

Autres conseils

Dans SQL Server Management Studio, procédez comme suit:

  1. Clic droit sur la base de données, choisissez Propriétés
  2. Aller à la page Options
  3. Dans le menu déroulant à droite étiquetée « Niveau de compatibilité » choisissez « SQL Server 2005 (90) » 3-1. choisissez "SQL Server 2008" si vous recevez une erreur de comparabilité.
  4. Aller à la page Fichiers
  5. Entrez « sa » dans la zone de texte du propriétaire. 5-1 ou cliquez sur le bouton de sélection (...) et choisir un propriétaire légitime.
  6. Cliquez sur OK

après avoir fait cela, vous allez maintenant être en mesure d'accéder aux schémas de base de données.

entrer image description ici

USE [ECMIS]
GO
EXEC dbo.sp_changedbowner @loginame = N'sa', @map = false
GO

Il fonctionne.

Enter "SA" au lieu de "sa" dans la zone de texte du propriétaire. Cela a fonctionné pour moi.

J'ai eu le même problème.
Je voulais voir mon schéma, que j'ai créé le même jour au travail, à la maison. Mais je ne pouvais pas à cause de ce message.
J'ai découvert que le propriétaire de la base de données était l'utilisateur de mon ordinateur -comme prévu. mais étant donné que l'ordinateur est dans le domaine, et je ne suis pas connecté au réseau de l'entreprise, la base de données de l'entreprise ne pouvait pas résoudre le propriétaire.

Alors, ce que je faisais est changer le propriétaire à un utilisateur local et ça a marché !!
Espérons que cela aide quelqu'un.

Vous changez l'utilisateur par un clic droit sur la base de données, les propriétés, les fichiers, le propriétaire

Ce qu'il fixe pour moi. Il fixe le propriétaire se trouve sous la section «fichiers des propriétés de base de données fenêtre, et comme scénarisé par le studio de gestion.

USE [your_db_name]
GO
EXEC dbo.sp_changedbowner @loginame = N'sa', @map = false
GO

Selon le documentation sp_changedbowner cela est maintenant dépréciée.

Sur la base de la réponse d'Israël. La réponse d'Aaron est la variation non dépréciée de cela.

Sélectionnez votre base de données - Clic droit - Sélectionnez Propriétés

Sélectionnez FICHIER dans le côté gauche de la page

Dans la zone de propriétaire, le bouton de sélection qui a trois points (...) dans ce

Maintenant, sélectionnez l'utilisateur « sa et cliquez sur OK

Je viens de vivre cela. J'avais lu les suggestions sur cette page, ainsi que les suggestions de l'Autorité SQL (ce qui est la même chose) et aucune de ces travaillé.

En fin de compte, j'ai enlevé le compte et recréés (avec le même nom d'utilisateur / mot de passe). Juste comme ça, tous les problèmes ont disparu.

Malheureusement, cela signifie que je ne sais pas ce qui se passait mal, donc je ne peux pas partager quelque chose d'autre.

1.Cliquez sur votre base de données, 2.Puis sélectionnez Propriétés. 3.Select l'option dans les niveaux de compatibilité choisir sql 2008 [100] si vous travaillez avec Microsoft SQL 2008.

4.Ensuite sélectionner le fichier et écrire (sa) dans owner`s zone de texte

100% fonctionne pour moi.

Un moyen plus facile de résoudre ce problèmes serait à droite cliquez sur le nom de votre base de données, choisissez « Nouvelle requête », tapez « exec sp_changedbowner « sa » » et exécuter la requête. Ensuite, vous serez bon d'aller.

vous devez entrer en tant qu'administrateur clic droit pour studio de gestion de serveur Microsoft SQL et exécuter en tant qu'administrateur

Suffit de l'exécuter dans l'éditeur de requête BASE DE DONNÉES SUR L'AUTORISATION DE MODIFIER :: votre_base_de_données TO [domaine \ compte];

Le vrai problème est que le propriétaire par défaut (dbo) ne dispose pas de connexion mis en correspondance avec elle à all.As j'ai essayé de mapper la connexion sa au propriétaire de la base de données que j'ai reçu une autre erreur indiquant « utilisateur, groupe ou rôle « dbo » existe déjà ... »Toutefois, si vous essayez ce code, il sera fonctionne réellement:.

  
    

EXEC sp_dbcmptlevel 'yourdb', '90';

         

go

         

ALTER AUTORISATION DE BASE DE DONNÉES :: yourdb TO "votrelogin"

         

go

         

utilisez [yourdb]

         

go

         

EXECUTE AS USER = N'dbo » INVERSE

         

go

  

faites un clic droit sur votre base de données, puis sélectionnez Propriétés. sélectionnez l'option dans les niveaux de compatibilité choisissez SQL 2005 [90] au lieu de 2008 si vous travaillez avec Microsoft SQL Server 2008. puis sélectionnez le fichier et écrire (sa) dans owner`s zone de texte. il fonctionnera probablement

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top