SQL 2005无法删除用户

Kol*_*ten 2 sql-server sql-server-2005 user-management

我已将备份中的数据库还原到新服务器上,并且无法从数据库中删除旧架构.我为这个数据库创建了一个新用户.新用户的名称不同(为了让其他开发人员更清楚),所以我对此架构没有用处.我终于设法删除了USER,但架构不会消失.

我收到的错误是"无法删除架构",因为它被对象引用''

运行此脚本:

select * from sys.objects where schema_id = 5
Run Code Online (Sandbox Code Playgroud)

...显示此架构"拥有"的所有对象.

我的问题是我找不到改变这些对象所有权的方法.一定有办法吗?谢谢大家

And*_*mar 5

将对象Thing从schema Source移动到schema Destination的语法是:

ALTER SCHEMA Destination TRANSFER Source.Thing
Run Code Online (Sandbox Code Playgroud)

这是用于生成脚本以将所有对象传输到dbo架构的SQL:

SELECT 'ALTER SCHEMA dbo TRANSFER ' + SCHEMA_NAME(schema_id) + '.' + name
FROM sys.tables
WHERE schema_id != SCHEMA_ID('dbo');
Run Code Online (Sandbox Code Playgroud)

要只传输一个特定的模式:

SELECT 'ALTER SCHEMA NewSchema TRANSFER ' + SCHEMA_NAME(schema_id) + '.' + name
FROM sys.tables
WHERE schema_name(schema_id) = 'OldSchema'
Run Code Online (Sandbox Code Playgroud)