Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Como posso excluir um usuário do sql server 2012 que possui um esquema


Você deve transferir a propriedade do esquema para algum outro usuário, provavelmente dbo , antes de remover o usuário:

Para testar isso, fiz o seguinte:

Crie um usuário para possuir o esquema e um esquema de teste:
USE tempdb;
CREATE USER [testuser] WITHOUT LOGIN;
GO
CREATE SCHEMA [max] AUTHORIZATION testuser;
GO

Tente descartar o usuário, que falhará:
DROP USER [testuser];
GO

Transferir a propriedade do esquema para algum outro usuário, neste caso o usuário especial, dbo , que possui o banco de dados:
ALTER AUTHORIZATION ON SCHEMA::[max] TO dbo;
GO

Agora, solte o usuário de teste, que funciona:
DROP USER [testuser];