Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1213445
  • 博文数量: 398
  • 博客积分: 10110
  • 博客等级: 上将
  • 技术积分: 4055
  • 用 户 组: 普通用户
  • 注册时间: 2007-12-23 20:01
个人简介

新博客http://www.cnblogs.com/zhjh256 欢迎访问

文章分类

全部博文(398)

文章存档

2012年(1)

2011年(41)

2010年(16)

2009年(98)

2008年(142)

2007年(100)

我的朋友

分类:

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';

 

阅读(1767) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~