在 Red Hat 上安装 SQL Server 2022 并创建数据库

embedded/2024/9/20 2:58:13/ 标签: 数据库, 开发语言, sqlserver, linux, 运维

适用于: SQL Server - Linux

本快速入门介绍如何在 Red Hat Enterprise Linux (RHEL) 8.x 或 9.x 上安装 SQL Server 2022 (16.x)。然后可以使用 sqlcmd 进行连接,创建第一个数据库并运行查询。
注意:本教程需要用户输入和 Internet 连接。

必备条件
必须拥有 RHEL 8.x 计算机(内存至少为 2 GB)。
如果以前安装了 SQL Server 的社区技术预览版 (CTP) 或候选发布 (RC) 版本,则必须先删除旧存储库,然后再执行这些步骤。

安装 SQL Server

Red Hat 8环境下安装
以下用于安装 SQL Server 的命令指向 RHEL 8 存储库。
若要在 RHEL 上配置 SQL Server,请在终端中运行以下命令以安装 mssql-server 包:
1、下载 SQL Server 2022 (16.x) Red Hat 8 存储库配置文件:

sudo curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/8/mssql-server-2022.repo

如果要安装不同版本的 SQL Server,配置文件不同。
2、运行以下命令以安装 SQL Server:

sudo yum install -y mssql-server

3、包安装完成后,使用其完整路径运行 mssql-conf setup,按照提示设置 SA 密码并选择版本。作为提醒,以下 SQL Server 版本是免费提供许可的:Evaluation、Developer 和 Express 版。

sudo /opt/mssql/bin/mssql-conf setup

请记住为 SA 帐户指定强密码。需要最小长度为 8 个字符,包括大写和小写字母、十进制数字和/或非字母数字符号。
4、完成配置后,验证服务是否正在运行:

systemctl status mssql-server
5、若要允许远程连接,请在 RHEL 防火墙上打开 SQL Server 端口。默认的 SQL Server 端口为 TCP 1433。如果为防火墙使用的是 FirewallD,则可以使用以下命令:

sudo firewall-cmd --zone=public --add-port=1433/tcp --permanentsudo firewall-cmd --reload

此时,SQL Server 正在 RHEL 计算机上运行,随时可以使用!
Red Hat 9环境下安装
从 RHEL 9 开始,你可以将 SQL Server 作为启用 SELinux 的受限应用程序运行。
要将 SQL Server 作为受限应用程序运行,请执行以下步骤:
• 确保 SELinux 处于启用状态和强制模式下。
• 使用本部分后面提到的步骤安装 mssql-server 包。
• 安装新的 mssql-server-selinux 包。

sudo yum install -y mssql-server-selinux

要在 RHEL 9 上配置 SQL Server,请在终端中运行以下命令以安装 mssql-server 包:
1、下载 SQL Server 2022 (16.x) Red Hat 9 存储库配置文件:

sudo curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/9/mssql-server-2022.repo

2、运行以下命令以安装 SQL Server:

sudo yum install -y mssql-server

(可选)如果要将 SQL Server 作为受限应用程序运行,则请安装启用了自定义策略的 mssql-server-selinux 包。

sudo yum install -y mssql-server-selinux

3、包安装完成后,使用其完整路径运行 mssql-conf setup,按照提示设置 SA 密码并选择版本。作为提醒,以下 SQL Server 版本是免费提供许可的:Evaluation、Developer 和 Express 版。

sudo /opt/mssql/bin/mssql-conf setup

请记住为 SA 帐户指定强密码。需要最小长度为 8 个字符,包括大写和小写字母、十进制数字和/或非字母数字符号。
4、完成配置后,验证服务是否正在运行:

systemctl status mssql-server

5、若要允许远程连接,请在 RHEL 防火墙上打开 SQL Server 端口。默认的 SQL Server 端口为 TCP 1433。如果为防火墙使用的是 FirewallD,则可以使用以下命令:

sudo firewall-cmd --zone=public --add-port=1433/tcp --permanentsudo firewall-cmd --reload

此时,SQL Server 正在 RHEL 计算机上运行,随时可以使用!

将 sa 帐户禁用

1、创建新的登录帐户,并将其设为 sysadmin 服务器角色的成员。
• 根据你使用的是容器还是非容器部署,启用 Windows 身份验证,并创建一个新的基于 Windows 的登录帐户,并将其添加到 sysadmin 服务器角色中。
• 否则,请使用 SQL Server 身份验证创建登录帐户,并将其添加到 sysadmin 服务器角色。
2、使用创建的新登录帐户连接 SQL Server 实例。
3、按照安全最佳做法的建议,禁用 sa 帐户。

安装 SQL Server 命令行工具

若要创建数据库,则需要使用可在 SQL Server 上运行 Transact-SQL 语句的工具进行连接。按照以下步骤安装 SQL Server 命令行工具:sqlcmd 实用工具 和 bcp 实用工具。
通过以下步骤在 Red Hat Enterprise Linux 上安装 mssql-tools18。
1、下载 Microsoft Red Hat 存储库配置文件。
对于 Red Hat 9,请使用以下命令:

curl https://packages.microsoft.com/config/rhel/9/prod.repo | sudo tee /etc/yum.repos.d/mssql-release.repo

对于 Red Hat 8,请使用以下命令:

curl https://packages.microsoft.com/config/rhel/8/prod.repo | sudo tee /etc/yum.repos.d/mssql-release.repo

对于 Red Hat 7,请使用以下命令:

curl https://packages.microsoft.com/config/rhel/7/prod.repo | sudo tee /etc/yum.repos.d/mssql-release.repo

2、如果安装了早期版本的 mssql-tools,请删除所有旧的 unixODBC 包。

sudo yum remove mssql-tools unixODBC-utf16 unixODBC-utf16-devel

3、运行以下命令,以使用 unixODBC 开发人员包安装 mssql-tools18。

sudo yum install -y mssql-tools18 unixODBC-devel

若要将 mssql-tools 更新至最新版本,请运行以下命令:

sudo yum check-updatesudo yum update mssql-tools18

4、可选:向 bash shell 中的 PATH 环境变量添加 /opt/mssql-tools18/bin/。
若要使 sqlcmd 和 bcp 能从登录会话的 bash shell 进行访问,请使用下列命令修改 ~/.bash_profile 文件中的 PATH:

echo 'export PATH="$PATH:/opt/mssql-tools18/bin"' >> ~/.bash_profilesource ~/.bash_profile

若要使 sqlcmd 和 bcp 能从交互式/非登录会话的 bash shell 进行访问,请使用下列命令修改 ~/.bashrc 文件中的 PATH:

echo 'export PATH="$PATH:/opt/mssql-tools18/bin"' >> ~/.bashrcsource ~/.bashrc

本地连接
以下步骤使用 sqlcmd 本地连接到新的 SQL Server 实例。
1、使用 SQL Server 名称 (-S)、用户名 (-U) 和密码 (-P) 的相应参数运行 sqlcmd。在本教程中,用户进行本地连接,因此服务器名称为 localhost。
用户名为 sa,密码是在安装过程中为 SA 帐户提供的密码。

sqlcmd -S localhost -U sa -P '<YourPassword>'

可以在命令行上省略密码,以收到密码输入提示。
如果以后决定进行远程连接,请为 -S 参数指定计算机名称或 IP 地址,并确保防火墙上的端口 1433 已打开。
2、如果成功,应会显示 sqlcmd 命令提示符:1>。
3、如果连接失败,先尝试诊断错误消息中所述的问题。

创建和查询数据

下面各部分将逐步介绍如何使用 sqlcmd 新建数据库、添加数据并运行简单查询。

新建数据库

以下步骤创建一个名为 TestDB 的新数据库
1、在 sqlcmd 命令提示符中,粘贴以下 Transact-SQL 命令以创建测试数据库

CREATE DATABASE TestDB;

2、在下一行中,编写一个查询以返回服务器上所有数据库的名称:

SELECT Name from sys.databases;

3、前两个命令没有立即执行。必须在新行中键入 GO 才能执行以前的命令:

GO

插入数据

接下来创建一个新表 dbo.Inventory,然后插入两个新行。
1、在 sqlcmd 命令提示符中,将上下文切换到新的 TestDB 数据库

USE TestDB;

2、创建名为 dbo.Inventory 的新表:

CREATE TABLE dbo.Inventory (id INT,name NVARCHAR(50),quantity INT,PRIMARY KEY (id)
);

3、将数据插入新表:

INSERT INTO dbo.Inventory VALUES (1, 'banana', 150);
INSERT INTO dbo.Inventory VALUES (2, 'orange', 154);

4、要执行上述命令的类型 GO:

GO

退出 sqlcmd 命令提示符

要结束 sqlcmd 会话,请键入 QUIT:

QUIT

跨平台数据工具
除“sqlcmd”以外,还可以使用以下跨平台工具来管理 SQL Server :

从 Windows 进行连接

Windows 上的 SQL Server 工具连接到 Linux 上的 SQL Server 实例,操作方式与连接到任何远程 SQL Server 实例一样。
如果有一台可以连接到 Linux 计算机的 Windows 计算机,请从运行 sqlcmd 的 Windows 命令提示符尝试执行本主题中的相同步骤。必须使用目标 Linux 计算机名称或 IP 地址,而不是 localhost,并确保 TCP 端口 1433 已在 SQL Server 计算机上打开。


http://www.ppmy.cn/embedded/114006.html

相关文章

高级java每日一道面试题-2024年9月16日-框架篇-Spring MVC和Struts的区别是什么?

如果有遗漏,评论区告诉我进行补充 面试官: 如何处理事务中的性能问题&#xff1f; 我回答: 在Java高级面试中&#xff0c;Spring MVC和Struts是两个常被提及的MVC框架&#xff0c;它们各自具有独特的特点和优势。以下是对这两个框架的详细比较&#xff1a; 架构设计方面 Sp…

UDS 诊断 - RequestFileTransfer(请求文件传输)(0x38)服务

UDS 诊断服务系列文章目录 诊断和通信管理功能单元 UDS 诊断 - DiagnosticSessionControl&#xff08;诊断会话控制&#xff09;&#xff08;0x10&#xff09;服务 UDS 诊断 - ECUReset&#xff08;ECU重置&#xff09;&#xff08;0x11&#xff09;服务 UDS 诊断 - SecurityA…

Linux命令---查看端口是否被占用

简介 在linux系统使用命令查找指定端口是否被占用。 命令 lsof -i:6379

【机器学习】参数学习的基本概念以及贝叶斯网络的参数学习和马尔可夫随机场的参数学习

引言 概率图模型参数学习是模型训练的关键环节&#xff0c;涉及贝叶斯网络和马尔可夫随机场的参数估计和结构确定 文章目录 引言一、参数学习任务1.1 定义1.2 常见参数学习任务类型1.2.1 监督学习中的参数学习1.2.2 无监督学习中的参数学习1.2.3 半监督学习中的参数学习1.2.4 强…

Apache subversion 编译流程

目录 1. 概述2. 依赖库简介2.1 Expat2.2 Apache apr2.3 Apache apr-iconv2.4 Apache apr-util2.5 Zlib2.6 OpenSSL2.7 Sqlite2.8 Apache Serf2.9 Apache subversion3. 编译3.1 Expat编译3.1.1 源码信息3.1.2 CMake-GUI3.1.3 编译步骤3.2 APR编译3.2.1 源码信息3.2.2 编译步骤3.…

解决使用nvm ls命令没有出现*的问题

一、引言 在输命令的时候不知道手误写了什么导致node命令用不了&#xff0c;查看环境变量配的nvm对应的路径没问题&#xff0c;试过网上说的修改文件夹名字但是没有用&#xff01;&#xff01; 输入 nvm ls 显示已下载的node版本&#xff0c;发现前面没有* 输入nvm use 使用其中…

基于Java+Mysql实现(web)大型企业管理系统

技术报告 第一章 系统概述 包括用户管理、权限管理、软件项目管理、软件模块管理、测试用例管理、测试任务分配、bug管理等功能。实现公司不同部门间团队协作&#xff0c;管理人员也能够更加有效的把控系统开发的进度。 本实验综合应用JavaWeb编程中的Servlet&#xff0c;JS…

golang 字符串浅析

go的字符串是只读的 测试源代码 package mainimport ("fmt""unsafe" )func swap(x, y string) (string, string) {return y, x }func print_string(obj *string, msg string) {string_ptr : (*[2]uintptr)(unsafe.Pointer(obj))first_obj_addr : string_…

大模型教程:使用 Milvus、vLLM 和 Llama 3.1 搭建 RAG 应用

vLLM 是一个简单易用的 LLM 推理服务库。加州大学伯克利分校于 2024 年 7 月将 vLLM 作为孵化项目正式捐赠给 LF AI & Data Foundation 基金会。欢迎 vLLM 加入 LF AI & Data 大家庭&#xff01;&#x1f389; 在主流的 AI 应用架构中&#xff0c;大语言模型&#xff…

HarmonyOS Next鸿蒙扫一扫功能实现

直接使用的是华为官方提供的api&#xff0c;封装成一个工具类方便调用。 import { common } from kit.AbilityKit; import { scanBarcode, scanCore } from kit.ScanKit;export namespace ScanUtil {export async function startScan(context: common.Context) : Promise<s…

python学习笔记目录

基于windows下docker安装HDDM-CSDN博客 在python中安装HDDM-CSDN博客&#xff08;这个办法没安装成功&#xff09;

前端工程师职业发展路线图

在前端开发领域&#xff0c;从一个新手成长为一名资深工程师需要经过一系列的学习和实践。以下是一份详细的前端工程师职业发展路线图&#xff0c;包括了从基础到高级的各个阶段。 入门阶段 1. 学习基础技术 HTML/HTML5&#xff1a;掌握网页结构和语义化标签的使用。CSS/CSS…

Luban策划开源工具

一、Luban游戏配置解决方案&#xff0c;是一个强大、易用、优雅、稳定的游戏配置解决方案。它设计目标为满足从小型到超大型游戏项目的简单到复杂的游戏配置工作流需求。luban标准化了游戏配置开发工作流&#xff0c;可以极大提升策划和程序的工作效率。 二、核心特性&#xf…

C# UDP与TCP点发【速发速断】模式

1、UDP 客户端 //由于收发都在本机&#xff0c;所以只用一个IP地址 IPAddress addr IPAddress.Parse("127.0.0.1"); var ptLocal new IPEndPoint(addr&#xff0c;9001);//本机节点&#xff0c;用于发送var ptDst new IPEndPoint(addr&#xff0c;9002);//目标节点…

maven pom文件中的变量定义

在 Maven 中&#xff0c;可以使用变量来简化 pom.xml 文件的维护和管理。这些变量通常被称为 属性 (properties)&#xff0c;可以用来存储经常使用的值&#xff0c;如版本号、依赖库的版本等。使用属性可以使 pom.xml 更易于管理和维护&#xff0c;并且可以减少出错的机会。 下…

Modbus_tcp

目录 一&#xff1a;modbus起源 1.起源 2. 分类&#xff1a; 3. 优势&#xff1a; 4. 应用场景&#xff1a; 5.ModbusTCP特点&#xff08;掌握&#xff09;&#xff1a; 二、 ModbusTCP的协议 1. 报文头 2. 寄存器 1. 线圈&#xff08;Coils&#xff09; 2. 离…

重学SpringBoot3-SpringApplicationRunListener

更多SpringBoot3内容请关注我的专栏&#xff1a;《SpringBoot3》 期待您的点赞&#x1f44d;收藏⭐评论✍ 重学SpringBoot3-SpringApplicationRunListener 1. 基本作用2. 如何实现2.1. 创建SpringApplicationRunListener2.2. 注册SpringApplicationRunListener2.3. 完整示例 3.…

财谷通抖音小店的独特魅力

在当今这个数字化飞速发展的时代&#xff0c;电子商务已成为推动经济增长的重要引擎之一&#xff0c;而短视频平台的崛起&#xff0c;更是为这一领域注入了新的活力。抖音&#xff0c;作为短视频领域的佼佼者&#xff0c;不仅是一个娱乐消遣的平台&#xff0c;更是一个潜力巨大…

Qwen 2.5:阿里巴巴集团的新一代大型语言模型

Qwen 2.5&#xff1a;阿里巴巴集团的新一代大型语言模型 摘要&#xff1a; 在人工智能领域&#xff0c;大型语言模型&#xff08;LLMs&#xff09;的发展日新月异&#xff0c;它们在自然语言处理&#xff08;NLP&#xff09;和多模态任务中扮演着越来越重要的角色。阿里巴巴集…

对抗性EM用于变分深度学习:在低剂量PET和低剂量CT中的半监督图像质量增强应用|文献速递--Transformer架构在医学影像分析中的应用

Title 题目 Adversarial EM for variational deep learning: Application to semi-supervised image quality enhancement in low-dose PET and low-dose CT 对抗性EM用于变分深度学习&#xff1a;在低剂量PET和低剂量CT中的半监督图像质量增强应用 01 文献速递介绍 医学影…