Datenbankdiagramm Support Objects kann nicht installiert werden ... keine gültigen Eigentümer
-
19-09-2019 - |
Frage
Ich habe versucht, eine Datenbank mit Diagramm SQL Server 2008 zu erstellen, aber ein Fehler auftritt:
Datenbank Diagramm Unterstützung Objekte kann nicht, weil diese installiert werden Datenbank keinen gültigen Besitzer haben. Um fortzufahren, verwenden Sie zuerst die Seite Dateien der Datenbank Dialogfeld Eigenschaften oder die ALTER AUTHORIZATION-Anweisung die Datenbank-Besitzer auf einen gültigen einstellen Login, dann fügen Sie die Datenbank-Diagramm Unterstützungsobjekte.
Dann habe ich versucht die folgenden:
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
Als nächstes erorr erscheint:
Msg 15404, Ebene 16, 11 State, Linie 1 erhalten kann keine Informationen über Windows NT-Gruppe / Benutzer 'WIN-NDKPHUPPNFL \ Administrator', Fehler Code 0x534.
Das Problem ist der Name des PC in die „DevPC“ geändert hat, habe ich auch das in der Update-Skript geändert, aber immer noch die gleichen Fehler 15404.
Was kann ich tun, um diesen ärgerlichen Fehler zu beheben?
Lösung
Sie sollten SQL-Authentifizierungskonto prüfen für Datenbank-Besitz; dann müssen Sie nicht über Konten bewegen zu verschiedenen Servern und Ihre nächsten PC Namensänderung kommen und gehen, Datenbanken oder Instanzen kümmern. Ich habe mehrere Systeme, bei denen wir verwenden:
ALTER AUTHORIZATION ON DATABASE::Ariha TO [sa];
Oder wenn Sie an den Eigentümer zu diesem lokalen Administrator-Konto ändern mögen, dann sollte es sein:
ALTER AUTHORIZATION ON DATABASE::Ariha TO [DevPC\Administrator];
Da die Maschine DevPC
Umbenennung das lokale Konto eliminiert hat, dass verwendet wird genannt WIN-ND...\Administrator
und dies hat für ungültig erklärt auch den aktuellen Besitzer der Datenbank.
Wenn SELECT @@SERVERNAME;
nicht korrekt ist (es sollte sagen DevPC
), dann, um sicherzustellen, dass der Server Umbenennungs halten, innerhalb von SQL Server genommen hat, können Sie auch die folgende ausgegeben werden sollen:
EXEC sp_dropserver @server = N'old server name';
GO
EXEC sp_addserver @server = N'DevPC', @local = N'local';
GO
Andere Tipps
In SQL Server Management Studio wie folgt vor:
- Rechtsklick auf Ihre Datenbank, wählen Sie Eigenschaften
- Gehen Sie auf die Seite Optionen
- In der Drop-Down auf rechts mit "Kompatibilitätsgrad" wählen "SQL Server 2005 (90)" 3-1. wählen Sie "SQL Server 2008", wenn Sie eine Vergleichbarkeit Fehler angezeigt.
- Gehen Sie auf die Dateien Page
- Geben Sie "sa" in der Eigentümer Textbox. 5-1 oder klicken Sie auf die Ellipsen (...) und einen rechtmäßigen Eigentümer wählen.
- Hit OK
danach tun, werden Sie nun in der Lage sein, die Datenbankdiagramme zugreifen zu können.
USE [ECMIS]
GO
EXEC dbo.sp_changedbowner @loginame = N'sa', @map = false
GO
Es funktioniert.
Geben Sie "SA" anstelle von "sa" in dem Eigentümer Textbox. Das funktioniert für mich.
Ich hatte das gleiche Problem.
Ich wollte mein Diagramm sehen, die ich noch am selben Tag bei der Arbeit, zu Hause geschaffen. Aber ich konnte nicht, weil diese Nachricht.
Ich fand heraus, dass der Besitzer der Datenbank der Benutzer meines Computers war -wie erwartet. aber da der Computer in der Firma Domäne ist, und ich bin nicht an das Netzwerk des Unternehmens verbunden sind, kann die Datenbank nicht an den Eigentümer lösen.
Also, was ich tat, ist , die Eigentümer an einen lokalen Benutzer ändern und es hat funktioniert !!
Hoffe, dass dies jemand hilft.
Sie den Benutzer ändern, indem Sie einen Rechtsklick auf die Datenbank, Eigenschaften, Dateien, Eigentümer
Dieses regelte es für mich. Er setzt der Eigentümer im Rahmen der ‚Dateien‘ des Datenbank-Eigenschaftsfenster gefunden, und wie vom Management Studio scripted ist.
USE [your_db_name]
GO
EXEC dbo.sp_changedbowner @loginame = N'sa', @map = false
GO
Nach der sp_changedbowner Dokumentation dies ist veraltet jetzt.
Basierend auf Israels Antwort. Aaron Antwort ist die nicht veraltet Variation davon.
Wählen Sie Ihre Datenbank - Rechtsklick - Eigenschaften wählen
Wählen Sie Datei in der linken Seite der Seite
In dem Besitzer Feld Auswahltaste, die drei Punkte haben (...) darin
Wählen Sie nun Benutzer ‚SA und Klicken Sie auf OK
ich gerade erleben dies. Ich hatte die Vorschläge zu dieser Seite, sowie die SQL-Behörde Vorschläge lesen (was dasselbe ist) und keine der oben gearbeitet.
Am Ende nahm ich das Konto und neu erstellt (mit dem gleichen Benutzername / Passwort). Einfach so, alle Fragen ging.
Leider bedeutet dies, ich weiß nicht, was falsch gelaufen ist, damit ich nicht irgend etwas anderes gemeinsam nutzen kann.
1.Right auf Ihrer Datenbank klicken, 2.Then wählen Sie Eigenschaften. 3.Select die Option im Kompatibilitätsstufen wählen SQL 2008 [100], wenn Sie mit Microsoft arbeiten SQL 2008.
4.Then wählen Sie die Datei und schreibt (sa) in Eigentuemers Textbox
100% funktioniert für mich.
Ein einfacher Weg, um diese Probleme zu lösen wäre zu Recht den Namen Ihrer Datenbank klicken, wählen Sie „New Query“, geben Sie „exec sp_changedbowner‚sa‘“ und die Abfrage ausführen. Dann werden Sie gut zu gehen.
Sie müssen als Administrator einen Rechtsklick auf Microsoft SQL Server Management Studio, und führen Sie als admin
Nur müssen sie in Abfrage-Editor auszuführen ALTER AUTHORIZATION ON DATABASE :: YourDatabase TO [Domäne \ Konto];
Das eigentliche Problem ist, dass der Standard-Besitzer (DBO) nicht über einen Login, um es kartiert bei all.As Ich habe versucht, die SA-Anmeldung zu der Datenbank-Besitzer kartieren ich einen anderen Fehler empfangen Angabe „Benutzer, eine Gruppe oder Rolle ‚dbo‘ existiert bereits ... "Allerdings, wenn Sie diesen Code versuchen, wird es tatsächlich funktioniert.
EXEC sp_dbcmptlevel 'ihredb', '90';
gehen
ALTER AUTHORIZATION ON DATABASE :: ihredb TO "Yourlogin"
gehen
Verwendung [ihredb]
gehen
EXECUTE AS USER = N'dbo‘REVERT
gehen
Rechtsklick auf Ihre Datenbank, und wählen Sie Eigenschaften. wählen Sie die Option im Kompatibilitätsstufen wählen SQL 2005 [90] statt 2008, wenn Sie mit Microsoft SQL 2008 arbeiten. dann wählen Sie die Datei und schreiben (sa) in Eigentuemers Textbox. es wird funktionieren wahrscheinlich