SQL Server LocalDB 入门

题图: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属性,允许开发者指定数据库文件位置。例如:
  1. Data Source = (localdb)\v11.0; 
  2. Integrated Security = true; 
  3. 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

=======================================================================================

posted on 2022-04-01 22:17  jack_Meng  阅读(2612)  评论(0编辑  收藏  举报

导航