Ich habe versucht, ein Datenbankdiagramm mit SQL Server 2008 zu erstellen, aber es tritt ein Fehler auf:
Unterstützungsobjekte für Datenbankdiagramme können nicht installiert werden, da diese Datenbank keinen gültigen Eigentümer hat. Um fortzufahren, verwenden Sie zuerst die Seite "Dateien" des Dialogfelds "Datenbankeigenschaften" oder die Anweisung "ALTER AUTHORIZATION", um den Datenbankeigentümer auf eine gültige Anmeldung festzulegen, und fügen Sie dann die Unterstützungsobjekte für das Datenbankdiagramm hinzu.
Dann habe ich folgendes versucht:
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
Der nächste Fehler erscheint:
Meldung 15404, Ebene 16, Status 11, Zeile 1 Es konnten keine Informationen zur Windows NT-Gruppe / zum Benutzer 'WIN-NDKPHUPPNFL \ Administrator', Fehlercode 0x534, abgerufen werden.
Das Problem ist, dass der Name des PCs in "DevPC" geändert wurde. Ich habe dies auch im Update-Skript geändert, aber immer noch den gleichen Fehler 15404.
Was kann ich tun, um diesen lästigen Fehler zu beheben?
alter authorization on database::[db_name] to [sa]
und dann 2) denselben Befehl erneut ausführen und durch[sa]
den Benutzer ersetzen, dem die Datenbank unmittelbar nach der Wiederherstellung gehört.Antworten:
Sie sollten das SQL-Authentifizierungskonto für den Datenbankbesitz in Betracht ziehen. Dann müssen Sie sich keine Gedanken mehr über das Kommen und Gehen von Konten, das Verschieben von Datenbanken oder Instanzen auf andere Server und die Änderung Ihres nächsten PC-Namens machen. Ich habe mehrere Systeme, in denen wir verwenden:
Wenn Sie den Eigentümer in dieses lokale Administratorkonto ändern möchten, sollte dies folgendermaßen aussehen:
Durch das Umbenennen des Computers in
DevPC
wurde das zuvor benannte lokale Konto entfernt, wodurchWIN-ND...\Administrator
auch der aktuelle Eigentümer der Datenbank ungültig wurde.Wenn dies
SELECT @@SERVERNAME;
nicht korrekt ist (sollte es heißenDevPC
), möchten Sie möglicherweise auch Folgendes ausgeben, um sicherzustellen, dass die Umbenennung Ihres Servers in SQL Server stattgefunden hat:quelle
sa
wenn die SQL-Authentifizierung deaktiviert ist?[sa]
und dann habe ich ihn wieder in den Benutzer geändert, von dem er sagte, dass er vorher war, und Viola, keine Fehler mehr. Nicht sicher, warum eine Datenbankwiederherstellung den Datenbankbesitzer nicht richtig festgelegt hat ...Gehen Sie in SQL Server Management Studio wie folgt vor:
Anschließend können Sie auf die Datenbankdiagramme zugreifen.
quelle
Es klappt.
quelle
Geben Sie "SA" anstelle von "sa" in das Textfeld des Besitzers ein. Das hat bei mir funktioniert.
quelle
Ich hatte das gleiche Problem.
Ich wollte mein Diagramm, das ich am selben Tag bei der Arbeit erstellt habe, zu Hause anzeigen. Aber ich konnte wegen dieser Nachricht nicht.
Ich fand heraus, dass der Besitzer der Datenbank der Benutzer meines Computers war - wie erwartet. Da sich der Computer jedoch in der Domäne des Unternehmens befindet und ich nicht mit dem Netzwerk des Unternehmens verbunden bin, konnte die Datenbank den Eigentümer nicht auflösen.
Also habe ich den Besitzer in einen lokalen Benutzer geändert und es hat funktioniert !!
Hoffe das hilft jemandem.
Sie ändern den Benutzer, indem Sie mit der rechten Maustaste auf die Datenbank, Eigenschaften, Dateien und den Eigentümer klicken
quelle
Das hat es für mich behoben. Es legt den Eigentümer fest, der im Abschnitt "Dateien" des Datenbankeigenschaftenfensters gefunden wird, und entspricht dem Skript von Management Studio.
Laut der Dokumentation zu sp_changedbowner ist dies jetzt veraltet.
Basierend auf Israels Antwort. Aarons Antwort ist die nicht veraltete Variante davon.
quelle
Wählen Sie Ihre Datenbank aus - Rechtsklick - Eigenschaften auswählen
Wählen Sie DATEI auf der linken Seite
Wählen Sie im Feld EIGENTÜMER die Schaltfläche mit drei Punkten (…) aus
Wählen Sie nun user 'sa und klicken Sie auf OK
quelle
Ich habe das gerade erlebt. Ich hatte die Vorschläge auf dieser Seite sowie die SQL Authority-Vorschläge (was dasselbe ist) gelesen und keiner der oben genannten Punkte hat funktioniert.
Am Ende habe ich das Konto entfernt und neu erstellt (mit demselben Benutzernamen / Passwort). Einfach so, alle Probleme gingen weg.
Leider bedeutet dies, dass ich nicht weiß, was schief gelaufen ist, sodass ich nichts anderes teilen kann.
quelle
1. Klicken Sie mit der rechten Maustaste auf Ihre Datenbank. 2. Wählen Sie dann Eigenschaften aus. 3.Wählen Sie die Option in den Kompatibilitätsstufen und wählen Sie SQL 2008 [100], wenn Sie mit Microsoft SQL 2008 arbeiten.
4.Wählen Sie dann die Datei aus und schreiben Sie (sa) in das Textfeld des Besitzers
100% funktioniert für mich.
quelle
Eine einfachere Möglichkeit, dieses Problem zu lösen, besteht darin, mit der rechten Maustaste auf den Namen Ihrer Datenbank zu klicken, "Neue Abfrage" auszuwählen, "exec sp_changedbowner 'sa'" einzugeben und die Abfrage auszuführen. Dann können Sie loslegen.
quelle
Sie müssen als Administrator mit der rechten Maustaste auf microsofft sql server management studio klicken und als Administrator ausführen
quelle
Sie müssen es nur im Abfrage-Editor ausführen. ALTER AUTHORIZATION ON DATABASE :: YourDatabase TO [domain \ account];
quelle
Das eigentliche Problem ist, dass dem Standardeigentümer (dbo) überhaupt kein Login zugeordnet ist. Als ich versuchte, das sa-Login dem Datenbankeigentümer zuzuordnen, erhielt ich einen weiteren Fehler mit der Angabe "Benutzer, Gruppe oder Rolle 'dbo'. existiert bereits ... ". Wenn Sie diesen Code jedoch ausprobieren, funktioniert er tatsächlich:
quelle
Klicken Sie mit der rechten Maustaste auf Ihre Datenbank und wählen Sie Eigenschaften aus. Wählen Sie die Option in den Kompatibilitätsstufen aus. Wählen Sie SQL 2005 [90] anstelle von 2008, wenn Sie mit Microsoft SQL 2008 arbeiten. Wählen Sie dann die Datei aus und schreiben Sie (sa) in das Textfeld des Besitzers. es wird wahrscheinlich funktionieren
quelle