viernes, 17 de junio de 2022

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.


viernes, 13 de mayo de 2022

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.


miércoles, 20 de abril de 2022

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:

jueves, 31 de marzo de 2022

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









viernes, 4 de marzo de 2022

Operating system error 5(Access is denied.). [SQLSTATE 42000] (Error 3201) BACKUP DATABASE is terminating abnormally. [SQLSTATE 42000] (Error 3013)

 

Buenos dias queridos lectores, el día de hoy volveremos a hablar sobre SQL SERVER, ahora con un error que me apareció al querer realizar un respaldo en una carpeta en la RED.

Cuando queremos realizar un respaldo en la red, aparece el siguiente error que les muestro a continuación:

Operating system error 5(Access is denied.). [SQLSTATE 42000] (Error 3201)  BACKUP DATABASE is terminating abnormally. [SQLSTATE 42000] (Error 3013)

Pues bien, después de quebrarme un rato la cabeza, les comparto la solución que encontré, por si ustedes están batallando también.

martes, 15 de febrero de 2022

Obtener ip local en Powershell

 Buenos días queridos lectores, el día de hoy les mostraré como obtener la ip de su máquina local en Powershell


Imaginemos que estamos elaborando un script y necesitamos guardar en una variable la dirección Ip de nuestra computadora, o de la computadora que ejecuta el script. Para esto podemos pensar que el comando ipconfig será suficiente, pero no es así y lo veremos a continuación.

martes, 8 de febrero de 2022

No se pudo restablecer el tema - Blogger

 Buenas tardes queridos lectores, el día de hoy les traigo un tema que me volvió loco durante varias horas, resulta que a este blog que están viendo, quise cambiarle el tema, así que respalde y busque otros temas que me gustaron, cuando quise regresar al formato originar, es decir, poner el respaldo, me apareció una leyenda que me hizo entrar en pánico, que decía literalmente No se pudo restablecer el tema, abrumado por la situación me puse a realizar varias pruebas.

La primera de ellas, fue abrir el xml y pegar el código manualmente

jueves, 3 de febrero de 2022

Contpaqi Comercial - SERIES, LOTES Y PEDIMENTOS

 Buenas tardes queridos lectores, seguimos adelante con el curso de Contpaqi Comercial y el dia de hoy veremos como configurar las series, los lotes y los pedimentos.


Saludos 


viernes, 28 de enero de 2022

Configurar características - Contpaqi Comercial

 Buenas tardes queridos lectores, seguimos adelante con el curso de Contpaqi Comercial, y el día de hoy veremos un video sobre como configurar correctamente las características de los productos.




Configurar unidades de medida - Contpaqi Comercial

 Buenas tardes queridos lectores, el día de hoy continuaremos con el curso de Contpaqi Comercial y toca ver un video sobre como configurar correctamente las unidades de medida en Contpaqi Comercial y sus respectivas equivalencias.




Featured Post

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 co...