Docker版SQLServer使用
参考指南
Docker镜像
https://hub.docker.com/_/microsoft-mssql-server?tab=description
基础操作
- 查看docker使用情况:
docker ps -q | xargs docker stats --no-stream
- 查看docker:
docker ps -a
- 重启正在运行的容器:
docker restart 容器名称
- 查看容器运行日志:
docker logs 容器名称
- 查看docker的运行状态
systemctl status docker
- 进入到Docker容器内部:
sudo docker exec -it containerID /bin/bash
示例操作
示例(进入FZ_UMC容器):
-
获取containerID:
docker ps -q | xargs docker stats --no-stream(或者:docker ps)
-
进入到Docker容器:
sudo docker exec -it bd8cb5215ebc /bin/bash
sudo docker exec -it ee1372d25cce /bin/bash
docker exec ee1372d25cce sed -i 's/TLSv1.2/TLSv1.0/g' /etc/ssl/openssl.cnf #修改TLS连接等级
cat /etc/ssl/openssl.cnf
-
使用命令行连接Docker里的SQL Server:
sudo docker exec -it b633c89cb1be /bin/bash
-
使用docker exec命令登录到容器内部执行命令:
/opt/mssql-tools/bin/sqlcmd -S localhost -U webuser -P "webuserXXX"
-
在容器内部执行命令,打开sqlcmd
打开sqlcmd之后我们就可以进行一些数据库的操作了,比如创建数据库,创建表,查询数据等。
CREATE DATABASE TEST_DB
GO
USE TEST_DB
GO
CREATE TABLE Table1 (ID INT, NAME NVARCHAR(50))
GO
Insert Into Table1 Values (0, 'agile')
- 查询以返回服务器上所有数据库的名称
SELECT Name from sys.Databases GO
select * from sysdatabases GO
- 开启docker里mssql-server的代理服务:
docker exec -it b633c89cb1be "bash"
root@b9a09ce17c02:/# /opt/mssql/bin/mssql-conf set sqlagent.enabled true
SQL Server needs to be restarted in order to apply this setting. Please run
'systemctl restart mssql-server.service'.
exit
docker stop b633c89cb1be
sql1
docker start b633c89cb1be
sql1
Docker里.NET5程序连接SQLSERVER 2008 R2 SP3时,数据库连接报以下错误的处理:
报错:
System.Data.SqlClient.SqlException (0x80131904): A connection was successfully established with the server, but then an error occurred during the pre-login handshake. (provider: SSL Provider, error: 31 - Encryption(ssl/tls) handshake failed)
-
原因:出现错误的原因为服务器默认使用的ssl为TLS1_2版本,而sqlserver需要的版本为TLSv1
-
解决:
1.进入容器:
A.进入容器:docker exec -it ee1372d25cce /bin/bash
B.查看SSL版本:openssl version
2.查看 openssl.cnf 配置文件
A.打开配置文件并检查:cat /etc/ssl/openssl.cnf
B.文件末尾确保配置如下,如果不一致,则以下面为准,修改配置文件:
[system_default_sect]
MinProtocol = TLSv1
CipherString = DEFAULT@SECLEVEL=1
C.修改完成以后重启:sshd sudo systemctl restart sshd
问题解决!
下载SSMS
下载地址https://learn.microsoft.com/zh-cn/sql/ssms/download-sql-server-management-studio-ssms?view=sql-server-ver16