热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

开发笔记:配置SQLServeronLinux

篇首语:本文由编程笔记#小编为大家整理,主要介绍了配置SQLServeronLinux相关的知识,希望对你有一定的参考价值。

篇首语:本文由编程笔记#小编为大家整理,主要介绍了配置SQL Server on Linux相关的知识,希望对你有一定的参考价值。




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 设置默认数据或日志目录位置

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


[root@134test ~]# mkdir -p /data/mssql_data/
[root@134test ~]# chown -R mssql:mssql /data/mssql_data/

 

使用mssql-conf工具


[root@134test ~]# /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

 


[root@134test ~]# cd /data/mssql_data/
[root@134test /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>

 

重启实例生效


[root@134test ~]# systemctl restart mssql-server

 

测试


[root@134test ~# /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\'.
[root@134test ~
]# systemctl restart mssql-server

 


[root@134test ~]# 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..

 


[root@134test ~]# 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
……

 

重启实例生效


[root@134test ~]# 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

 

 

 

 



推荐阅读
  • 本文介绍了一款用于自动化部署 Linux 服务的 Bash 脚本。该脚本不仅涵盖了基本的文件复制和目录创建,还处理了系统服务的配置和启动,确保在多种 Linux 发行版上都能顺利运行。 ... [详细]
  • 本文详细介绍如何使用Python进行配置文件的读写操作,涵盖常见的配置文件格式(如INI、JSON、TOML和YAML),并提供具体的代码示例。 ... [详细]
  • CentOS7源码编译安装MySQL5.6
    2019独角兽企业重金招聘Python工程师标准一、先在cmake官网下个最新的cmake源码包cmake官网:https:www.cmake.org如此时最新 ... [详细]
  • PHP 编程疑难解析与知识点汇总
    本文详细解答了 PHP 编程中的常见问题,并提供了丰富的代码示例和解决方案,帮助开发者更好地理解和应用 PHP 知识。 ... [详细]
  • Windows服务与数据库交互问题解析
    本文探讨了在Windows 10(64位)环境下开发的Windows服务,旨在定期向本地MS SQL Server (v.11)插入记录。尽管服务已成功安装并运行,但记录并未正确插入。我们将详细分析可能的原因及解决方案。 ... [详细]
  • PyCharm下载与安装指南
    本文详细介绍如何从官方渠道下载并安装PyCharm集成开发环境(IDE),涵盖Windows、macOS和Linux系统,同时提供详细的安装步骤及配置建议。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
  • 深入理解 SQL 视图、存储过程与事务
    本文详细介绍了SQL中的视图、存储过程和事务的概念及应用。视图为用户提供了一种灵活的数据查询方式,存储过程则封装了复杂的SQL逻辑,而事务确保了数据库操作的完整性和一致性。 ... [详细]
  • 本文详细介绍了 Dockerfile 的编写方法及其在网络配置中的应用,涵盖基础指令、镜像构建与发布流程,并深入探讨了 Docker 的默认网络、容器互联及自定义网络的实现。 ... [详细]
  • 如何配置Unturned服务器及其消息设置
    本文详细介绍了Unturned服务器的配置方法和消息设置技巧,帮助用户了解并优化服务器管理。同时,提供了关于云服务资源操作记录、远程登录设置以及文件传输的相关补充信息。 ... [详细]
  • 在Ubuntu 16.04 LTS上配置Qt Creator开发环境
    本文详细介绍了如何在Ubuntu 16.04 LTS系统中安装和配置Qt Creator,涵盖了从下载到安装的全过程,并提供了常见问题的解决方案。 ... [详细]
  • 在当前众多持久层框架中,MyBatis(前身为iBatis)凭借其轻量级、易用性和对SQL的直接支持,成为许多开发者的首选。本文将详细探讨MyBatis的核心概念、设计理念及其优势。 ... [详细]
  • MongoDB集群配置:副本集与分片详解
    本文详细介绍了如何在MongoDB中配置副本集(Replica Sets)和分片(Sharding),并提供了具体的步骤和命令,帮助读者理解并实现高可用性和水平扩展的MongoDB集群。 ... [详细]
  • 本文详细分析了Hive在启动过程中遇到的权限拒绝错误,并提供了多种解决方案,包括调整文件权限、用户组设置以及环境变量配置等。 ... [详细]
author-avatar
詹姵慧3482
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有