Cómo levantar SQL 2022 con Docker Desktop

Cómo levantar SQL 2022 con Docker Desktop

Si tienes ganas de probar el nuevo SQL Server 2022 (aun esta en versión de Beta) sin la necesidad de hacer toda una instalación (podes revisar mi post de cómo instalar SQL Server 2022 paso a paso) lo que puedes usar es contenedores con Docker Desktop

Los pasos para esto van a ser:

  • Descargar e instalar el Docker Desktop si aun no lo tienes , eso lo puede hacer desde el siguiente enlace
  • Desde la consola de PowerShell bajar la imagen de SQL 2022 para linux usando el siguiente comando
docker pull mcr.microsoft.com/mssql/server:2022-latest
  • Luego de bajar la imagen correspondiente solamente debemos crear nuestro contenedor con el siguiente código de ejemplo (yo aquí usare el puerto 15000 apuntado al 1433 de la imagen)
docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=Triggerdb!!!!" -p 15000:1433 -d mcr.microsoft.com/mssql/server:2022-latest
  • Por ultimo solo nos queda conectarnos con nuestro SSMS o Azure Data Studio a la imagen de SQL 2022 y ejecutar alguna consulta

También podes verificar la imagen y tu contenedor desde la consola de Docker Desktop

Cómo levantar SQL 2022 con Docker Desktop

Cómo obtener el tamaño nuestras bases y archivos usando TSQL

En algunas oportunidades necesitamos conocer el tamaño de nuestras bases de datos y/o Datafiles.

Les comparto los siguientes códigos en los cuales podrán obtener esta información por medio de comandos TSQL usando la vista de sistemas sys.master_files

-- ESPACIO POR DATAFILE
SELECT 
DB_NAME(DATABASE_ID) AS DBNAME,
NAME AS LOGICAL_NAME,
TYPE_DESC, 
PHYSICAL_NAME, (SIZE*8)/1024 SIZE_MB
FROM SYS.MASTER_FILES
ORDER BY 1
-- ESPACIO POR BASE DE DATOS
SELECT 
DB_NAME(DATABASE_ID) AS DBNAME,
 SUM((SIZE*8)/1024) SIZE_MB
FROM SYS.MASTER_FILES
GROUP BY 
DB_NAME(DATABASE_ID)
ORDER BY 1
Cómo levantar SQL 2022 con Docker Desktop

Cómo copiar logins entre instancias SQL

En nuestro trabajo diario nos toca muchas veces copiar los logins que tenemos en una instancia a la otra.

En este tutorial paso a paso te muestro las distintas metodologías que podes usar para realizar de forma efectiva esta tarea y no tener problemas.

Transfer logins and passwords between instances – SQL Server | Microsoft Docs

dbatools – the community’s sql powershell module

USE [master]
GO
CREATE LOGIN [DEMO1] WITH PASSWORD=N'123', 
DEFAULT_DATABASE=[master], 
CHECK_EXPIRATION=OFF, CHECK_POLICY=OFF
GO
USE [AdventureWorks2019]
GO
CREATE USER [DEMO1] FOR LOGIN [DEMO1]
GO
USE [AdventureWorks2019]
GO
ALTER ROLE [db_owner] ADD MEMBER [DEMO1]
GO
Cómo levantar SQL 2022 con Docker Desktop

Revisando la seguridad de tu SQL Server

Sin lugar a dudas que la seguridad es muy importante en nuestros entornos de base de datos ya sea on-prem o nube.

Ahora bien, ¿Cómo podríamos saber que tenemos configurado de forma correcta la seguridad en la instancia y bases de datos?

La primer medida es conocer las buenas prácticas de seguridad recomendadas por Microsoft para SQL Server

Pero cómo podemos revisar que nuestros servidores y bases estén de forma correcta?

Bueno para esto se ha incorporado al SSMs (SQL Server Management Studio) unos informes de auditoria que nos ayudaran a revisar toda la configuración e indicarnos las mejoras necesarias.

Este nuevo componente se llama Vulnerability assessment

En el siguiente video tutorial de mi canal de Youtube te voy a mostrar cómo se utiliza esta tremenda herramienta

Cómo encriptar bases de datos MSSQL con TDE

SQL Server desde su versión 2008 tiene la funcionalidad TDE (Transparent Data Encryption) la cual permite encriptar toda la base de datos de forma transparente.

Esta funcionalidad hasta MSSQL 2019 solo estaba disponible en la edición Enterprise pero a partir de 2019 ya se puede usar en la Standard.

En el siguiente video te muestro paso a paso como se configura TDE y funciona como así también algunos tips que seria bueno considerar.

Para poder descargar el material que utilice en el video lo podes hacer desde el siguiente link

Material TDE