En esta guía vamos a instalar Microsoft Server 2019 en Rocky Linux/Alma Linux 8 o cualquier servidor basado en RHEL. Luego nos conectamos con sqlcmd para crear su primera base de datos y ejecutar consultas.
Compruebe también:
- Cómo instalar MsSQL Server 2019 en Ubuntu 20.04
- Cómo instalar MS SQL Server 2019 en Ubuntu 20.04
- Instalar y configurar php para conectarse a MsSQL Server Centos 8
- Cómo ejecutar MsSQL Server 2019 con Docker y Docker-Compose
Tabla de Contenido
- Actualizando el servidor
- Instalando MS SQL Server 2019
- Instalar las herramientas de línea de comandos de SQL Server
- Conexión local
Actualización del servidor
Asegúrese de que su servidor esté actualizado:
sudo dnf -y update
Instalación de MS SQL Server 2019
Descargue el archivo de configuración del repositorio de Microsoft SQL Server 2019 Red Hat:
sudo curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/8/mssql-server-2019.repo
Luego use este comando para instalar el servidor
sudo dnf install -y mssql-server
Ejecute la configuración de mssql-conf y siga las indicaciones para establecer la contraseña de SA y elija su edición.
sudo /opt/mssql/bin/mssql-conf setup
Salida:
$ sudo /opt/mssql/bin/mssql-conf setup
usermod: no changes
Choose an edition of SQL Server:
1) Evaluation (free, no production use rights, 180-day limit)
2) Developer (free, no production use rights)
3) Express (free)
4) Web (PAID)
5) Standard (PAID)
6) Enterprise (PAID) - CPU Core utilization restricted to 20 physical/40 hyperthreaded
7) Enterprise Core (PAID) - CPU Core utilization up to Operating System Maximum
8) I bought a license through a retail sales channel and have a product key to enter.
Details about editions can be found at
https://go.microsoft.com/fwlink/?LinkId=2109348&clcid=0x409
Use of PAID editions of this software requires separate licensing through a
Microsoft Volume Licensing program.
By choosing a PAID edition, you are verifying that you have the appropriate
number of licenses in place to install and run this software.
Enter your edition(1-8): 3
The license terms for this product can be found in
/usr/share/doc/mssql-server or downloaded from:
https://go.microsoft.com/fwlink/?LinkId=2104294&clcid=0x409
The privacy statement can be viewed at:
https://go.microsoft.com/fwlink/?LinkId=853010&clcid=0x409
Do you accept the license terms? [Yes/No]:Yes
Enter the SQL Server system administrator password:
Confirm the SQL Server system administrator password:
Configuring SQL Server...
The licensing PID was successfully processed. The new edition is [Express Edition].
ForceFlush is enabled for this instance.
ForceFlush feature is enabled for log durability.
Created symlink /etc/systemd/system/multi-user.target.wants/mssql-server.service → /usr/lib/systemd/system/mssql-server.service.
Setup has completed successfully. SQL Server is now starting.
Una vez realizada la configuración, verifique que el servicio se esté ejecutando:
sudo systemctl status mssql-server
Salida:
$ sudo systemctl status mssql-server
● mssql-server.service - Microsoft SQL Server Database Engine
Loaded: loaded (/usr/lib/systemd/system/mssql-server.service; enabled; vendor preset: disabled)
Active: active (running) since Thu 2021-08-05 10:31:20 UTC; 31s ago
Docs: https://docs.microsoft.com/en-us/sql/linux
Main PID: 70366 (sqlservr)
Tasks: 131
Memory: 677.2M
CGroup: /system.slice/mssql-server.service
├─70366 /opt/mssql/bin/sqlservr
└─70393 /opt/mssql/bin/sqlservr
Aug 05 10:31:26 prod-db sqlservr[70366]: [318B blob data]
Aug 05 10:31:26 prod-db sqlservr[70366]: [78B blob data]
Aug 05 10:31:26 prod-db sqlservr[70366]: [84B blob data]
Aug 05 10:31:26 prod-db sqlservr[70366]: [145B blob data]
Aug 05 10:31:26 prod-db sqlservr[70366]: [96B blob data]
Aug 05 10:31:26 prod-db sqlservr[70366]: [66B blob data]
Aug 05 10:31:26 prod-db sqlservr[70366]: [96B blob data]
Aug 05 10:31:26 prod-db sqlservr[70366]: [100B blob data]
Aug 05 10:31:26 prod-db sqlservr[70366]: [71B blob data]
Aug 05 10:31:26 prod-db sqlservr[70366]: [124B blob data]
Para permitir conexiones remotas, abra el puerto de SQL Server en el firewall en RHEL. El puerto predeterminado de SQL Server es TCP 1433. Si usa FirewallD para su firewall, puede usar los siguientes comandos:
sudo firewall-cmd --zone=public --add-port=1433/tcp --permanent
sudo firewall-cmd --reload
Instalar las herramientas de línea de comandos de SQL Server
Descargue el archivo de configuración del repositorio de Microsoft Red Hat.
sudo curl -o /etc/yum.repos.d/msprod.repo https://packages.microsoft.com/config/rhel/8/prod.repo
Ejecute los siguientes comandos para instalar mssql-tools con el paquete de desarrollador unixODBC.
sudo yum install -y mssql-tools unixODBC-devel
Para mayor comodidad, agregue /opt/mssql-tools/bin/ a su variable de entorno PATH.
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc
source ~/.bashrc
Conexión local
Ejecute sqlcmd con parámetros para su nombre de SQL Server (-S), el nombre de usuario (-U) y la contraseña (-P)
sqlcmd -S <ip_address>,1433 -U SA -P "<[email protected]>"
sqlcmd -S localhost -U SA -P '<YourPassword>'
Si tiene éxito, debe acceder a un símbolo del sistema de sqlcmd:1>.
Crear una nueva base de datos
CREATE DATABASE TestDB
En la siguiente línea, escriba una consulta para devolver el nombre de todas las bases de datos en su servidor:
SELECT Name from sys.Databases
Los dos comandos anteriores no se ejecutaron inmediatamente. Debe escribir GO en una nueva línea para ejecutar los comandos anteriores:
GO
Insertar datos
USE TestDB
Crear una nueva tabla llamada Inventario:
CREATE TABLE Inventory (id INT, name NVARCHAR(50), quantity INT)
Insertar datos en la nueva tabla:
INSERT INTO Inventory VALUES (1, 'banana', 150); INSERT INTO Inventory VALUES (2, 'orange', 154);
Escriba GO para ejecutar los comandos anteriores:
GO
Seleccionar datos
SELECT * FROM Inventory WHERE quantity > 152;
GO
Para finalizar su sesión de sqlcmd, escriba SALIR:
QUIT
Conclusión
En esta guía, logramos instalar Ms SQL Server 2019 en Rocky Linux/Centos 8