微软最新推出的 SQL Server 2012 Express LocalDB 是一种 SQL Server Express 的运行模式,特别适合用在开发环境使用,也内置在 Visual Studio 2012 之中。sql
关于 SQL Server 2012 Express LocalDB 的运做方式数据库
在安装 LocalDB 时会复制一个 SQL Server Express 实例所需的最少文件,基本上 LocalDB 几乎等同于完整的 SQL Server Express 数据库引擎,且 LocalDB 方式启动的 SQL Server Database Engine 实例与 SQL Server Express 具备相同的限制 (由于跟 SQL Server Express 共享相同的文件),但 LocalDB 因为简化了管理,因此比 SQL Server Express 还多了一些限制,不过这些限制一般不影响开发。相对旧版的 SQL Server 2008 Express 来讲,二者有些差别性,比较以下:express
SQL Server 2012 Express LocalDB 区分两种实例类型,分别为:服务器
LocalDB 自动实例是公用的。工具
了解 SQL Server 2012 Express LocalDB 实例的数据库文件所在路径测试
在安装好 SQL Server 2012 Express LocalDB 以后,默认会有个实例名为 v11.0,该实例的相关文件所在目录一般位于如下目录 ( 请将 <user> 替换成你的登录帐号 )加密
C:\Users\<user>\AppData\Local\Microsoft\Microsoft SQL Server Local DB\Instances.net
或用 %LOCALAPPDATA% 环境变量进入该目录比较方便:3d
%LOCALAPPDATA%\Microsoft\Microsoft SQL Server Local DB\Instancesblog
如下是显示该目录的图标,这里会列出全部 LocalDB 的实例:
在此目录 ( v11.0 ) 下所看到的文件都是实例的相关文件,系统数据库文件、错误纪录、纪录追踪、加密密钥、…等等,不过若你在 LocalDB 实例中创建用户数据库时,必需要明确指定其数据文件与记录文件的路径,不然默认全部创建的数据库都会位于 %USERPROFILE% 目录下 ( C:\Users\<username> )
创建 SQL Server 2012 Express LocalDB 具名实例
你能够想象一下,一个 SQL 数据库实例就如同一台完整的 SQL Server 数据库服务器,在一个实例里面会有本身的系统数据库 (master, msdb, model, temp),就跟咱们通常在使用 SQL Server 没有什么两样,当你创建额外的 LocalDB 实例的话,这些系统数据库就会跟另外一个具名实例彻底独立开来,彼此彻底互不影响。
就开发的角度来讲,你甚至能够在开发测试的环境里创建一套跟客户端正式主机彻底相同的数据库环境,光是这一点就与以往的 SQL Server Express 区别巨大,也是新版 LocalDB 真正厉害的地方!
在创建新的 LocalDB 实例以前,必须先了解 SqlLocalDB.exe 工具程序的路径,请参考如下路径:
C:\Program Files\Microsoft SQL Server\110\Tools\Binn\SqlLocalDB.exe
如下是创建 LocalDB 实例的指令,其中 “LocalDbTest” 是你能够自行命名的实例名称:
SqlLocalDB.exe create LocalDbTest
接着咱们经过命令列出全部 LocalDB 已经创建的全部实例,并查看特定实例的相关信息:
SqlLocalDB.exe info SqlLocalDB.exe info Projects
接着咱们在看看文章以前介绍过的实体文件路径,你将会发现多了一个目录,咱们用 %LOCALAPPDATA% 环境变量进入该目录看看:
%LOCALAPPDATA%\Microsoft\Microsoft SQL Server Local DB\Instances
进入该目录就会看到如同 SQL Server 完整版同样有这些系统数据库文件、错误纪录、纪录追踪、加密密钥、…等等,以下图示:
SQL Server 2012 Express LocalDB 与其余 SQL Server 版本的比较
在 SQL Server 2012 问世以前,SQL Server 依据不一样的运行环境各有推出不一样的版本,在运行上也有不一样的限制,例如:
而 SQL Server 2012 Express LocalDB 又是甚么样的一个定位呢?从数据库系统复杂度加以从新排序过以下:
因为 SQL Server 2012 Express LocalDB 跟前版的 SQL Server 2008 R2 Express 很像,其中的限制有:
但支持数据库层级、数据行层级和表达式层级定序。
也就是说,你只要在创建数据库时指定其排序规则便可,或是挂载其余数据库系统移过来的数据库文件,或还原自其余数据库的备份文件也都不会有问题。
自主数据库遵循自主数据库定序所定义的元数据和 tempdb 定序规则。
相关连接