我已将数据库从备份恢复到新服务器,并且无法从数据库中删除旧架构。我已经为此数据库创建了一个新用户。新用户的名称是不同的(为了让其他开发人员更清楚),所以我不需要这个模式。我最终设法删除了用户,但模式不会消失。
我收到的错误是“无法删除架构'‘,因为它正被对象引用”“
运行此脚本:
select * from sys.objects where schema_id = 5...shows此架构‘拥有’的所有对象。
我的问题是我找不到一种方法来改变这些对象的所有权。一定有办法吧?感谢所有人
发布于 2009-05-28 21:46:00
将object Thing从模式源移动到模式目标语法为:
ALTER SCHEMA Destination TRANSFER Source.Thing要生成将所有对象传输到dbo方案的脚本,请执行Here's SQL操作:
SELECT 'ALTER SCHEMA dbo TRANSFER ' + SCHEMA_NAME(schema_id) + '.' + name
FROM sys.tables
WHERE schema_id != SCHEMA_ID('dbo');要仅传输一个特定的模式:
SELECT 'ALTER SCHEMA NewSchema TRANSFER ' + SCHEMA_NAME(schema_id) + '.' + name
FROM sys.tables
WHERE schema_name(schema_id) = 'OldSchema'https://stackoverflow.com/questions/923355
复制相似问题