¡Hola, chicos!

Voy a participar HOY en un vivo, por Canal .NET, con mi amigo Renato Groffe, con el tema “Consejos de bases de datos para desarrolladores”. Vamos a hablar de varios temas y quiero mostrar una demostración usando AI y SQL Server, expresiones regulares y algunas otras cosas muy interesantes.

cuando:03
HOY – 03/09/2025 – a partir de las 21:00 – hora de Brasilia

Regístrese en:
https://bit.ly/dicas-databases-devs-11aed

 

Enlace de transmisión:

 

El nuevo tipo de datos JSON: rendimiento e integridad

Hasta SQL Server 2022, almacenábamos JSON como una cadena (NVARCHAR). ¿Funcionó? Sí. Pero no teníamos validación nativa a nivel de motor y el rendimiento del almacenamiento no era el ideal. En SQL Server 2025 tenemos el tipo JSON nativo.

Observación: El tipo JSON no es sólo un "alias" para una cadena. Almacena datos en un formato binario optimizado, lo que reduce la sobrecarga de análisis en consultas repetitivas.

Ejemplo: creación y validación de JSON

IF (OBJECT_ID('tempdb..#Tb_Vendas') IS NOT NULL)
    DROP TABLE [#Tb_Vendas];

CREATE TABLE [#Tb_Vendas]
(
    [Nr_Id] INT IDENTITY(1, 1) PRIMARY KEY,
    [Ds_Dados_Venda] json NOT NULL -- Novo tipo nativo

)
WITH (DATA_COMPRESSION = PAGE);

-- ADICIONA DADO VÁLIDO
INSERT INTO [#Tb_Vendas]
(
    [Ds_Dados_Venda]
)
VALUES
('{"Nm_Produto": "SQL Server 2025", "Nr_Valor": 5000.00, "Fl_Ativo": 1}');

-- TENTATIVA DE INSERIR JSON INVÁLIDO (VAI GERAR ERRO DE ENGINE)
UPDATE [#Tb_Vendas] SET [Ds_Dados_Venda] = 'Texto comum' WHERE [Nr_Id] = 1;

Llamadas externas: sp_invoke_external_rest_endpoint

Ésta es la característica que separa a los niños de los hombres. Ahora, SQL Server puede “hablar” con el mundo exterior sin depender de paquetes personalizados de CLR o Integration Services para tareas simples. Podemos consumir API de traducción, análisis de sentimientos o incluso el Azure abierto AI.

ALERTA CRÍTICA: Las llamadas de red desde la base de datos pueden introducir latencia y aumentar los tiempos de espera. Supervise siempre el tipo de espera EXTERNAL_SCRIPT_NETWORK_IO o equivalentes para garantizar que la red no esté matando su rendimiento de transacciones.

Seguridad con credenciales con ámbito de base de datos

Nunca pongas tu clave API directamente en el script. Utilice credenciales de alcance de base de datos para anonimizar el acceso.

-- CRIANDO A CREDENCIAL PARA ACESSO À API
IF NOT EXISTS
(
    SELECT *
    FROM [sys].[database_scoped_credentials]
    WHERE [name] = 'https://api.openai.com'
)
BEGIN

    CREATE DATABASE SCOPED CREDENTIAL [https://api.openai.com]
    WITH IDENTITY = 'API_KEY',
         SECRET = 'Sua_Chave_Aqui';

END;

Expresiones regulares nativas (Regex)

Después de décadas de preguntar, SQL Server finalmente entregó funciones Regex. Esto pone fin a esas interminables soluciones de LIKE y SUBSTRING para validar correos electrónicos o enmascarar datos confidenciales.

Las nuevas funciones principales son:

  • REGEXP_LIKE: comprueba si una cadena sigue un patrón.
  • REGEXP_REPLACE: reemplaza partes de la cadena según patrones.
  • REGEXP_INSTR: Devuelve la posición de un patrón.

Ejemplo: validación de correo electrónico y enmascaramiento de PII

IF (OBJECT_ID('tempdb..#Tb_Usuarios') IS NOT NULL)
    DROP TABLE [#Tb_Usuarios];

CREATE TABLE [#Tb_Usuarios]
(
    [Nr_Id] TINYINT IDENTITY(1, 1),
    [Nm_Usuario] NVARCHAR(100) COLLATE Latin1_General_CI_AS,
    [Ds_Email] NVARCHAR(150) COLLATE Latin1_General_CI_AS,
    [Ds_Cartao] NVARCHAR(20) COLLATE Latin1_General_CI_AS
)
WITH (DATA_COMPRESSION = PAGE);

INSERT INTO [#Tb_Usuarios]
(
    [Nm_Usuario],
    [Ds_Email],
    [Ds_Cartao]
)
VALUES
('Dirceu Resende', 'contato@dirceuresende.com', '1234-5678-9012-3456'),
('Thiago Bertuzzi', 'bertuzzi.java@whatever.com', '9876-5432-1098-7654');

-- VALIDANDO E-MAILS COM REGEXP_LIKE
SELECT
	[Nm_Usuario],
	[Ds_Email]
FROM
	[#Tb_Usuarios]
WHERE
	REGEXP_LIKE([Ds_Email], '^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+.[A-Za-z]{2,}$')

-- MASCARANDO CARTÃO COM REGEXP_REPLACE
SELECT
	[Nm_Usuario],
	REGEXP_REPLACE([Ds_Cartao], '\d{4}-\d{4}-\d{4}-', '--****-') AS [Ds_Cartao_Mascarado]
FROM
	[#Tb_Usuarios];

SQL Server 2025 está llevando la base de datos a la era de la inteligencia artificial y la estrecha integración. Como DBA, nuestro papel es comprender cómo funcionan estas herramientas internamente para garantizar que la flexibilidad no venga acompañada de lentitud.

Espero que te haya gustado este tip, un fuerte abrazo y ¡hasta la próxima!