新博客http://www.cnblogs.com/zhjh256 欢迎访问
分类:
2011-02-24 21:12:16
SQL Server 2005数据库恢复到CC_DBO1架构同时设置默认用户为CC_DBO完整步骤
一、以cc_dbo1为例
二、更改拥有者
如果当前有对象属于cc_dbo1,则将其临时转到dbo;
use test;
go
SELECT B.NAME,A.NAME,A.TYPE_DESC FROM SYS.OBJECTS A,SYS.SCHEMAS B
WHERE A.SCHEMA_ID=B.SCHEMA_ID AND B.NAME='CC_DBO1';
select 'exec sp_changeobjectowner ''cc_dbo.'+ name + ''',''dbo'';' from sysobjects where xtype<>'S' ORDER BY NAME;
三、删除架构
DROP SCHEMA CC_DBO1;
四、删除用户
DROP USER CC_DBO1;
五、删除登录
USE MASTER
GO
drop login cc_dbo1;
六、创建登录
CREATE LOGIN cc_dbo1 WITH PASSWORD = 'cc_dbo1@123' ;
GO
Exec sp_defaultdb @loginame='cc_dbo1', @defdb='test'
go
七、创建架构
use test
go
create schema cc_dbo1;
go
八、创建用户
CREATE USER cc_dbo1 FOR LOGIN cc_dbo1 ;
go
alter user cc_dbo1 with default_schema=cc_dbo1;
go
exec sp_changedbowner 'cc_dbo1';
go
ALTER AUTHORIZATION ON SCHEMA::cc_dbo1 TO cc_dbo1;
九、--新开窗口cc_dbo1登陆测试
create table test_default_schema(a int);
go
十、切换回来
--验证生效
SELECT B.NAME,A.NAME,A.TYPE_DESC FROM SYS.OBJECTS A,SYS.SCHEMAS B
WHERE A.SCHEMA_ID=B.SCHEMA_ID AND B.NAME='CC_DBO1';
十一、--更改对象为cc_dbo拥有
select 'exec sp_changeobjectowner ''dbo.'+ name + ''',''cc_dbo1'';' from sysobjects where xtype<>'S' ORDER BY NAME;
十二、验证
SELECT B.NAME,A.NAME,A.TYPE_DESC FROM SYS.OBJECTS A,SYS.SCHEMAS B
WHERE A.SCHEMA_ID=B.SCHEMA_ID AND B.NAME='CC_DBO1';