SQL Server 2012 Express LocalDB

来源:互联网 发布:软件编程程序培训班 编辑:程序博客网 时间:2024/05/18 13:48

    微软最新推出的SQL Sserver 2012 Express LocalDB 是一种SQL Server Express的运行模式,特别适合在开发环境中使用,也内置在Visual Studio 2012之中。

关于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来说,两者有些差异性,比较如下:

        SQL Server 2008 Express

  • 安装SQL Server 2008 Express的过程时间花得比较久
  • 通过SQL Server 2008 Express安装程序一次只能安装一个SQL实例(Instance),若要安装更多实例则必须在运行一次SQL Server 2008 Express 安装程序   注:默认实例名称为SQLEXPRESS
  • 需通过SQL Server 配置管理器Windows服务管理器启动该实例

        SQL Server 2012 Express LocalDB

  • 安装SQL Server 2012 Express LocalDB的过程非常快(安装时间非常短)
  • 安装SQL Server 2012 Express LocalDB完后,默认会有个自动实例V11.0,但之后若要建立其他实例不需要再运行安装程序,只需通过SqlLocalDB.exe工具程序即可任意建立新的实例,建立一个实例的时间不超过3秒!
  • 可通过特殊的连接字符串自动启动该实例,或可通过SqlLocalDB.exe工具程序启动,应用程序不需复杂或耗时的组件工作即可开始使用数据库!
  • 在同一台主机里,每个用户都可以建立自己的LocalDB实例,每个实例都是以不同使用者身份运行的不同进程,所以不同使用者可有同名的实例

 SQL Server 2012 Express LocalDB区分两种实例类型,分别为:

  •  LocalDB自动实例(Automatic Instances)
  1. LocalDB自动实例是公用的。
  2. 安装完LocalDB后的V11.0就是自动实例,虽然感觉只有一个实例,但是由于在同一台主机里,每个用户都可以建立自己的LocalDB实例,所有使用者虽然都有同名的V11.0的实例,但彼此都是独立分开的进程(Process)。这些实例会自动为使用者建立及管理,并且可供任何应用程序使用。
  3. 用户计算机上安装的每一个LocalDB版本各存在一个LocalDB自动实例。未来如果还有下一版SQL Server 2012 Express LocalDB出现,就会再有新的实例名称可用,默认自动实例名称是一个v字符后面接着xx.x格式的LocalDB发行版号码。例如,v11.0代表SQL Server 2012。
  • LocalDB具名实例(Named Instances)
  1. LocalDB具名实例是私用的。
  2. 这些实例是有该负责建立及管理该实例的使用者或特定单一应用程序所拥有。
  3. 不同使用者默认无法存取自定义的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

    或用%LOCALAPPDATA%环境变量进入该目录比较方便:

    %LOCALAPPDATA%\Microsoft SQL Server Local DB\Instances 以下是显示该目录的图标,这里会列出所有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 createdLocalDBTest

接着我们通过命令列出所有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 Enterprise(企业版,适合大量数据或高可用性环境)

        SQL Server Standard(标准版,适合用在一般数据库处理环境)

        SQL Server Express(轻量版,适合用在单机或小量数据库环境)

        SQL Server Compact(精简版,又称SQL CE,适用于行动化或嵌入式系统环境)

而SQL Server 2012 Express LocalDB又是甚么样的定位呢?从数据库系统复杂度加以重新排序过如下:

        SQL Server Enterprise > Standard > Express > LocalDB > Compact

由于SQL Server 2012 Express LocalDB 跟前版的SQL Server 2008 R2 Express很像,其中的限制有:

  • LocalDB的实例排序规则默认为SQL_Latin1_General_CP1_CI_AS,无法变更, 但支持数据库层级、数据库行层级和表达式层级排序。也就是说,你只要在建立数据库时指定其排序规则即可,或是挂载其他数据库系统移过来的数据库文件,或还原自其他数据库的备份文件也都不会有问题。自主数据库遵循自主数据库定序所定义的元数据和tempdb定序规则。
  • LocalDB不得为合并式复写订阅者。
  • LocalDB不支援FILESTREAM。
  • LocalDB针对Service Broker只允许本机队列。

转载自:http://www.cnblogs.com/shanyou/archive/2012/09/05/2672590.html

原创粉丝点击