我是007 发表于 2018-6-13 13:08:31

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

  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,否则报错。
页: [1]
查看完整版本: SQL Server 2012 安全新特性:包含数据库