Die Eigenschaften einer Datenbank können nicht aufgerufen werden. Es wird eine Fehlermeldung wie „Die Owner-Eigenschaft ist für Datenbank ‚[Datenbankname]‘ nicht verfügbar. Diese Eigenschaft ist für dieses Objekt möglicherweise nicht vorhanden oder kann aufgrund von unzureichenden Zugriffsrechten nicht abgerufen werden.“ oder „Property Owner is not available for Database'[Database Name]‘. This property may not exist for this object, or may not be retrievable due to insufficient access rights.“ ausgegeben.
Inhalt
Beschreibung
Beim Versuch die Eigenschaften einer Datenbank, z.B. über die rechte Maustaste und das Kontextmenü im Microsoft SQL Server Management Studio (SSMS), aufzurufen endet in einer Fehlermeldung, die sich je nach verwendeter Sprache unterscheidet.
Microsoft SQL Server Management Studio
Das angeforderte Dialogfeld kann nicht angezeigt werden.
Das angeforderte Dialogfeld kann nicht angezeigt werden. (SqlMgmt)
Die Owner-Eigenschaft ist für Datenbank ‚[Datenbankname]‘ nicht verfügbar. Diese Eigenschaft ist für dieses Objekt möglicherweise nicht vorhanden oder kann aufgrund von unzureichenden Zugriffsrechten nicht abgerufen werden. (Microsoft.SqlServer.Smo)
bzw. auf Englisch:
Cannot show requested dialog.
Additional information:
Cannot show requested dialog.(SqlMgmt)
Property Owner is not available for Database'[Database Name]‘. This property may not exist for this object, or may not be retrievable due to insufficient access rights. (Microsoft.SqlServer.Smo)
Dieses Verhalten tritt evtl. dann auf, wenn man die Datenbanken aus einer Sicherung wiederhergestellt hat o.Ä.
Es könnten auch diese oder ähnliche Meldungen auftauchen:
Cannot execute as the database principal because the principal „dbo“ does not exist, this type of principal cannot be impersonated, or you do not have permission.
Lösung
Per sp_helpdb die Datenbanken und owner auflisten
Wenn man folgende SQL-Abfrage in SSMS durchführt, dann sieht man, dass in der Spalte „owner“ der Benutzer fehlt, bzw. auf ~~UNKNOWN~~
steht.
-- Alle DBs mit Größe und owner anzeigen
-- Owner-Spalte steht bei vielen DBs auf "~~UNKNOWN~~"
sp_helpdb
Per sp_changedbowner den owner auf sa setzen
-- Owner einer DB auf den SA setzen.
-- Den Namen der DB in den eckigen Klammern entsprechend anpassen.
use [DB_Name]
EXEC sp_changedbowner 'sa'
In unserem Fall ist es nur als Beispiel die DB „AppMng_Service_DB“
Nun können die Eigenschaften der DB wieder aufgerufen werden.
Links
- https://www.mssqltips.com/sqlservertip/2477/property-owner-is-not-available-for-database-ssms-error/
- https://stackoverflow.com/questions/13823354/sql-server-principal-dbo-does-not-exist