在 Linux 上配置 SQL Server 设置 - SQL Server | Microsoft Learn
- 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
- ## 首先建议以sa账号登录进sql server 服务器 删除安装后新建的数据库,然后关闭 服务
- systemctl stop mssql-server
- apt purge mssql-server
- apt autoremove
- rm -rf /opt
- rm -rf /var/opt
- ## 增加当前的环境变量
- export ACCEPT_EULA=Y
- export MSSQL_COLLATION=Chinese_PRC_CI_AS
- export MSSQL_LCID=2052
-
- ## 查看一下是否配置好
- export
-
- ## 开始安装
- apt install mssql-server -y
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
SELECT CONVERT (varchar(256), SERVERPROPERTY('collation'));

/opt/mssql/bin/mssql-conf set-collation
- ## 查看当前的区域设置
- 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;