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:\\.\pipe\LOCALDB#FA818530\tsql\query;Database=TestLocalDb;
示例2——Windows身份验证连接指定附加文件的LocalDB数据库:
Server=np:\\.\pipe\LOCALDB#FA818530\tsql\query; AttachDbFilename=C:\Users\Administrator\AppData\Local\Microsoft\Microsoft SQL Server Local DB\Instances\v11.0\TestLocalDb.mdf
示例3——SqlServer身份验证连接指定LocalDB数据库:
Server=np:\\.\pipe\LOCALDB#FA818530\tsql\query;Database=TestLocalDb;uid=sa;pwd=123
示例4——SqlServer身份验证连接指定附加文件的LocalDB数据库:
Server=np:\\.\pipe\LOCALDB#FA818530\tsql\query;AttachDbFilename= C:\Users\Administrator\Desktop\Db\TestLocalDb.mdf;uid=sa;pwd=123
示例5——连接指定SqlServer数据库:
Server=np:\\.\pipe\LOCALDB#FA818530\tsql\query;AttachDbFilename= C:\Users\Administrator\Desktop\Db\TestDb.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:\Users\Administrator\TestLocalDb.mdf;
注意:
与 doNet 4.0 相比,Server可以用实例管道名也可以用实例名称,其他一致。
六、总结
1、环境依赖:.net 4.0、SqlLocalDB.msi
2、localdb与sqlserver操作接口相同(sqlclient),兼容T-Sql
3、附加mdf连接数据库必须本地有实例或sqlserver服务