查看: 104|回复: 11

SQL Server LocalDB 入门

[复制链接]

3

主题

7

帖子

14

积分

新手上路

Rank: 1

积分
14
发表于 2022-9-20 15:58:50 | 显示全部楼层 |阅读模式
题图: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_ASSQL Tutorial

不存在的。
回复

使用道具 举报

3

主题

11

帖子

20

积分

新手上路

Rank: 1

积分
20
发表于 2022-9-20 15:59:40 | 显示全部楼层
N’你好’ 即可
回复

使用道具 举报

2

主题

4

帖子

8

积分

新手上路

Rank: 1

积分
8
发表于 2022-9-20 16:00:34 | 显示全部楼层
ASP + SQL Server LocalDB 2016,使用 nvarchar类型,并没有遇到存不了中文的问题。
回复

使用道具 举报

2

主题

8

帖子

16

积分

新手上路

Rank: 1

积分
16
发表于 2022-9-20 16:00:40 | 显示全部楼层
我不会ASP。我这里用nvarchar有问题。
[图片]
回复

使用道具 举报

3

主题

6

帖子

11

积分

新手上路

Rank: 1

积分
11
发表于 2022-9-20 16:00:48 | 显示全部楼层
这个应该是编辑器编码的原因吧?我用代码测试是没问题的。
回复

使用道具 举报

0

主题

4

帖子

0

积分

新手上路

Rank: 1

积分
0
发表于 2022-9-20 16:01:38 | 显示全部楼层
我用代码测试是有问题的
[图片]
回复

使用道具 举报

1

主题

10

帖子

16

积分

新手上路

Rank: 1

积分
16
发表于 2022-9-20 16:02:21 | 显示全部楼层
不能上传图片。反正我用 asp 写和读都没问题,SMSS里面读取和修改也不会乱码。用的默认设置,什么参数都没改。
回复

使用道具 举报

2

主题

13

帖子

21

积分

新手上路

Rank: 1

积分
21
发表于 2022-9-20 16:02:52 | 显示全部楼层
我也从2012就开始接触了,没有遇到存不了中文的问题。
回复

使用道具 举报

2

主题

9

帖子

15

积分

新手上路

Rank: 1

积分
15
发表于 2022-9-20 16:03:36 | 显示全部楼层
你字符串前加N吗
回复

使用道具 举报

1

主题

7

帖子

9

积分

新手上路

Rank: 1

积分
9
发表于 2022-9-20 16:03:54 | 显示全部楼层
不加。数据库实例属性里可以设置语言,我设置的中文
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表