Debian12 中重新安装MSSQL 并指定服务器、数据库、数据表字段的字符排序规则和默认语言等参数

在 Linux 上配置 SQL Server 设置 - SQL Server | Microsoft Learn

零、查看sql server 服务器支持的字符排序规则

复制代码
SELECT Name from sys.fn_helpcollations()
where name Like 'Chinese%'
go

------
Chinese_PRC_CI_AI
Chinese_PRC_CI_AI_WS
Chinese_PRC_CI_AI_KS
Chinese_PRC_CI_AI_KS_WS
Chinese_PRC_CI_AS
Chinese_PRC_CI_AS_WS
Chinese_PRC_CI_AS_KS
Chinese_PRC_CI_AS_KS_WS

一、彻底干净的卸载MSSQL

复制代码
## 首先建议以sa账号登录进sql server 服务器 删除安装后新建的数据库,然后关闭 服务
systemctl stop mssql-server
apt purge mssql-server
apt autoremove
rm -rf /opt
rm -rf /var/opt

二、 在Debian12 中重新安装mssql-server、设置 环境变量

2.1. Linux 系统中声明环境变量

复制代码
## 增加当前的环境变量
export ACCEPT_EULA=Y
export MSSQL_COLLATION=Chinese_PRC_CI_AS
export MSSQL_LCID=2052

## 查看一下是否配置好
export

## 开始安装
apt install mssql-server -y

2.2. 在安装后配置时再设定

复制代码
ACCEPT_EULA='Y' MSSQL_LCID='2052' MSSQL_COLLATION='Chinese_PRC_CI_AS' MSSQL_PID='Express' MSSQL_SA_PASSWORD='Super007!'  /opt/mssql/bin/mssql-conf setup

2.3.查看sql server 当前的排序规则

复制代码
SELECT CONVERT (varchar(256), SERVERPROPERTY('collation'));

2.4 更改 SQL Server 排序规则

复制代码
/opt/mssql/bin/mssql-conf set-collation

三、查看、更改 SQL Server 区域设置

复制代码
## 查看当前的区域设置
select @@language
go

##重新设置
/opt/mssql/bin/mssql-conf set language.lcid 2052

## 语言标识符 (LCID)  中国为 2052

四、 查看当前的配置

复制代码
cat /var/opt/mssql/mssql.conf

五、新建数据库和数据表的过程中指定字符排序规则

5.1 创建一个数据库并设定排序规则

复制代码
CREATE DATABASE 个人信息库
GO
ALTER DATABASE 个人信息库 COLLATE Chinese_PRC_CI_AS
GO

5.2 查看新建数据库的排序规则

复制代码
SELECT name,collation_name FROM sys.databases WHERE name = N'个人信息库'; 
GO
# 或者
SELECT CONVERT (varchar(256), DATABASEPROPERTYEX('个人信息库','collation')); 
GO

5.3 为新数据库创建数据表,设定其中一个字段列的字符排序规则

复制代码
USE 个人信息库;
GO

## 新建数据表
CREATE TABLE 基本信息表
(
    编号 INT PRIMARY KEY,
    姓名 VARCHAR(255) COLLATE Chinese_PRC_CI_AS, 
    年龄 INT 
);

## 添加数据
INSERT INTO 基本信息表 (编号, 姓名, 年龄)
VALUES (1, '张三', 25)
GO
INSERT INTO 基本信息表 (编号, 姓名, 年龄)
VALUES (2, '李四', 30)
GO
INSERT INTO 基本信息表 (编号, 姓名, 年龄)
VALUES (3, '王五', 19)
GO
INSERT INTO 基本信息表 (编号, 姓名, 年龄)
VALUES (4, '马六', 42)
GO

5.4 查看数据表中列的字符排序规则

复制代码
## 查看一个数据表的字段的排序规则
USE 个人信息库
GO

# 先查看该数据有哪些表
SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE = 'BASE TABLE';
GO

## 再查看数据表中的字段-列 的名称
SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = '基本信息表';
GO
## 最后查看字段-列的排序规则
SELECT name, collation_name FROM sys.columns WHERE name = N'姓名';
GO

## 或者查看所有字符型字段的排序规则--column_name 还是 SQL_Latin1_General_CP1_CI_AS
SELECT name, collation_name FROM sys.columns where collation_name is NOT NULL
GO

5.6 更改数据表中某字段的排序规则

复制代码
##  数据库 个人信息库 中 基本信息表 内的 姓名 列的排序规则的修改
 
-- 将数据库设置为单用户模式
ALTER DATABASE Custom_IPs SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
 
-- 更改表中指定列的排序规则
USE 个人信息库;
GO
 
ALTER TABLE 基本信息表 ALTER COLUMN 姓名 VARCHAR(255) COLLATE Chinese_PRC_CS_AI;
 
-- 将数据库设置回多用户模式
ALTER DATABASE Custom_IPs SET MULTI_USER;
相关推荐
君不见,青丝成雪几秒前
Hadoop技术栈(四)HIVE常用函数汇总
大数据·数据库·数据仓库·hive·sql
不羁。。5 小时前
【撸靶笔记】第七关:GET - Dump into outfile - String
数据库·笔记·oracle
yangchanghua1117 小时前
pgsql 如何查询今天范围内的数据(当天0点0分0秒 - 当天23点59分59秒....)
数据库·pgsql
larance7 小时前
SQLAlchemy 的异步操作来批量保存对象列表
数据库·python
python_chai7 小时前
从数据汇总到高级分析,SQL 查询进阶实战(下篇)—— 分组、子查询与窗口函数全攻略
数据库·sql·mysql
在努力的前端小白7 小时前
Spring Boot 敏感词过滤组件实现:基于DFA算法的高效敏感词检测与替换
java·数据库·spring boot·文本处理·敏感词过滤·dfa算法·组件开发
未来之窗软件服务7 小时前
自建知识库,向量数据库 (九)之 量化前奏分词服务——仙盟创梦IDE
数据库·仙盟创梦ide·东方仙盟·自建ai·ai分词
冒泡的肥皂10 小时前
MVCC初学demo(一
数据库·后端·mysql
.Shu.11 小时前
Redis Reactor 模型详解【基本架构、事件循环机制、结合源码详细追踪读写请求从客户端连接到命令执行的完整流程】
数据库·redis·架构
薛晓刚14 小时前
当MySQL的int不够用了
数据库