linux安装SQLServer2017 及常见问题处理

目录

1、yum方式安装的版本为sqlserver2017

1.1数据库文件放到指定目录需要授权

2、数据库程序集出错问题解决

3、数据排序规则问题解决

4、启用SQL Server代理

4.1创建作业数据库定时备份


1、yum方式安装的版本为sqlserver2017

步骤如下:

一、要求

1.centos或redhat7.0以上系统

2.内存2G以上

二、安装步骤

1.设置sqlserver安装镜像

curl https://packages.microsoft.com/config/rhel/7/mssql-server-2017.repo > /etc/yum.repos.d/mssql-server.repo

2.执行安装

yum install -y mssql-server

完毕之后运行 sudo /opt/mssql/bin/mssql-conf setup 做相关配置

linux安装SQLServer2017 及常见问题处理_第1张图片

输入2使用Developer(免费,无生产许可)版本

linux安装SQLServer2017 及常见问题处理_第2张图片

输入yes,接受许可条款

linux安装SQLServer2017 及常见问题处理_第3张图片

输入系统管理员密码: Ylkj@2020

设置sa的账号密码,要求8位包含大小写字母和数字,设置 Ylkj@2020

完毕之后即可启动完成,如果内存不够安装失败则重新命令 sudo /opt/mssql/bin/mssql-conf setup

3.下面查看我们安装的sql server版本

rpm -qa | grep mssql

4.查看安装的路径

find / -name mssql

5.设置开机启动

systemctl enable mssql-server

6.打开1433端口

firewall-cmd --zone=public --add-port=1433/tcp --permanent

firewall-cmd --reload

7.几个命令

systemctl start mssql-server

systemctl restart mssql-server

systemctl stop mssql-server

systemctl status mssql-server

具体配置路劲为/opt/mssql/bin/mssql-conf

1.1数据库文件放到指定目录需要授权

#改变一个目录的所有人属性并同时改变改目录下所有文件的属性
chown -R mssql /data/sqlserver/bak/



#设置目录的所有人(u)、群组(g)以及其他人(o)以读(r )、写(w)和执行(x)的权限
chmod ugo+rwx [目录名/文件名]
 
#删除群组(g)与其他人(o)对目录的读写执行权限 
chmod go-rwx [目录名/文件名]
 
#改变一个文件的所有人属性
chown [用户名] [目录名/文件名]
 
# 改变一个文件的所有人和群组属性 
chown [用户名]:[组名] [文件名]
 
#改变一个目录的所有人属性并同时改变改目录下所有文件的属性

2、数据库程序集出错问题解决

在数据库查询页面执行以下语句:

exec sp_configure 'show advanced options', '1';
go
reconfigure;
go
exec sp_configure 'clr enabled', '1'
go
reconfigure;    --如果执行失败,就用这个RECONFIGURE WITH OVERRIDE;
exec sp_configure 'show advanced options', '1';
go 

ALTER DATABASE AICloudSaas SET TRUSTWORTHY on;

参考地址:https://blog.csdn.net/u010109335/article/details/52668908?utm_source=blogxgwz2

3、数据排序规则问题解决

数据库存储过程执行报错:

消息 468,级别 16,状态 9,过程 sp_FXGetPageUserRights,第 23 行
Cannot resolve the collation conflict between "SQL_Latin1_General_CP1_CI_AS" and "Chinese_PRC_CI_AS" in the equal to operation.

因为Master 数据库 排序规则 为SQL_Latin1_General_CP1_CI_AS    业务数据库为Chinese_PRC_CI_AS

直接上解决方案:

#停止数据库服务
sudo systemctl stop mssql-server

#执行数据库排序规则设置
sudo /opt/mssql/bin/mssql-conf set-collation

#回车后要求输入排序规则  再按回车
Chinese_PRC_CI_AS


#完成 没有提示错误 重启数据库服务
sudo systemctl start mssql-server

终端运行截图

linux安装SQLServer2017 及常见问题处理_第4张图片

linux安装SQLServer2017 及常见问题处理_第5张图片

4、启用SQL Server代理

或参见:https://docs.microsoft.com/zh-cn/sql/linux/sql-server-linux-setup-sql-agent?view=sql-server-ver15

sudo /opt/mssql/bin/mssql-conf set sqlagent.enabled true
sudo systemctl restart mssql-server

备注:从 SQL Server 2017 CU4 开始,SQL Server 代理是附带mssql server打包并默认处于禁用状态。

4.1创建作业数据库定时备份

# 数据库备份作业 

declare @BackupName varchar(100)
declare @Disk nvarchar(100)
declare @FullName nvarchar(200)
 
set @Disk = '/data/sqlserver/bak'
set @BackupName ='AICloudSaas'+CONVERT (nvarchar(12),GETDATE(),112)+'.bak'
set @FullName= @Disk +  @BackupName 
backup database AICloudSaas to disk=@FullName

你可能感兴趣的:(mssql,linux)