SQL Server 2011新特点:包容数据库
SQL Server 2011新特点:包容数据库
--王成辉翻译整理,转贴请注明出自微软BI开拓者www.windbi.com
--原帖地址
SQL Server 2011也即SQL Server Denali引入了一个新的特点称作包容数据库。一个包容数据库基本上包括了自身需要的所有数据库的设置和元数据,因此对SQL Server数据库引擎没有配置上的依赖。用户可以在没有数据库引擎级的login验证的情况下连接到包容数据库。该特点帮助把数据库从数据库引擎里独立出来,因此使得很容易把数据库从一个实例移动到另一个实例。本文将如何来配置和使用这个特点。
让我们通过一个例子来配置SQL Server 2011的包容数据库。配置和使用该特点的步骤如下:
1.在实例级开启包容数据库功能
2.在SQLServer 2011里曾经一个包容数据库3.创建一个SQL Server用户去访问包容数据库
4.登录包容数据库并验证用户权限
在实例级开启包容数据库功能
执行下面的TSQL代码来在SQL Server实例级开启包容数据库功能:
Use master
GO
sp_configure 'show advanced options', 1
GO
RECONFIGURE WITH OVERRIDE
GO
sp_configure 'contained database authentication', 1
GO
RECONFIGURE WITH OVERRIDE
GO
sp_configure 'show advanced options', 0
GO
RECONFIGURE WITH OVERRIDE
GO
在SQL Server 2011里曾经一个包容数据库
一旦在实例级开启了包容数据库的功能,接下来就是创建包容数据库了:
1.在Object Explorer里,右击Databases并从下来列表里选择New Database…
2.在General页里输入数据库的名称如DemoContainedDB并单击左边栏的Options页
3.在Options页里,要创建包容数据库,你需要选择Other Options下拉列表里的Partial选项:

4.最后,单击OK完成包容数据库的创建。
使用TSQL代码创建包容数据库
你也可以使用TSQL代码来创建包容数据库,如下所示:
Use master
GO
CREATE DATABASE [DemoContainedDB]
CONTAINMENT = PARTIAL
ON PRIMARY
(
NAME = N'DemoContainedDB',
FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\DemoContainedDB.mdf' ,
SIZE = 3072KB ,
FILEGROWTH = 1024KB
)
LOG ON
(
NAME = N'DemoContainedDB_log',
FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\DemoContainedDB_log.ldf' ,
SIZE = 1024KB ,
FILEGROWTH = 10%
)
GO
创建一个SQL Server用户去访问包容数据库
一旦创建了包容数据库,接下来就是创建一个SQL Server或者Windows用户,用它来访问刚刚创建的包容数据库。按照下面的步骤在包容数据库里创建一个SQL Server用户:
1.在Object Explorer里,展开Databases,展开早先创建的数据库DemoContainedDB,展开Security并右击Users,选择New User…

2.在Database User - New窗口里,你需要选择User Type为SQL User with Password并提供SQL Server User Name和Password,你也可以选择Default language和Default schema。最后单击OK按钮创建用户。

3.你也可以用TSQL代码创建用户:
USE [DemoContainedDB]
GO
CREATE USER [ContainedDBUser] WITH PASSWORD=N'Contained$DBUser@5',
DEFAULT_LANGUAGE=[English],
DEFAULT_SCHEMA=[dbo]
GO
登录包容数据库并验证用户权限
让我们用SQLServer的登录界面试着连接刚刚参加的包容数据库:
1.在Login标签里需要提供Server name,选择Authentication 类型为"SQL Server Authentication",然后输入Login和Password:

2.在Connection Properties标签里,需要选择database name,然后单击Connect按钮来连接到包容数据库。

3.在下面的截屏中,你可以看到你使用刚刚创建的SQL Server用户成功地连接到了包容数据库,而该用户没有访问数据库引擎。

4.你也可以看到上面的截屏中那个用户仅能访问新建的那个包容数据库。
5.现在让我们试着使用sa连接到SQL Server实例。这里你可以看到所有的数据库,然而你不能在Server Logins下看到用户Contained Database User,截屏如下:

拓狼 最后编辑于 2011-07-06 05:48:17
虽有智慧,不如乘势;虽有鎡基,不如待时。
君子学以聚之,问以辨之,宽以居之,仁以行之。
独学而无友,则孤陋而寡闻。