¡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.
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.
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', '[email protected]', '1234-5678-9012-3456'),
('Thiago Bertuzzi', '[email protected]', '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!
Comentários (0)
Carregando comentários…