J'ai essayé de créer un diagramme de base de données avec SQL Server 2008, mais une erreur se produit:
Les objets de prise en charge des diagrammes de base de données ne peuvent pas être installés car cette base de données n'a pas de propriétaire valide. Pour continuer, utilisez d'abord la page Fichiers de la boîte de dialogue Propriétés de la base de données ou l'instruction ALTER AUTHORIZATION pour définir le propriétaire de la base de données sur une connexion valide, puis ajoutez les objets de prise en charge du diagramme de base de données.
Ensuite, 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
L'erorr suivante apparaît:
Msg 15404, niveau 16, état 11, ligne 1 Impossible d'obtenir des informations sur le groupe / utilisateur Windows NT «WIN-NDKPHUPPNFL \ Administrator», code d'erreur 0x534.
Le problème est que le nom du PC a changé en "DevPC" J'ai également changé cela dans le script de mise à jour, mais toujours la même erreur 15404.
Que puis-je faire pour corriger cette erreur ennuyeuse?
alter authorization on database::[db_name] to [sa]
, puis 2) réexécutez la même commande et remplacez-la[sa]
par l'utilisateur qui possédait la base de données immédiatement après la restauration.Réponses:
Vous devez envisager un compte d'authentification SQL pour la propriété de la base de données; alors vous n'avez pas à vous soucier des comptes qui vont et viennent, des bases de données ou des instances se déplaçant vers différents serveurs et du prochain changement de nom de votre PC. J'ai plusieurs systèmes où nous utilisons:
Ou si vous souhaitez changer le propriétaire de ce compte d'administrateur local, alors il devrait être:
Parce que renommer la machine en
DevPC
a éliminé le compte local qui était auparavant nomméWIN-ND...\Administrator
et cela a également invalidé le propriétaire actuel de la base de données.Si ce
SELECT @@SERVERNAME;
n'est pas précis (cela devrait direDevPC
), alors pour vous assurer que le changement de nom de votre serveur a pris racine dans SQL Server, vous pouvez également émettre ce qui suit:la source
sa
si l'authentification SQL est désactivée?[sa]
puis je l'ai changé pour l'utilisateur qu'il avait dit avant, et alto, plus d'erreurs. Je ne sais pas pourquoi une restauration de base de données n'a pas correctement défini le propriétaire de la base de données ...Dans SQL Server Management Studio, procédez comme suit:
après cela, vous serez maintenant en mesure d'accéder aux diagrammes de base de données.
la source
Ça marche.
la source
Entrez "SA" au lieu de "sa" dans la zone de texte du propriétaire. Cela a fonctionné pour moi.
la source
J'ai eu le même problème.
Je voulais voir mon diagramme, 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 comme l'ordinateur est dans le domaine de l'entreprise et que je ne suis pas connecté au réseau de l'entreprise, la base de données n'a pas pu résoudre le propriétaire.
Donc ce que j'ai fait, c'est changer le propriétaire en un utilisateur local et cela a fonctionné !!
J'espère que cela aide quelqu'un.
Vous changez d'utilisateur par clic droit sur la base de données, les propriétés, les fichiers, le propriétaire
la source
Cela a résolu le problème pour moi. Il définit le propriétaire trouvé dans la section 'fichiers' de la fenêtre des propriétés de la base de données, et est tel que scripté par le studio de gestion.
Selon la documentation de sp_changedbowner, cela est désormais obsolète.
Basé sur la réponse d'Israël. La réponse d'Aaron est la variante non obsolète de ceci.
la source
Sélectionnez votre base de données - Clic droit - Sélectionnez Propriétés
Sélectionnez FICHIER sur le côté gauche de la page
Dans la zone PROPRIÉTAIRE, sélectionnez le bouton qui contient trois points (…)
Sélectionnez maintenant l'utilisateur sa et cliquez sur OK
la source
Je viens de vivre cela. J'avais lu les suggestions sur cette page, ainsi que les suggestions SQL Authority (ce qui est la même chose) et rien de ce qui précède n'a fonctionné.
En fin de compte, j'ai supprimé le compte et recréé (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 a mal tourné, donc je ne peux rien partager d'autre.
la source
1.Cliquez droit sur votre base de données, 2.Sélectionnez ensuite les propriétés. 3.Sélectionnez l'option dans les niveaux de compatibilité, choisissez sql 2008 [100] si vous travaillez avec Microsoft sql 2008.
4.Ensuite, sélectionnez le fichier et écrivez (sa) dans la zone de texte du propriétaire
100% fonctionne pour moi.
la source
Un moyen plus simple de résoudre ces problèmes serait de cliquer avec le bouton droit de la souris sur le nom de votre base de données, de choisir "Nouvelle requête", de saisir "exec sp_changedbowner 'sa'" et d'exécuter la requête. Alors vous serez prêt à partir.
la source
vous devez entrer en tant qu'administrateur, cliquez avec le bouton droit sur microsofft sql server management studio et exécutez en tant qu'administrateur
la source
Il suffit de l'exécuter dans l'éditeur de requêtes ALTER AUTHORIZATION ON DATABASE :: YourDatabase TO [domaine \ compte];
la source
Le vrai problème est que le propriétaire par défaut (dbo) n'a pas du tout de connexion mappée dessus. Lorsque j'ai essayé de mapper la connexion sa au propriétaire de la base de données, j'ai reçu une autre erreur indiquant "Utilisateur, groupe ou rôle 'dbo' existe déjà ... ". Cependant, si vous essayez ce code, il fonctionnera:
la source
faites un clic droit sur votre base de données, puis sélectionnez les 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 2008. puis sélectionnez le fichier et écrivez (sa) dans la zone de texte du propriétaire. ça fonctionnera probablement
la source