本文共 861 字,大约阅读时间需要 2 分钟。
SQL Server 2012 新特性(二)安全新特性:包含数据库
一、启用功能
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,否则报错。
转载地址:http://yordl.baihongyu.com/