Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Wie kann ich einen Benutzer von SQL Server 2012 löschen, der ein Schema besitzt

Sie müssen den Besitz des Schemas auf einen anderen Benutzer übertragen, wahrscheinlich dbo , vor dem Entfernen des Benutzers:

Um dies zu testen, habe ich Folgendes getan:

Erstellen Sie einen Benutzer, dem das Schema gehört, und ein Testschema:

USE tempdb;
CREATE USER [testuser] WITHOUT LOGIN;
GO
CREATE SCHEMA [max] AUTHORIZATION testuser;
GO

Versuchen Sie, den Benutzer zu löschen, was fehlschlagen wird:

DROP USER [testuser];
GO

Übertragen Sie die Eigentümerschaft des Schemas auf einen anderen Benutzer, in diesem Fall den speziellen Benutzer dbo , dem die Datenbank gehört:

ALTER AUTHORIZATION ON SCHEMA::[max] TO dbo;
GO

Lassen Sie jetzt den Testbenutzer fallen, was funktioniert:

DROP USER [testuser];