SQL Server 2012 安全新特性:包含数据库

来源:互联网 发布:中信淘宝信用卡好吗 编辑:程序博客网 时间:2024/05/21 09:50
 

 

一、启用功能 

1、修改服务器(实例)的属性

 否则,在修改数据库的属性时会报错:

 

2、修改服务器(实例)的安全性

否则,连接时报错:

 

3、修改数据库的属性

在新建数据库或修改已有的数据库时,在“选项”页面,将包含类型改为:部分。

 

二、新增用户

展开数据库db01、安全性、用户,新建一个数据库用户

创建之后,如下:

 

三、登录

1、登录

 

 

2、检查安全性 

连接之后,可见,只打开了一个数据库。

新建一个查询窗口,可见,只能访问3个数据库:

 

在左侧的列表中,在实例名称上点右键,结果如下:

在“数据库”点右键,结果如下:

在db01点右键,报错:

 

3、测试脚本

运行:

ALTER DATABASE ContainedDB SET CONTAINMENT=NONE

结果:

消息 5011,级别 14,状态 5,第 1 行
用户没有更改数据库 'ContainedDB' 的权限,该数据库不存在,或数据库未处于允许访问检查的状态。
消息 5069,级别 16,状态 1,第 1 行
ALTER DATABASE 语句失败。 

 

运行以下脚本可以成功地执行。注意:可以使用CURRENT关键字。

ALTER DATABASE CURRENT SET MULTI_USER
ALTER DATABASE db01 SET compatibility_level = 110 

BACKUP DATABASE db01 TO DISK='C:\SqlData\backup\db01.bak'

 

四、移动和复制包含数据库

1、备份与恢复

  使用上一步得到的db01.bak文件,可以在另一个SQL Server实例中恢复,恢复的操作方法与普通数据库没在差别。

 

2、分离与附加

  如果仅在本机上移动,可以先从一个实例中“分离”再“附加”到另一个实例。

 

3、注意事项

  恢复到另一个实例时,或者附加到另一个实例时,该实例必须将“启用包含的数据库”选项设为True,否则报错。

 

本文出自 “JimShu (MCITP/MCT)” 博客,请务必保留此出处http://jimshu.blog.51cto.com/3171847/872711

原创粉丝点击