修改sql server 2005的用户默认架构

发布时间:2020-06-30编辑:脚本学堂
本文为大家介绍SQL Server 2005数据库恢复到CC_DBO1架构同时设置默认用户为CC_DBO的完整步骤。

本文为大家介绍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';