Wenn ich diese SQL ausführe:
USE ASPState
GO
IF NOT EXISTS(SELECT * FROM sys.sysusers WHERE NAME = 'R2Server\AAOUser')
CREATE USER [R2Server\AAOUser] FOR LOGIN [R2Server\AAOUser];
GO
Ich erhalte folgenden Fehler:
Das Login hat bereits ein Konto unter einem anderen Benutzernamen.
Woher weiß ich, was dieser andere Benutzername für mein Anmeldekonto ist?
sql-server
security
logins
Jack
quelle
quelle
dbo
angezeigten Wert . Merkwürdig, ich erinnere mich nicht, dass ich dasdbo
für meinen Account verwendet habeR2Server\AAOUser
. Ich überlege, was ich als nächstes tun soll.aspnet_regsql -E -S .\MSSQLSERVER_R2 -ssadd
, um dieASPState
Datenbank zu erstellen . Ich denke wahrscheinlich, ich bin bereits festgelegt, obwohl ich es überhaupt nicht merke.sys.server_principals
und verwendensys.database_principals
.sysusers
undsyslogins
sind nur für die Abwärtskompatibilität da.Es ist eine 'Metadatensache' ...
Manchmal wird der Datenbankbenutzer im Laufe dessen, was in dieser Datenbank vor sich geht, "beschädigt". (Ich habe ein ähnliches Verhalten festgestellt, wenn die Datenbank wiederhergestellt wird und die Rollen in der wiederhergestellten Kopie sich von denen unterscheiden, die Sie überlagert haben. Aus diesem Grund habe ich es nachfolgend versucht, wodurch das Problem für mich behoben wurde.)
Öffnen Sie die Anmeldeeigenschaften in SSMS -> (Sicherheit | Anmeldungen | Fehlgeschlagene Benutzer- ID | Eigenschaften | Benutzerzuordnung). Sie werden wahrscheinlich sehen, dass die Datenbank bereits überprüft wurde und Rollen zugewiesen wurden (wie völlig normal).
Notieren Sie sich die Berechtigungen für die Datenbank, die den Fehler angibt, nur als Referenz.
quelle
Cannot drop the user 'dbo'. (Microsoft SQL Server, Error: 15150)
Cannot drop the user 'dbo'.
Fehlermeldung bekommen. Ich lief dieses Skript, das die problematische Benutzerzuordnung entfernt und das Problem behoben:USE DATABASE_NAME; ALTER AUTHORIZATION ON DATABASE::DATABASE_NAME TO [sa]
. Für weitere Informationen ist dies die Quelle, die ich verwendet habe: blog.sql-assistance.com/index.php/cannot-drop-the-user-dbo