Mostrando las entradas con la etiqueta Bases de Datos. Mostrar todas las entradas
Mostrando las entradas con la etiqueta Bases de Datos. Mostrar todas las entradas

Todas los SQL SERVER desde 2008 hasta 2019

 Buenas noches queridos lectores, el día de hoy les traigo un nuevo post con las versiones Developer de SQL SERVER desde 2008 hasta 2019, sin anuncios, sin ads, sin trampas de ningún tipo, solo si te sirve regálame un clic.




Login failed SQL SERVER Error 18456

 Buenas noches queridos lectores, en este día de inicio de primavera, les traigo este post con un error muy simple, pero que puede ser complicado de diagnosticar.

Introducción


En el mundo de la administración de bases de datos, es común encontrarse con diversos errores que pueden dificultar el acceso y la manipulación de la información. Uno de los errores más comunes en SQL Server es el "Login failed" con el código de error 18456. En este artículo, exploraremos las posibles causas y soluciones para resolver este inconveniente y recuperar el acceso a la base de datos.


Campos Calculados en tablas SQL SERVER

 Buenas tardes queridos lectores, el dìa de hoy les mostraré los campos calculados en tablas de SQL SERVER. Espero sea de su agrado y utilidad. Les dejaré un video para ejemplificar mejor lo que les comento.


Introducción


Los campos calculados en tablas de SQL Server son una poderosa herramienta que te permite realizar cálculos dinámicos directamente en tus consultas. Con esta funcionalidad, puedes obtener resultados basados en fórmulas y expresiones matemáticas, facilitando así el procesamiento de datos complejos. En este artículo, exploraremos cómo aprovechar los campos calculados en tus tablas de SQL Server y cómo implementarlos de manera efectiva en tus consultas.

 


Video Curso Consultas SQL SERVER VI - Ordenamiento de datos - Order by y WHERE

 

Buenas noches queridos lectores, siguiendo con el video curso de SQL SERVER, hablaremos de la clausula order by con mayor detalle junto con el predicado WHERE.


Les invito a suscribirse al canal




Video curso de consultas SQL SERVER - Introducción

Buenas tardes queridos lectores, les traigo un video curso de SQL SERVER de consultas básicas que estoy haciendo. En este curso aprenderás todo acerca de las consultas de SQL SERVER de manera básica e intermedia. Espero sea de su agrado y utilidad.


Saludos




Uso de la función CHOOSE en SQL SERVER

 Buenas tardes queridos lectores, el día de hoy les mostraré el uso de la sentencia CHOOSE en SQL SERVER, esta sentencia funciona de manera similar a CASE pero de manera simplificada, donde recibe de parámetro el número de elemento a mostrar y después una serie de opciones a elegir. Pero pasemos a la práctica que es lo que nos gusta.

Error de instancia SQL SERVER por falta de memoria

 Buen día queridos lectores, el día de hoy veremos un nuevo tema de Administración de Base de Datos, y lo que sucede cuando una instancia no tiene la memoria RAM para continuar, el caso es que hace unos días me equivoque en una configuración y le puse como máximo de memoria 70MB, lógicamente la instancia colapso y lo que les traigo aquí es la solución.

Configurar memoria máxima SQL SERVER   

Para configurar el máximo y mínimo de memoria en la instancia, daremos clic derecho en la instancia, y seleccionaremos la opción Propiedades

Configurar memoria máxima en SQL SERVER
Configurar memoria máxima en SQL SERVER


En el apartado memoria, procederemos a configurar el máximo y el mínimo de memoria a consumir

Se recomienda que el máximo de memoria a consumir sea del 70% del servidor, el 30% restante corresponderá a la base de datos.

Problema al asignar un máximo de memoria menor al requerido

El problema consiste en asignar menor memoria máxima que la requiere para iniciar el servicio de SQL SERVER. 

En el ejemplo queremos poner 16000 MB (16GB), sin embargo, nos equivocamos y le asignamos únicamente 160 MB

Identity SQL Server se incrementa en 1000

 



Buenas tardes queridos lectores, el día de hoy veremos lo que llamaremos un "bug" en SQL SERVER que tiene que ver con la identidad, es decir un campo Identity que de la nada se incrementa en mil, y no sabemos porque, pues aquí tendrán la respuesta.

En ocasiones podemos apreciar que el campo Identity en SQL SERVER puede aumentar en 1000 (mil) posiciones en un campo int o 10000 (diez mil) en un campo bigint, esto se da a partir de la versión 2012 de SQL SERVER y esto es porque SQL SERVER reserva en cache un espacio de estas posiciones, por lo que, en caso de reinicio estos valores se desperdician.

Funciones no válidas en SQL SERVER 2008




Buenos días queridos lectores, el día de hoy veremos un listado de funciones que no están incluidas en SQL SERVER 2008. Imaginemos que estamos acostumbrados a utilizar una función, porque así lo aprendimos en la escuela o porque en algún momento vimos esa función en internet y la usamos regularmente, sin embargo, nos encontramos con ambientes con SQL SERVER 2008 y la fórmula no funciona porque no está incluida en el manejador, pues bien, aquí tenemos un listado de las funciones no válidas en SQL SERVER 2008

Validar la conversión de un tipo de dato TRY_CONVERT

 Buenas tardes queridos lectores, el día de hoy vamos a explicar el uso de la función agregada de sistema TRY_CONVERT, esta función, combina como bien lo intuimos, la función CONVERT, con el manejo de errores TRY-CATCH, esta función esta disponible a partir de SQL SERVER 2012, por lo que, si usan SQL SERVER 2008, o anteriores, no funcionará. Pues bien, pasemos a su uso que es lo que nos gusta



CONVERT


La función CONVERT, sirve para convertir un tipo de datos en otro, en caso de fallar la conversión devuelve un error y se trunca la ejecución. Veamos un ejemplo:

Guardar resultado de TOP a variable

 Buenas tardes queridos lectores, el día de hoy les traigo este post, y hablaremos sobre como guardar en una variable el resultado de una consulta con la clausula TOP, en ocasiones nos resultará útil una consulta de este tipo, y con mayor razón guardarla en una variable, aunque no siempre es tan sencillo.


Restaurar base de datos master SQL SERVER

Como buenos DBA que somos debemos prepararnos para lo peor como por ejemplo que el servidor donde está nuestra base de datos colapse. Ciertamente serán muy pocas veces las que necesitaremos restaurar el la base de datos master, pero como les dije, hay que estar preparado para todo. Pues bien, vamos a empezar.


The DELETE statement conflicted with the REFERENCE constraint "FK_subplan_job_id" SQL SERVER



Buenos días queridos lectores, el día de hoy veremos como eliminar un job que ha sido creado desde un plan de mantenimiento y el cual no es posible eliminar por un error en la llave foránea, pero bien, entremos en materia


Eliminar job creado desde un plan de mantenimiento

Cuando se crea un plan de mantenimiento, se crea también un job y en ocasiones no podemos eliminar el plan de mantenimiento por una llave foránea obteniendo el siguiente error:

Respaldar JOBS en SQL SERVER - Respaldar y Restaurar msdb

 


Buen día en este último día de marzo de 2022 queridos lectores, el día de hoy les traigo un post acerca de como respaldar y restaurar los jobs de una instancia, y dicho sea de paso, también como respaldar y restaurar la base de datos msdb. 

¿Qué es la base de datos msdb?

La base de datos de SQL SERVER llamada msdb funciona para guardar, entre otras cosas, los jobs de la base de datos, el historial de los mismos, el historial de los correos enviados, los agentes, los operadores, etc. Por eso la importancia de incluir en los respaldos la base de datos msdb.

¿Como crear un job?

Ya se ha hablado anteriormente en este mismo blog acerca de como crear un job, ¿Cómo crear un JOB?, sin embargo lo repasaremos someramente nuevamente para ver el ejemplo:

Primero tenemos que asegurarnos que el servicio de Agent SQL Server este activo

1. Entramos a la carpeta de JOB y damos clic con el botón derecho del mouse y seleccionamo New Job

Crear Job SQL SERVER


2. En la página General capturamos el nombre y la descripción del JOB


3. En la página Steps dar clic en el botón New


4. Asignar nombre al job, así como las acciones a ejecutar por este, como es un job de ejemplo, simplemente agregaremos un Print 'hola' y presionamos el botón OK




5. Ejecutamos el job y vemos el historial





¿Como respaldar los jobs?

Como ya lo mencionamos líneas arriba, los jobs se encuentran dentro de la base de datos de sistema msdb, así que la cuestión sería respaldar y restaurar dicha base de datos.

Respaldaremos la base de datos msdb de la misma manera que cualquier base de datos

BACKUP DATABASE [msdb] TO  DISK = N'D:\msdb_bak.bak' WITH NOFORMAT,

NOINIT,  NAME = N'msdb-Full Database Backup', SKIP, NOREWIND, NOUNLOAD,  STATS = 10

GO


Eliminar job

Una vez respaldada la base de datos msdb, vamos a eliminar el job y lo haremos con el siguiente query:

USE msdb ; 

GO 

 

EXEC sp_delete_job 

    @job_name = N'Job de Prueba' ; 

GO



Ahora nos aseguraremos que el job ha sido eliminado


Ahora procedemos a restaurar los jobs restaurando la base de datos msdb

¿Como restaurar los jobs?

Para restaurar los jobs tendremos que restaurar la base de datos msdb, y lo realizaremos como un query igual como lo haríamos con cualquier base de datos:

USE [master]

RESTORE DATABASE [msdb] FROM  DISK = N'D:\msdb_bak.bak'

WITH  FILE = 1,  NOUNLOAD,  STATS = 5

 

GO


Al ejecutar este query obtendremos el siguiente resultado:

Msg 3101, Level 16, State 1, Line 2

Exclusive access could not be obtained because the database is in use.

Msg 3013, Level 16, State 1, Line 2

RESTORE DATABASE is terminating abnormally.

 

Completion time: 2022-03-31T13:23:21.3588502-06:00


El resultado de este query nos muestra un error, que nos indica que la base de datos está en uso, esto es correcto, debido a que el Agente SQL esta en ejecución, por lo cual procedemos a detener el agente.



Ahora volvemos a ejecutar el query del restore y obtendremos el siguiente resultado:


Una ves restaurada la base de datos procedemos a iniciar el servicio del agente y a corroborar que los jobs se han restaurado:


También veremos que la historia de ejecución de JOB se conserva:



Como podemos observar la historia de ejecución también se restauró debido a que esta almacenada dentro de la misma base de datos.


Hasta aquí el post queridos lectores, espero haya sido de su agrado y de utilidad, espero compartan, comenten y cualquier duda estamos a la orden.


Les dejo un video para mayor claridad





Saludos









Select SQL en Excel

 


Buenas noches queridos lectores, el día de hoy veremos como devolver una consulta de SQL SERVER en una hoja de Excel para poder visualizarlos de mejor manera. Para eso utilizaremos una herramienta poco conocida, como lo es MSQUERY, integrada en Excel, pero basta de charlas y comencemos con la parte práctica.

Consideremos la siguiente tabla con sus datos

Obtener fecha de inicio y fin de mes en SQL SERVER

 Buenas noches queridos lectores, el día de hoy les explicaré como mostrar las fechas de inicio y fin de mes de manera automatizada, utilizando la función EOMONTH, cabe señalar que esta función esta disponible, a partir de 2012, por lo que si tienes SQL SERVER 2008, no se podrá utilizar, pues bien comencemos. 

Imaginemos que tenemos una lista inmensa de facturas, y nos interesa saber solo la facturación de mes actual, podríamos pensar que con un between entre el dia 1 y el día actual que estamos, sin embargo, tendríamos que modificar diario la fecha, o en su defecto, cambiar el between dependiendo si el mes tiene 30 o 31 días, sin mas preámbulo, pasemos a hacer lo que nos gusta.

Consideremos la siguiente tabla:

create table Facturas(

id int primary key identity,

cliente varchar(100),

fecha datetime,

monto money)




Como crear una base de Datos en SQL SERVER (CREATE DATABASE) - con Video

La creación de una base de datos se puede hacer de dos maneras: 

  • Gráfica
  • Script
En este caso para fines educativos, la crearemos por script y lo acompañaremos de un video.


-- LA BASE SE LLAMARÁ PRUEBA

 -- 1. VAMOS A CREAR LA BASE CON VALORES POR DEFECTO

 


Tablas temporales en SQL SERVER

Buenas noches queridos lectores, el día de hoy veremos un tema útil acerca de las tablas temporales.

Las tablas temporales, son tablas que son escritas en la base de datos tempdb, solo permanecen en memoria, mientras la instancia esta activa o se limpia la caché, es importante eliminar las tablas temporales cuando ya no las estemos utilizando para liberar memoria, pues bien comencemos a hacer tablas temporales que es lo que nos gusta y como aprendemos

Instalar Postgresql

 Feliz inicio de año a todos los lectores, hoy seguiremos experimentando con postgreSQL y veremos como instalar dicho gestor de base de Datos.


¿Qué es PostgreSQL y cuales son sus características?

 Buenas tardes queridos lectores, vamos a seguir la misma tónica del blog, subir cosas de interés, la mayoría de las cosas son cosas de SQL SERVER un poco avanzado, que tiene que ver más con la administración, tenemos también dentro de este blog, artículos de MySQL Server o lo que es lo mismo MariaDB, sin embargo, no tenemos nada de PostgreSQL, así que vamos a aprender un poco de este gestor de código libre. Pero comenzaremos con una pregunta básica:


Featured Post

Permitir ping en firewall de Windows

 Buenos días queridos lectores, ya mucho tiempo sin escribir nada, el día de hoy les mostraré como habilitar el ping en el firewall de Windo...