题图:Azure Data Studio for SQL Server
Introduction
SQL Server LocalDB(下文简称localdb)是SQL Server的一个超级精简版本,只有几十MB,所以只有非常有限的功能。在我的简单使用过程中,它主要有两个重要的功能缺失:
- 不支持联网,只能本机连接
- 数据库级别的排序规则只能是
SQL_Latin1_General_CP1_CI_AS
且无法更改。(看不懂没关系,下文会提到)
我的建议是,它适合只想学基础的SQL和T-SQL的同学;或用于完成只在本地运行的大作业。而对于想学好SQL Server本身的同学来说,配置服务器的网络是非常重要的环节,无法跳过不学。
详细介绍参考MS Docs:
Download and Install
64位系统可以使用SQL Server 2016对应的localdb,而32位系统只能用2014版。因为之后的SQL Server本身不存在32位版本了。不过如果用以下两种方式安装应该会被自动解决。以下安装方式二选一:
独立安装包:通过SQL Server的Web安装程序下载。进入官网:SQL Server 下载 | Microsoft下载Express版本的安装程序。运行后选择“下载介质”,选择LocalDB,下好了以后安装就是。
第二种方法,通过VS Installer安装:如果选了.NET负载,直接在里面勾上就行;如果没有,选到单个组件,勾上localdb,会自动勾上下一项那个依赖。
Interface
这一部分其实和localdb没有关系,也和SQL Server实例没有关系。介绍的所有软件也可以用于连接普通的SQL Server及连到别的服务器上。不过因为是面向入门,还是说一说。
以下软件安装一个或多个:
- SSMS:最传统的管理工具,功能最多但只支持Windows;直接下预览版就行,大小是稳定版的一半。下载 SQL Server Management Studio (SSMS)
- VS Code+MSSQL扩展:跨平台,功能较为简陋。不过对于本来就用VSC的人来说会很熟悉
- Azure Data Studio:在VSC基础界面上开发的,相比而言对数据库的操作特别优化,跨平台,但目前只有英文。下载并安装 Azure Data Studio
- VS+SSDT:VS Installer工作负载点上“数据储存和处理”,只留“SQL Server Data Tools”
- sqlcmd:传统的命令行连接工具,敢用CLI的应该不用我教吧
- mssql-cli:基于python的“智能”命令行工具,在GitHub上开源,但有一段时间没有commit了,不知道会不会砍掉。dbcli/mssql-cli
- 其它第三方软件,我知道的有一个dbforge
如果你不确定选哪个,就选SSMS。
操作localdb实例只能使用SqlLocalDB.exe,16版在C:\Program Files\Microsoft SQL Server\130\Tools\Binn
下。 如果你看不懂这句话在说什么,就不用管。
Connect
连接数据库一般需要提供地址、用户名、密码;而SQL Server提供“Windows集成验证”的登陆方式,可以不用输用户名和密码,第一次登陆需要选这个。
重点是地址,需要填:(localdb)\MSSQLLocalDB
。
这样大部分软件就可以连接成功了,但我还要说其中两个软件使用的关键点:
- 对于VSC,新建一个文件,语言改成SQL。按F1输入connect。到验证方式时选Integrated
- 对于SSDT,打开VS,最上方“视图”中点开SQL Server对象管理器;也可以观看官方视频教程(不要问我为什么打不开):How to use SQL Server Data Tools in Visual Studio 2017
Collation
前文第二点缺点已经提到了,导致的最直接的结果就是直接新建数据库会存不了中文。
解决办法是对于每一个数据库手动指定排序规则:
create/alter database DBName
COLLATE Chinese_PRC_CI_AS
SQL Tutorial
不存在的。
出处:https://zhuanlan.zhihu.com/p/53088056
=======================================================================================
LocalDB介绍
LocalDb是SqlServer Express版本的轻量级版本,用于植入到visual studio应用程序中去。
调试程序没有安装 sql server时,可以使用localdb.这是一个简易的sql server数据库,用于本地测试是很方便,省去安装SQL SERVER的工作。
LocalDB数据库实例查找
安装好LocalDB后,默认有个实例名注意vs2015前默认实例名“v11.0”,之后为“mssqllocaldb”
查看LocalDB实例存放的位置%Localappdata%\Microsoft\Microsoft SQL Server Local DB\Instances
,其下的每个文件加都是一个LocalDB实例,
如mssqllocaldb文件夹下主要包含:系统数据文档(master、model、msdb、tempdb)、错误记录、记录追踪、加密密钥等
注意这里不包含用户数据库
用户数据可以放在任意位置,如果在创建时为指定路径默认创建在%userprofile%
目录下
连接LocalDB
LocalDB连接的服务器名称为(localdb)\实例名称
,可以使用sql server的“windows 身份验证”连接服务。
在.net网站下设置web.config的connectionstring可为:
Data Source=(LocalDb)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\EShop.mdf;Integrated Security=SSPI;"
注意最好指明AttachDbFilename,如果指明Initial Catalog(数据库名称)则创建的数据库在%userprofile%
目录下增加麻烦
管理LocalDB
通过SqlLocalDB.exe管理LocalDB;可以在cmd下通过where sqllocaldb.exe
搜索路径
命令 | 作用 |
---|---|
sqllocaldb.exe start 实例名 | 启动数据库实例 |
sqllocaldb.exe info 实例名 | 查询数据库实例信息 |
sqllocaldb.exe stop 实例名 | 关闭数据库实例 |
sqllocaldb.exe create 实例名 | 创建数据库实例 |
sqllocaldb.exe info | 列出所有数据库实例 |
sqllocaldb.exe delete 实例名 | 删除数据库实例 |
出处:https://www.cnblogs.com/LoveTomato/p/9838210.html
=======================================================================================
LocalDB的介绍
关于LocalDB的介绍
类似于sqlite (但是sqlite是不支持存储过程的,而LocalDB则支持存储过程)
导读:LocalDB是SQL Server 2012带来的新特性,它是一个专门为开发人员量身定制的轻量级数据库。本文将为您讲解LocalDB的开发背景,展示其核心特性,并看看它与微软的其它轻量级数据库到底有何不同。
什么是LocalDB
随着SQL Server 2012的发布,LocalDB跃入我们的视线,它可以被看做是SQL Server Express的轻量级版本。
LocalDB专门为开发人员创建,它非常易于安装,几乎无需管理,兼容T-SQL语言,编程接口与SQL Server Express别无二致。
有了LocalDB,开发人员就不需要在自己的笔记本上安装和维护一个庞大的SQL Server实例了。另外,LocalDB也适用于小型应用环境,开发人员可以将其用于小型生产环境或者嵌入式环境。
为开发人员量身定制
我们在关注LocalDB的技术细节之前,首先来了解一下构建LocalDB的背景。
一直以来,SQL Server Express满足了我们两方面的需求。它既是免费版的SQL Server,又具有足够强大的功能,与其它版本相兼容。当然,它的能力也存在一些限制,即它的每个数据库的存储容量不能超过10G。
SQL Server作为一个成熟的数据库产品,其Express版本依然具有相当的复杂度。但作为开发人员,我们更希望降低管理复杂度,专注于开发。
LocalDB的开发目标由此形成,它是轻量级的SQL Server Express,为开发人员量身定制。
核心技术特性
说了这么多,现在让我们来看看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属性,允许开发者指定数据库文件位置。例如:
- Data Source = (localdb)\v11.0;
- Integrated Security = true;
- AttachDbFileName = C:\MyData\Database1.mdf
轻量级数据库对比(LocalDB vs. SQL Express vs. Compact)
LocalDB并不能完全替代SQL Server Express,它只是对开发人员提供了另外一种选择,并保证与SQL Server Express一致的兼容性。
LocalDB与SQL Server Compact之间有很大区别:
运行模式:SQL Server Compact是一个进程内(in-proc)DLL,LocalDB则作为独立进程运行。
磁盘占用:SQL Server Compact的体积仅有4MB,LocalDB安装之后则有140MB。
功能特性:SQL Server Compact仅提供RDBMS的核心功能,而LocalDB则提供更丰富的功能,比如存储过程、几何和地理数据类型。
最后的思考
LocalDB作为一个功能丰富的轻量级数据库,绝对值得我们去尝试。接下来,我们也许会思考,LocalDB是否提供了良好的管理接口?答案是肯定的。
LocalDB提供了一个命令行管理工具SqlLocalDB.exe。下次,就让我们一起来探讨如何使用命令行实用工具SqlLocalDB.exe和SQL Server Management Studio(SSMS)管理LocalDB。(张志平/编译)
原文链接:Introducing LocalDB, an improved SQL Express
下载链接:SQL Server 2012 Express & LocalDB
LocalDB并不是要取代SQL快捷版,而是要让开发者能够花费最少的精力来开发应用程序。微软会继续为用户提供免费的SQL Server快捷版,他们可以在上面运行小型的评估项目,数据库大小的限制为10GB。
Sql Server Management Studio(SSMS) 连接 LocalDB的方法
如果实例没启动,在CMD中输入
sqllocaldb s #启动实例
默认使用 Windows身份认证 登录
出处:https://blog.csdn.net/carcarrot/article/details/107020427
=======================================================================================