一、如何开启并创建相关的数据库用户:
1.1 修改实例配置, 用代码或界面操作:
EXEC sys.sp_configure N'contained database authentication', N'1'
GO
RECONFIGURE WITH OVERRIDE
GO
1.2 修改数据库 ( 希望变成包含数据库的DB ) 配置, 用代码或界面操作:
USE [master]
GO
ALTER DATABASE [test] SET CONTAINMENT = PARTIAL WITH NO_WAIT
GO
1.3 为测试库创建带密码的用户, 代码或界面操作:
USE [test]
GO
CREATE USER [test] WITH PASSWORD=N'test'
GO
USE [test]
GO
ALTER ROLE [db_owner] ADD MEMBER [test]
GO
二、如何连接?
三、如何备份后还原到其它实例上?
先备份:
BACKUP DATABASE test TO DISK=N'd:\database_bak\test20171214.bak' WITH COMPRESSION,STATS=50
再还原, 注:其它实例必须也开启包含数据库配置!
EXEC sys.sp_configure N'contained database authentication', N'1'
GO
RECONFIGURE WITH OVERRIDE
GO
USE [master]
RESTORE DATABASE [test] FROM
DISK = N'E:\database_bak\test20171214.bak' WITH FILE = 1
, MOVE N'test' TO N'D:\database\test.mdf'
, MOVE N'test_log' TO N'D:\database\test_log.ldf', NOUNLOAD, STATS = 50
GO
四、还原之后, 马上可以用 1.3 创建的用户, 用步骤 (二) 的方法访问迁移到新实例上的这个包含数据库了!
这个小功能, 对正式生产环境似乎作用不大, 但对于经常需要迁移数据库的人来说就是福音了。