En esta guía, instalaremos Microsoft Server 2019 en Ubuntu 20.04 o el último servidor. Luego nos conectamos con sqlcmd para crear su primera base de datos y ejecutar consultas.
Compruebe también:
- Cómo instalar el servidor Mssql en Rocky Linux 8/Centos 8
- 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
Requisitos
- Servidor ubuntu actualizado
Tabla de Contenido
- Asegúrese de que el servidor esté actualizado
- Instalación del servidor MsSQL 2019
- Configuración del servidor mssql
- Inicio y activación del servicio
- Instalar las herramientas de línea de comandos de SQL Server
- Conexión local
- Ejecución de consultas SQL básicas
1. Asegúrese de que el servidor esté actualizado
Antes de continuar, siempre es una buena práctica asegurarse de que el servidor en el que estamos trabajando tenga paquetes actualizados. Use este comando para asegurarse de que el servidor esté actualizado
sudo apt update
sudo apt upgrade -y
Asegúrese de que algunos paquetes necesarios estén instalados
sudo apt install -y wget curl
2. Instalación de MsSQL Server 2019 en Ubuntu
MsSQL Server no está disponible en los repositorios predeterminados de Ubuntu. Para configurar el repositorio e instalar ubuntu, siga estos pasos:
Importe las claves GPG del repositorio público:
wget -qO- https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
Registre el repositorio Ubuntu de Microsoft SQL Server para SQL Server 2019:
sudo add-apt-repository "$(wget -qO- https://packages.microsoft.com/config/ubuntu/20.04/mssql-server-2019.list)"
Ejecute los siguientes comandos para actualizar el nuevo repositorio e instalar SQL Server:
sudo apt-get update
sudo apt-get install -y mssql-server
Configuración del servidor MsSQL
Una vez finalizada la instalación del paquete, ejecute mssql-conf setup y siga las indicaciones para establecer la contraseña de SA y elija su edición.
sudo /opt/mssql/bin/mssql-conf setup
Asegúrese de especificar una contraseña segura para la cuenta de SA (longitud mínima de 8 caracteres, incluidas letras mayúsculas y minúsculas, base de 10 dígitos y/o símbolos no alfanuméricos).
Esta es la salida en mi servidor
$ sudo /opt/mssql/bin/mssql-conf setup
sudo: unable to resolve host ubuntusrv.citizix.com: No address associated with hostname
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): 2
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...
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 → /lib/systemd/system/mssql-server.service.
Setup has completed successfully. SQL Server is now starting.
Inicio y activación del servicio
Una vez realizada la configuración, verifique que el servicio se esté ejecutando:
sudo systemctl status mssql-server --no-pager
Esta es la salida en mi servidor
$ sudo systemctl status mssql-server --no-pager
sudo: unable to resolve host ubuntusrv.citizix.com: No address associated with hostname
● mssql-server.service - Microsoft SQL Server Database Engine
Loaded: loaded (/lib/systemd/system/mssql-server.service; enabled; vendor preset: enabled)
Active: active (running) since Wed 2021-11-24 09:45:21 UTC; 1min 29s ago
Docs: https://docs.microsoft.com/en-us/sql/linux
Main PID: 21584 (sqlservr)
Tasks: 136
Memory: 592.6M
CGroup: /system.slice/mssql-server.service
├─21584 /opt/mssql/bin/sqlservr
└─21615 /opt/mssql/bin/sqlservr
Nov 24 09:45:25 ubuntusrv.citizix.com sqlservr[21615]: [78B blob data]
Nov 24 09:45:25 ubuntusrv.citizix.com sqlservr[21615]: [84B blob data]
Nov 24 09:45:25 ubuntusrv.citizix.com sqlservr[21615]: [145B blob data]
Nov 24 09:45:26 ubuntusrv.citizix.com sqlservr[21615]: [96B blob data]
Nov 24 09:45:26 ubuntusrv.citizix.com sqlservr[21615]: [66B blob data]
Nov 24 09:45:26 ubuntusrv.citizix.com sqlservr[21615]: [75B blob data]
Nov 24 09:45:26 ubuntusrv.citizix.com sqlservr[21615]: [96B blob data]
Nov 24 09:45:26 ubuntusrv.citizix.com sqlservr[21615]: [100B blob data]
Nov 24 09:45:26 ubuntusrv.citizix.com sqlservr[21615]: [71B blob data]
Nov 24 09:45:26 ubuntusrv.citizix.com sqlservr[21615]: [124B blob data]
Si planea conectarse de forma remota, es posible que también deba abrir el puerto TCP de SQL Server (predeterminado 1433) en su firewall.
¡En este punto, SQL Server 2019 se está ejecutando en su máquina Ubuntu y está listo para usar!
Si desea permitir que el servicio se inicie en el arranque, use este comando
sudo systemctl enable mssql-server
Instalar las herramientas de línea de comandos de SQL Server
crear una base de datos, debe conectarse con una herramienta que pueda ejecutar declaraciones Transact-SQL en el servidor SQL. Los siguientes pasos instalan las herramientas de línea de comandos de SQL Server: sqlcmd y bcp.
Utilice los siguientes pasos para instalar mssql-tools en Ubuntu.
Importe las claves GPG del repositorio público.
curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
Registre el repositorio de Microsoft Ubuntu.
curl https://packages.microsoft.com/config/ubuntu/20.04/prod.list | sudo tee /etc/apt/sources.list.d/msprod.list
Actualice la lista de fuentes y ejecute el comando de instalación con el paquete de desarrollador unixODBC.
sudo apt-get update
sudo apt-get install mssql-tools unixodbc-dev
Agregar /opt/mssql-tools/bin/
a tu RUTA variable de entorno en un shell bash.
Para hacer sqlcmd/bcp accesible desde bash shell para iniciar sesión, modifique su RUTA en el ~/.bash_profile archivo con el siguiente comando:
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile
Para hacer sqlcmd/bcp accesible desde bash shell para sesiones interactivas/sin inicio de sesión, modifique la RUTA en el ~/.bashrc archivo con el siguiente comando:
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc
source ~/.bashrc
Conectando localmente
Tras una instalación exitosa, podemos conectarnos al servidor de la base de datos y realizar algunas operaciones
Ejecute sqlcmd con parámetros para su nombre de SQL Server (-S), el nombre de usuario (-U) y la contraseña (-P). En este tutorial, se está conectando localmente, por lo que el nombre del servidor es localhost
. El nombre de usuario es SA
y la contraseña es la que proporcionó para la cuenta de SA durante la configuración.
sqlcmd -S localhost -U SA -P '<YourPassword>'
Puede omitir la contraseña en la línea de comando para que se le solicite ingresarla.
Si luego decide conectarse de forma remota, especifique el nombre de la máquina o la dirección IP para -S y asegúrese de que el puerto 1433 esté abierto en su firewall.
Si tiene éxito, debería obtener un sqlcmd símbolo del sistema: 1>
.
$ sqlcmd -S 127.0.0.1 -U SA -P 'Sup4Srcr7Pa$$';
1>
Ejecución de consultas SQL básicas
En esta sección, exploraremos el uso de sqlcmd para crear una nueva base de datos, agregar datos y ejecutar una consulta simple.
Nota:Debe escribir GO
en una nueva línea para ejecutar los comandos.
Para crear una nueva base de datos, use esto:
1> CREATE DATABASE CitizixDB
2> GO
Para obtener los nombres de todas las bases de datos:
1> SELECT Name from sys.Databases
2> GO
Name
--------------------------------------------------------------------------------------------------------------------------------
master
tempdb
model
msdb
CitizixDB
(5 rows affected)
Vamos a crear una nueva tabla, Usuarios, e insertar nuevas filas.
Cambiar el contexto al nuevo CitizixDB
base de datos:
1> use CitizixDB
2> GO
Changed database context to 'CitizixDB'.
Crear una nueva tabla llamada Users
:
1> CREATE TABLE Users (id INT, name NVARCHAR(50), age INT)
2> GO
Insertar datos en la nueva tabla:
1> INSERT INTO Users VALUES (1, 'etowett', 72); INSERT INTO Users VALUES (2, 'kchep', 36);
2> GO
(1 rows affected)
(1 rows affected)
Seleccionar datos de nuestra tabla de base de datos
1> SELECT * FROM Users WHERE age > 50;
2> GO
id name age
----------- -------------------------------------------------- -----------
1 etowett 72
(1 rows affected)
Para finalizar su sqlcmd sesión, escriba QUIT
:
1> QUIT
Conclusión
En esta guía, logramos instalar Ms SQL Server 2019 en un servidor Ubuntu 20.04.