配置SQL Server on Linux(2)

1. 前言

前一篇配置SQL Server on Linux(1),地址:http://www.cnblogs.com/fishparadise/p/8125203.html ,是关于更改数据库排序规则的。实现的原理跟在Windows平台差不多,都是需要备份用户数据库,重建系统数据库来实现的,不过操作过程简化了。下面的配置是一些常规的设置,比如最大内存,默认数据文件位置,等。

2. 环境

Linux: CentOS 7.4,SQL Server 2017 (RC2) - 14.0.900.75 (X64)

3. 更改设置

3.1 内存限制

使用mssql-conf工具

/opt/mssql/bin/mssql-conf set memory.memorylimitmb 3500

重启数据库实例

systemctl restart mssql-server

疑问

以上方法是官方的步骤,但使用SSMS去查看实例的内存设置,发现最大内存限制还是没有改变。不知道为什么。使用sys.sp_configure去配置最大内存则生效了。

EXEC sys.sp_configure N‘show advanced options‘, N‘1‘  RECONFIGURE WITH OVERRIDE
GO
EXEC sys.sp_configure N‘max server memory (MB)‘, N‘3500‘
GO
RECONFIGURE WITH OVERRIDE
GO
EXEC sys.sp_configure N‘show advanced options‘, N‘0‘  RECONFIGURE WITH OVERRIDE
GO

3.2 设置默认数据或日志目录位置

创建自定义目录及更改目录权限

[[email protected] ~]# mkdir -p /data/mssql_data/
[[email protected] ~]# chown -R mssql:mssql /data/mssql_data/

使用mssql-conf工具

[[email protected] ~]# /opt/mssql/bin/mssql-conf set filelocation.defaultdatadir /data/mssql_data/
SQL Server needs to be restarted in order to apply this setting. Please run
‘systemctl restart mssql-server.service‘.

重启数据库实例生效

systemctl restart mssql-server

测试(数据和日志文件都在这个目录下)

4> create database db2;
5> go
[[email protected] ~]# cd /data/mssql_data/
[[email protected] /data/mssql_data]# ll db*
-rw-rw---- 1 mssql mssql  3932160 2017-12-27 12:31 db1_log.ldf
-rw-rw---- 1 mssql mssql 12582912 2017-12-27 12:31 db1.mdf
-rw-rw---- 1 mssql mssql  8388608 2017-12-27 12:37 db2_log.ldf
-rw-rw---- 1 mssql mssql  8388608 2017-12-27 12:33 db2.mdf

如果需要单独更改日志的目录(如/tmp)

/opt/mssql/bin/mssql-conf set filelocation.defaultlogdir /tmp/

3.3 更改 TCP 端口

使用mssql-conf工具

/opt/mssql/bin/mssql-conf set network.tcpport <new_tcp_port>

重启实例生效

[[email protected] ~]# systemctl restart mssql-server

测试

[[email protected] ~# /opt/mssql/bin/mssql-conf set network.tcpport 1444
SQL Server needs to be restarted in order to apply this setting. Please run
‘systemctl restart mssql-server.service‘.
[[email protected] ~]# systemctl restart mssql-server
[[email protected] ~]# sqlcmd -S localhost -U sa
Password:
Sqlcmd: Error: Microsoft ODBC Driver 13 for SQL Server : Login timeout expired.
Sqlcmd: Error: Microsoft ODBC Driver 13 for SQL Server : TCP Provider: Error code 0x2749.
Sqlcmd: Error: Microsoft ODBC Driver 13 for SQL Server : A network-related or instance-specific error has occurred while establishing a connection to SQL Server. Server is not found or not accessible. Check if instance name is correct and if SQL Server is configured to allow remote connections. For more information see SQL Server Books Online..
[[email protected] ~]# sqlcmd -S localhost,1444 -U sa
Password:
1> 

3.4 删除设置

使用mssql-conf工具的unset命令

/opt/mssql/bin/mssql-conf unset network.tcpport
/opt/mssql/bin/mssql-conf unset memory.memorylimitmb
……

重启实例生效

[[email protected] ~]# systemctl restart mssql-server

3.5 查看当前设置及配置文件

cat /var/opt/mssql/mssql.conf

以下是官方提供的一个示例配置。可根据实际需要直接修改/var/opt/mssql/mssql.conf,最后重启数据库实例生效。未在此文件中显示的所有设置均使用其默认值。

[EULA]
accepteula = Y

[coredump]
captureminiandfull = true
coredumptype = full

[filelocation]
defaultbackupdir = /var/opt/mssql/data/
defaultdatadir = /var/opt/mssql/data/
defaultdumpdir = /var/opt/mssql/data/
defaultlogdir = /var/opt/mssql/data/

[hadr]
hadrenabled = 0

[language]
lcid = 1033

[memory]
memorylimitmb = 4096

[network]
forceencryption = 0
ipaddress = 10.192.0.0
kerberoskeytabfile = /var/opt/mssql/secrets/mssql.keytab
tcpport = 1401
tlscert = /etc/ssl/certs/mssql.pem
tlsciphers = ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA
tlskey = /etc/ssl/private/mssql.key
tlsprotocols = 1.2,1.1,1.0

[sqlagent]
databasemailprofile = default
errorlogfile = /var/opt/mssql/log/sqlagentlog.log
errorlogginglevel = 7

[telemetry]
customerfeedback = true
userrequestedlocalauditdirectory = /tmp/audit

[traceflag]
traceflag0 = 1204
traceflag1 = 2345
traceflag = 3456

4. 参考

更多的配置,请参考微软的官方文档:https://docs.microsoft.com/zh-cn/sql/linux/sql-server-linux-configure-mssql-conf

原文地址:https://www.cnblogs.com/fishparadise/p/8125527.html

时间: 2024-08-05 10:16:36

配置SQL Server on Linux(2)的相关文章

Configure Always On Availability Group for SQL Server on RHEL——Red Hat Enterprise Linux上配置SQL Server Always On Availability Group

下面简单介绍一下如何在Red Hat Enterprise Linux上一步一步创建一个SQL Server AG(Always On Availability Group),以及配置过程中遇到的坑的填充方法. 之前发表过一篇类似的文章是Configure Always On Availability Group for SQL Server on Ubuntu——Ubuntu上配置SQL Server Always On Availability Group,有对Ubuntu感兴趣的请看那一篇

在Linux上使用mssql-conf工具配置SQL Server 2017

mssql-conf是在Linux上安装SQL Server 2017后的一个配置脚本.你可以使用这个实用工具设置以下参数: Agent 启用SQL Server代理 Collation 设置一个新的排序规则 Customer feedback 选择是否发送反馈给微软 Database Mail Profile 设置默认数据库邮件配置 Default data directory 修改新的数据文件的默认路径 Default log directory 修改新的日志文件的默认路径 Default

在Linux上使用环境变量配置SQL Server设置

你可以使用不同的环境变量在Linux上配置SQL Server 2017.这些变量用于两个场景: 使用mssql-conf setup命令配置初始化设置. 配置一个新的Docker容器中的SQL Server. 环境变量 环境变量 描述 ACCEPT_EULA 在设置为任何值(例如"Y")时接受 SQL Server 许可协议. MSSQL_SA_PASSWORD 配置 SA 用户密码. MSSQL_PID 设置 SQL Server 版本或产品密钥. 可能的值包括:Evaluatio

微软发布SQL Server on Linux

本文参考并翻译自:微软云计算与企业执行副总裁Scott Guthrie的博客. 过去的一年,不管是对于微软的数据业务,还是整个行业,都是令人惊喜的一年.在周四刚于纽约举行的Data Driven活动中,我们为今年晚些时候将发布的SQL Server 2016通用版本启动了一系列的宣传活动.这是我们有史以来,针对SQL Server做的最重大的版本发布,同时带来的是更多拥有超凡体验的新特性.SQL Server 2016将拥有: 开创性的安全加密技术特性,使得数据无论在存储时.运算中.或是在内存里

Microsoft SQL Server on Linux 踩坑指南

微软用 SQL Server 在 2016 年的时候搞了一个大新闻,宣传 Microsoft ?? Linux 打得一众软粉措手不及.但是这还是好事情,Linux 上也有好用的 SQL Server 啦,但是从预览版开始 SQL Server on Linux 的配置要求蜜汁高,大部分云主机用户都望而却步.另外,SQL Server on Linux 对于文件系统有限制,仅支持 Ext3 以及 XFS 文件格式系统,对于某些云服务商默认提供的云镜像限制 Ext3 文件格式系统的用户而言也是足够让

SQL Server on Linux

SQL Server 2017 除了 运行在Windows 平台的版本外,还有运行在Red Hat.SUSE.Ubuntu.Docker上的版本,甚至还有微软Azure云端的预配SQL VM. 简单安装 首次接触时,可以通过官方的REPO源来在线安装SQL Server服务和客户端工具,可参照<在Oracle Linux 7上通过官方Repo在线安装SQL Server 2017>. 高级安装 生产环境,可以预先下载SQL Server服务.客户端工具.高可用等RPM包,离线安装,可参照<

第8章 配置 SQL Server 实例

第8章  配置 SQL Server 实例 8.1  查看常规属性 8.2  配置内存属性 8.3  配置处理器属性 8.4  配置安全性属性 8.5  配置连接属性 8.6  配置数据库设置属性 8.7  配置高级属性 8.8  配置权限属性

SQL Server on Linux: How? Introduction: SQL Server Blog

SQL Server Blog Official News from Microsoft's Information Platform https://blogs.technet.microsoft.com/dataplatforminsider/2016/12/16/sql-server-on-linux-how-introduction/ This post was authored by Scott Konersmann, Partner Engineering Manager, SQL

安装和配置SQL Server 2014

安装和配置SQL Server 2014 准备: 1. SQL Server 2014是需要.NET Framework 3.5.1支持,点击"Server Manager",选择"Features",右侧选择"Add Features". 2. 选择".NET Framework 3.5.1 Features"属性,安装. 安装SQL Server 2014: 1. 下载64位SQL Server 2014英文企业版安装包: