zoukankan      html  css  js  c++  java
  • Microsoft LocalDB 安装与使用

    一、概述

    LocalDB兼容其它SQL Server版本,使用sqlservr.exe作为服务进程,使用相同的客户端访问接口(如ADO.NET、ODBC或PDO),兼容T-SQL编程语言。

    在同一台计算机上不必安装多个LocalDB,不同的应用程序可以并行执行多个LocalDB进程,但所有的进程都是从同一个可执行文件(sqlservr.exe)启动的。

    LocalDB不会创建任何系统服务,LocalDB进程会根据需要自动启动、停止。应用程序只需连接“Data Source=(localdb)v11.0”,LocalDB就会作为应用程序的子进程启动。随着连接的终止,LocalDB进程也会随之停止。

    LocalDB支持AttachDbFileName属性,允许开发者指定数据库文件位置。

    二、安装

     

    全程Next。

    三、基本命令

    以下指令在CMD中执行。

    2.1 获取指令帮助

    sqllocaldb.exe -?

    2.2 获取LocalDB版本

     sqllocaldb.exe v

     

    2.3 获取已创建的实例

     sqllocaldb.exe i

     

     指定实例信息:sqllocaldb.exe i v11.0

     

    2.4 创建新实例

    sqllocaldb.exe c localdb01

     

    创建并启动:sqllocaldb.exe c localdb01 -s

    2.5 删除实例

    sqllocaldb.exe d localdb01

     

    2.6 启动实例

    sqllocaldb.exe s v11.0

     

    2.7 停止实例

    安全停止(等待正在执行的查询结束后,再停止):sqllocaldb.exe p v11.0

     

    不等待,直接关闭:sqllocaldb.exe p v11.0 -i

    杀死实例进程:sqllocaldb.exe p v11.0 -k

    2.8 设置共享名

    LocalDB 只能以本机单用户连接登录,若切换用户或其他用户也能连接 LoaclDB,就需要设置 sharename,连接字符串中 server 使用共享名。设置完共享名,连接失败的,请重启计算机以生效。

    四、使用Navicat操作LocalDB

    3.1 安装支持LocalDB的驱动程序

     

    无需安装SDK

    3.2 连接LocalDB

     注意,每次实例重新启动时,管道名称会自动变化

    3.3 创建数据库

     

    五、在自定义程序中(SqlConnection)连接LocalDB

    与SqlServer连接字符串规则基本一致

    4.1 dotNet 4.0 连接字符串

    示例1——Windows身份验证连接指定LocalDB数据库:

           Server=np:\.pipeLOCALDB#FA818530 sqlquery;Database=TestLocalDb;

    示例2——Windows身份验证连接指定附加文件的LocalDB数据库:

           Server=np:\.pipeLOCALDB#FA818530 sqlquery; AttachDbFilename=C:UsersAdministratorAppDataLocalMicrosoftMicrosoft SQL Server Local DBInstancesv11.0TestLocalDb.mdf    

    示例3——SqlServer身份验证连接指定LocalDB数据库:

           Server=np:\.pipeLOCALDB#FA818530 sqlquery;Database=TestLocalDb;uid=sa;pwd=123

    示例4——SqlServer身份验证连接指定附加文件的LocalDB数据库:

           Server=np:\.pipeLOCALDB#FA818530 sqlquery;AttachDbFilename= C:UsersAdministratorDesktopDbTestLocalDb.mdf;uid=sa;pwd=123

    示例5——连接指定SqlServer数据库:

           Server=np:\.pipeLOCALDB#FA818530 sqlquery;AttachDbFilename= C:UsersAdministratorDesktopDbTestDb.mdf

    注意:

    1、Server必须用实例管道名,否则查询时提示错误:

     

     连接、附加.mdf文件必须有实例名,也就是说纯净系统只有.mdf文件无法加载。

    2、mdf不能被占用,否则查询时提示错误:

     3、如果是附加非LocalDB创建的数据库,不需要uid与pwd

    4.2 doNet 4.5及以上连接字符串

    示例1:

           Server=(LocalDB)v11.0;Database=TestLocalDb

    示例2:

           Server=(LocalDB)v11.0;AttachDbFilename=C:UsersAdministratorTestLocalDb.mdf;

    注意:

      与 doNet 4.0 相比,Server可以用实例管道名也可以用实例名称,其他一致。

    六、总结

    1、环境依赖:.net 4.0、SqlLocalDB.msi

    2、localdb与sqlserver操作接口相同(sqlclient),兼容T-Sql

    3、附加mdf连接数据库必须本地有实例或sqlserver服务

  • 相关阅读:
    OpenJDK源码研究笔记(十二):JDBC中的元数据,数据库元数据(DatabaseMetaData),参数元数据(ParameterMetaData),结果集元数据(ResultSetMetaDa
    Java实现 LeetCode 257 二叉树的所有路径
    Java实现 LeetCode 257 二叉树的所有路径
    Java实现 LeetCode 257 二叉树的所有路径
    Java实现 LeetCode 242 有效的字母异位词
    Java实现 LeetCode 242 有效的字母异位词
    Java实现 LeetCode 242 有效的字母异位词
    Java实现 LeetCode 241 为运算表达式设计优先级
    Java实现 LeetCode 241 为运算表达式设计优先级
    Java实现 LeetCode 241 为运算表达式设计优先级
  • 原文地址:https://www.cnblogs.com/seanyan/p/15090482.html
Copyright © 2011-2022 走看看