- 97
- 16 431
SoyDBA
Spain
Приєднався 20 лис 2023
Aprende de bases de datos.
Q&A ¿Qué Estrategia Escoger para Integrar Power BI y SQL Server?
¿Te enfrentas al desafío de montar un servidor de informes conectado a un ERP distribuido en varios países? En este vídeo abordamos un caso real: desde Linked Servers, SSIS, hasta replicación de bases de datos. Analizamos pros, contras y cuál es la mejor opción para escenarios con anchos de banda limitados. No te pierdas nuestras conclusiones y consejos prácticos para implementar soluciones profesionales y escalables. ¡Dale play!
Toda la información sobre el Evento Internacional de Datos de Valencia 2025 aquí: eventodedatos.com/
-----------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------
No te pierdas nada, síguenos en todas nuestras redes:
Canal de Telegram: t.me/SQLServerEspanol
Blog: www.soydba.es
Comunidad de Telegram: t.me/SQLServerEspanol
X (Twitter): soy_dba
Instagram: soydba
TikTok: www.tiktok.com/@soydba
GitHub: github.com/SoyDBA
-----------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------
También puedes ayudarnos usando nuestros enlaces de afiliado de Amazon. Usando este enlace a ti te costarán lo mismo tus compras pero a nosotros nos ayuda a mantener los canales. amzn.to/3TnJxaT
Toda la información sobre el Evento Internacional de Datos de Valencia 2025 aquí: eventodedatos.com/
-----------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------
No te pierdas nada, síguenos en todas nuestras redes:
Canal de Telegram: t.me/SQLServerEspanol
Blog: www.soydba.es
Comunidad de Telegram: t.me/SQLServerEspanol
X (Twitter): soy_dba
Instagram: soydba
TikTok: www.tiktok.com/@soydba
GitHub: github.com/SoyDBA
-----------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------
También puedes ayudarnos usando nuestros enlaces de afiliado de Amazon. Usando este enlace a ti te costarán lo mismo tus compras pero a nosotros nos ayuda a mantener los canales. amzn.to/3TnJxaT
Переглядів: 173
Відео
La Mejor Forma de Convertir Datos en SQL Server: ¿CAST, CONVERT o TRY_CONVERT?
Переглядів 73День тому
¿Estás seguro de que estás usando la función correcta para convertir datos en SQL Server? Elegir entre CAST, CONVERT y TRY_CONVERT puede marcar la diferencia en el rendimiento de tus consultas y la robustez de tu base de datos. En este video aprenderás: Cuándo usar cada función para maximizar el rendimiento. Cómo evitar errores críticos en conversiones de datos. Casos reales con la base de dato...
Respondo vuestras preguntas: PostgreSQL, SQL en Linux y mucho más
Переглядів 116День тому
En este video respondo a las preguntas más interesantes de nuestra comunidad sobre bases de datos y SQL. Desde comparar PostgreSQL con MySQL, hasta consejos avanzados sobre optimización de backups, triggers y configuraciones de seguridad en SQL Server. Si trabajas con bases de datos o quieres aprender más, ¡este video es para ti! Capítulos 00:00 Introducción 00:48 ¿PostgreSQL o MySQL para bases...
Gestiona correctamente tus TRANSACCIONES en SQL Server
Переглядів 8614 днів тому
💾 ¿Quieres aprender cómo gestionar transacciones en SQL Server de manera eficiente? En este video, exploramos en profundidad cómo funcionan BEGIN TRAN, COMMIT y ROLLBACK, garantizando la integridad de los datos en bases de datos transaccionales. 🔍 ¿Qué aprenderás en este video? ✅ Qué es una transacción y por qué es crucial en bases de datos ✅ Cómo evitar inconsistencias con BEGIN TRAN, COMMIT y...
La verdad sobre por qué SQL Server estima mal la compresión
Переглядів 5521 день тому
¿Las estimaciones de compresión en SQL Server te han fallado alguna vez? Si has ejecutado sp_estimate_data_compression_savings y el ahorro de espacio real no se parece en nada al estimado, este video es para ti. En este episodio, exploramos cómo funciona realmente esta estimación en SQL Server y por qué sus resultados pueden ser inexactos. Hablaremos de los problemas con el muestreo, la compara...
SQL Server: ¿Vale la Pena la Compresión de Datos? (Prueba Real)
Переглядів 11821 день тому
¿Tu base de datos SQL Server está creciendo demasiado? ¿Las consultas son lentas? La compresión de datos podría ser la solución. En este video te muestro una prueba real del impacto de la compresión en el espacio y el rendimiento. Comparamos el rendimiento de consultas y el espacio utilizado con y sin compresión de datos en SQL Server. Analizaremos los resultados y veremos si realmente vale la ...
Resumen de 2024, novedades para 2025 y UNA SORPRESA
Переглядів 203Місяць тому
Año nuevo, video nuevo. Este primer video del año es un poco diferente a lo que estáis acostumbrados en el canal pero, espero que os resulte igual de interesante. Es un video más personal en el que primero os hablo de lo que ha sido para mi el año 2024 para después repasar con vosotros todo lo que viene para 2025 tanto en el canal como en la comunidad de SQL Server que estamos montando. Y SORPR...
No te quedes en blanco. ¡Domina los NULL en SQL Server!
Переглядів 123Місяць тому
🔥 ¡Aprende a manejar los NULL como un PRO en SQL Server! 🔥 ¿Te has preguntado alguna vez cuál es la diferencia entre un valor vacío y uno nulo en SQL Server? ¡Tu espera ha terminado! En este video, desentrañamos el misterio de los NULL con ejemplos prácticos que te dejarán boquiabierto. 📚 Vacio vs. Nulo: Descubre la verdad detrás de estos conceptos a menudo mal entendidos. 🛠️ ISNULL: Aprende có...
Optimizar consultas SQL con filtros por Mes y Año
Переглядів 873Місяць тому
Cuando escribimos consultas T-SQL que necesitas obtener todos los datos de un mes y tenemos solo una columna de fecha la opción fácil es recurrir a las funciones MONTH y YEAR. Sin embargo, eso es lo peor que podemos hacer ya que acaba con el rendimiento de nuestra consulta. En el video de hoy me he propuesto demostrártelo además de enseñarte una alternativa mejor. No te pierdas nada, síguenos e...
¿Cómo dar acceso a logins de SQL solo desde una máquina concreta?
Переглядів 118Місяць тому
En este video te mostramos cómo implementar seguridad avanzada en SQL Server mediante el uso de triggers de inicio de sesión. 🔐 Primera Parte: Configuramos un trigger sencillo para limitar el acceso del usuario sa únicamente desde IPs específicas. 📋 Segunda Parte: Ampliamos la funcionalidad con un trigger dinámico que consulta una tabla de configuración (LoginsPermitidos) para validar usuarios ...
Seleccionando datos aleatorios en SQL Server: NEWID() y TABLESAMPLE
Переглядів 45Місяць тому
En este video exploramos diferentes técnicas para seleccionar datos aleatorios en SQL Server. Comenzamos con el clásico NEWID() combinado con TOP percent, una técnica sencilla y eficiente para obtener un subconjunto aleatorio de filas. Luego, damos un paso más allá con TABLESAMPLE, que selecciona páginas de datos de forma aleatoria, ideal para grandes volúmenes. Por último, como sorpresa extra,...
Bloqueos optimizados en Azure SQL y SQL Server 2025
Переглядів 912 місяці тому
Bloqueos optimizados en Azure SQL y SQL Server 2025
RLS en SQL Server: Permisos a nivel de fila
Переглядів 722 місяці тому
RLS en SQL Server: Permisos a nivel de fila
DDM en SQL Server: Protege datos sensibles
Переглядів 622 місяці тому
DDM en SQL Server: Protege datos sensibles
Always Encrypted en SQL Server: El cifrado avanzado
Переглядів 1422 місяці тому
Always Encrypted en SQL Server: El cifrado avanzado
Protege tus datos de SQL Server con TDE: Guía completa de cifrado
Переглядів 902 місяці тому
Protege tus datos de SQL Server con TDE: Guía completa de cifrado
Búsquedas difusas en T-SQL. Buscando palabras fonéticamente similares
Переглядів 572 місяці тому
Búsquedas difusas en T-SQL. Buscando palabras fonéticamente similares
¿Cómo hacer pruebas de estrés a tu SQL Server?
Переглядів 1242 місяці тому
¿Cómo hacer pruebas de estrés a tu SQL Server?
Entrevista de Trabajo para DBA SQL Server: Preguntas y Respuestas con ChatGPT
Переглядів 1552 місяці тому
Entrevista de Trabajo para DBA SQL Server: Preguntas y Respuestas con ChatGPT
Añadir bases de datos a Always On en SQL Server
Переглядів 1483 місяці тому
Añadir bases de datos a Always On en SQL Server
Ver y cambiar el puerto de SQL Server
Переглядів 2463 місяці тому
Ver y cambiar el puerto de SQL Server
Configuración de Always On en SQL Server: Alta Disponibilidad y Recuperación de Desastres
Переглядів 5193 місяці тому
Configuración de Always On en SQL Server: Alta Disponibilidad y Recuperación de Desastres
30 No uses NOLOCK en SQL Server || T-SQL de 0 a 100
Переглядів 703 місяці тому
30 No uses NOLOCK en SQL Server || T-SQL de 0 a 100
29 Analizar rendimiento con Query Store en SQL || T-SQL de 0 a 100
Переглядів 1213 місяці тому
29 Analizar rendimiento con Query Store en SQL || T-SQL de 0 a 100
28 Leer planes de ejecución en SQL || T-SQL de 0 a 100
Переглядів 1963 місяці тому
28 Leer planes de ejecución en SQL || T-SQL de 0 a 100
27 Tiggers en SQL || T-SQL de 0 a 100
Переглядів 653 місяці тому
27 Tiggers en SQL || T-SQL de 0 a 100
Muy interesante! Gracias por compartir.
Gracias a ti por comentar.
Toda la información del evento de datos en eventodedatos.com/
Muy sencillo explicado y comparado con mi instalación nosotros los hemos hecho con una réplica diaria en PostgreSQL, y confirmo lo que has comentado tiene mucho mantenimiento. Y a partir de la réplica Yo tengo hecho el ETL. ¿Como lo ves?
Buenas Rubén, es una instalación muy típica. Leer desde una replica read only o DRP nos descarga el servidor de producción. A partir de ahí lees y tratas los datos para adaptarlos a tus necesidades informacionales (de análisis).
Geniales explicaciones. Gracias
Gracias por tu contenido de calidad, y por compartirnos tu conocimiento.
Gracias a ti por el comentario, estas cosas son la que animan a uno a seguir
Hola Roberto. ¿Podrías poner en los comentarios el vídeo que dices de convertir la constante para hacer el filtro? Para que sea más fácil localizarlo. Gracias.
Buenas Javier, aquí tienes. A este me refería ua-cam.com/video/-m9Ldakosno/v-deo.html
Muchas gracias por tu tiempo.
Muchas gracias a ti por comentar Javier.
Muy buenos ejemplos, con lenguaje sencillo y práctico.
Muchas gracias
Hola, pero con este mecanismo cuando la transacción modifica al registro y no se genera un bloqueo a nivel de fila, significa que el registro queda comitado? es decir otras transacciones podrian leer un valor que no esta confirmado?
Hola, no. Ni se hace committ hasta que lo hagas ni nunca se van a leer datos sucios, se usa el snapshot igual que hasta ahora con el nivel de aislamiento Read Committed Snapshot pero también para las escrituras. Siempre y cuando no haya conflicto con los predicados claro.
@@SoyDBA por lo que veo es necesario tener habilitado el ADR también en la BD, sino no funciona correctamente, cierto?
@@Narkk3n Cierto pero cuidado que ahora mismo solo se puede usar en Azure SQL Database y ahí ADR está habilitado y no puede deshabilitarse. Bueno poder se puede pero requiere abrir un ticket a soporte, tu no puedes.
Cae como anillo al dedo, casualmente hoy en una reunión revisabamos este tema , hicimos unos truncate historicos de tablas SCD que no se necesitan y recuperamos 800 GB, pero todos estos estaban distribuidos en varios dataFiles. Cuando hay alguna solicitud vengo a buscar primero tus videos como referencia. Gracias por los scripts que compartes .!!!
Me encanta leer estas cosas. Que os sirvan los videos es lo que me da energía para seguir creando contenido dia a dia. Muchas gracias por el comentario.
Hola Roberto, Feliz año y gracias por videos. Para windows servers ¿Compras las licencias? O son las de prueba de 180 dias ?
Siempre las de pruebas, y SQL también. No me sobran tantos billetes para licenciar eso. Además que no siendo producción no es necesario
Ya tenemos programado ese primer evento del que os hablaba en el vídeo: www.eventbrite.com/e/evento-sql-server-espanol-enero-2025-tickets-1143078952919
Interesante, pero falataria explicar un poco mejor por que [350] as Empleado1 , pongo esto de ejemplo, el porqué de esto?.
Es solo un alias para que el nombre de la columna en vez de verse como se llama en la tabla se vea con el ese alias. Se usa para facilitar la lectura de los datos simplemente o cuando estas cruzando varias tablas y tienes columnas que se llaman igual. Digamos que no tiene impacto en la consulta pero facilita su comprensión.
Hola Roberto, que opinión tienes sobre PostgreSQL. Se puede aplicar lo que enseñas en tu canal al psql. Gracias.
Hola Ruben, la mayoría de las cosas son iguales o muy parecidas aunque luego, como todos los SGBD tendrán sus particularidades.
Gracias Roberto.
Eso está bien pero también hay que revisar si se quedan datos huérfanos porque hay alguna otra tabla que usa el id del duplicado.
Claro, eso ya es conocer los datos y actualizar lo que sea necesario según las relaciones. Yo enseño a construir la consulta pero los datos de cada uno no puedo saber como están. Como siempre, esta es la teoría, en la práctica es igual pero tienes que tener en cuenta muchos más factores que no entran en un video de un minuto.
Si quieres saber más trucos para borrar duplicados, incluso cuando no tienes un ID en el que apoyarte o los registros son iguales al 100%, pásate por este otro video un poco más largo. ua-cam.com/video/vYN7ovN3zII/v-deo.html
Estoy que veo tu contenido y me encanto, nuevo sub
Gracias por el apoyo
Porque una vez que restaure una BD tuver que reindexar porque el indice no estaba funcionando? Saludos
Cuando restauras la bbdd el índice tendrá la misma fragmentación que antes, lo que te pudo pasar es que ya tenias planes cacheados para tus consultas y al restaurar tuvo que recompilarlos. Al detectar la fragmentación decidio no usar el índice. De todas formas pueden ser otras mil cosas, sin ver el caso es dificil saberlo
Espectacular, gracias por la explicación, buscaba un canal con estas características
Gracias a ti @Santymarchulo. Si tienes alguna sugerencia o tema del que te gustaría que hable me lo comentas.
Si agrupas por los meses de un año se debería hacer un bucle si se quiere usar la opción que comentas, ¿no? muy interesante el video. Un saludo.
Siempre que se pueda debemos evitar los bucles. Para el caso que comentas lo más sencillo sería tener una tabla con los inicio y fin de mes y cruzar con ella. Si no tenemos la tabla la podemos generar para la ocasión, por ejemplo una CTE con una consulta recursiva que nos devuelva las fechas. Algo así: WITH RangoMeses AS -- CTE con consulta recursiva para calcular las fechas ( SELECT FechaInicio = DATEFROMPARTS(2012, 1, 1), -- Fecha inicial del rango FechaFin = EOMONTH(DATEFROMPARTS(2012, 1, 1)) -- Fin del mes (último día) UNION ALL SELECT DATEADD(DAY, 1, FechaFin), -- Día siguiente al último día del mes anterior EOMONTH(DATEADD(DAY, 1, FechaFin)) -- Fin del mes actual FROM RangoMeses WHERE FechaFin < '20121231' -- Ajusta el rango hasta el año deseado ) SELECT FechaInicio, FechaFin, c = COUNT_BIG(*) FROM dbo.Votes AS v INNER JOIN RangoMeses AS r ON v.CreationDate >= r.FechaInicio AND v.CreationDate <= r.FechaFin GROUP BY r.FechaInicio, r.FechaFin ORDER BY r.FechaInicio;
Me ayudo mucho conocer el %%physloc&&. Muchas Gracias!!!
Me alegro mucho. Gracias por el feedback
Y si utilizas la función eomonth para el parámetro final y omites el cálculo del último día, cuál sería el rendimiento
Es exactamente lo mismo, siempre que uses la función en el lado del valor del filtro y no en el del campo de la tabla. Se calculará una vez y se usará para comparar con la tabla. No vas a notar la diferencia entre el calculo único de la última fecha de un mes a mano o con EOMONTH siempre que sea eso, solo una vez.
hay posibilidad de que el sa no se use desde otro Host? diferente al de el Admin
Lamentablemente no hay manera de restringirlo por configuración de manera sencilla. Trataré de explicar en un video como jugar con los triggers de inicio de sesión para poder controlarlo.
Ya lo tienes explicado en este video. Espero que te ayude. ua-cam.com/video/U4I7htwkidY/v-deo.html
que crack
Gracias !!!
Esta funcionalidad vino a ahorrar mucho trabajo, soy algo como "dba" por accidente , breve historia ... entre como ingeniero de datos ( sigo en el mismo puesto ) para sacar reportes y construcción de ETL con SSIS en sql server 2016, al ver que me gustaba la parte administrativa me dieron permisos de admin en los server ag de nuestra jefatura hace unos meses ( los dba de la empresa se enfocan más en oracle que es donde se monta el core , y le dan poca importancia al sql server ) , allì aprendí del always on, un problema que me encontré seguido fue sincronizar login, linkserver y jobs , buscaba una manera de resolverlo .. sin embargo nos dijeron que debíamos migrar a nuevas versiones y elegimos 2022 , ya había leído de esta funcionalidad y la montamos con esa opción de contained ( si no la agregas desde el inicio según lo que leí no puedes activarla si el always on ya fue creado ) .. el punto es que con esta nueva funcionalidad se ahorra los problemas que mencionaba , lo único que los planes de mantenimientos se aplican solo en el job primario , si acaso quieres que aplique a los diferentes nodos , se deben de recrear , me paso con el shrink a la tempdb ( esta base sigue usando el que trae la instance de cada nodo ). Gracias por los videos, se aprende algo cada que los veo.
Por cierto, mencionabas ideas para contenido, aprovechando la situación y es algo con lo que aún no he podido lidiar y casi no he encontrado contenido en español , es referente al doble salto ( double hop ) que usa autentificacion con kerberos ( el default es NTLM ).
Gracias por la idea aunque no lo termino de ver para un video. Me resulta demasiado teórico. Estas cosas las reservo para el blog y sobre Kerberos y NTLM con los problemas del doble salto tienes dos artículos. El primero, sobre la autenticación en SQL y como funciona www.soydba.es/autenticacion-en-sql-server/ Y este ya centrado del todo en Kerberos y los SPN www.soydba.es/kerberos-spn-para-sql-server/
@@SoyDBA No había buscado en el blog, gracias por mencionarlo, voy a echarle un vistazo. Gracias .!!
Interesante las políticas de seguridad , sabia que estaban pero nunca las había visto en acción, usualmente uno da soluciones según lo que le piden en el caminó. Me nació la duda de que más se puede lograr con estas políticas. Gracias por mantener el canal activo con buen contenido.
Muy cierto eso, al final, muchas veces, nos vemos limitados a las características que usamos en el día a día. Lo cierto es que desde que tengo el canal y el blog yo mismo estoy descubriendo y aprendiendo muchas nuevas funcionalidades. Sobre este RLS las capacidades son infinitas pero con cuidado, al final cuanto más compliquemos lo lógica peor será para el rendimiento general del servidor. Por ejemplo, tenemos que tener mucho cuidado de siempre indexar estos campos que se van a consultar siempre por la función de seguridad.
Que buen video, actualemnte sigo tus videos, ya que suelo perderme las novedades , siento que con este canal me pongo un poco al dia, además de conocer funcionalidades nuevas ( viejas también que no sabia que estaban ) Gracias por siempre compartir.
Muchas gracias a ti por seguir todos los videos. Me alegro mucho de que te sirva mi contenido, ya sabes que si hay algo de lo que quieras que hablemos en el canal puedes comentármelo y lo valoraré.
Hermoso video, gracias por compartir tus conocimientos. Sin duda alguna me uniré al canal de Telegram. Saludos
Muchas gracias Cesar, bienvenido a la comunidad de Telegram, charlamos por ahí.
Me gusta el contenido, son cosas que solo he escuchado y quizás leído por algún lado cuando pero jamás visto en acción. Gracias por enseñarnos.!
Gracias por el comentario, me alegra que el contenido os sea de utilidad. Si tienes alguna sugerencia o quieres que tratemos algún tema en particular dímelo y trataré de traerlo aquí o al blog.
funciona sin dominio? solo un servidor en local y otro en en lugar diferente, como se podria en ese escenario?
Hola Jorge. Desde SQL Server 2017 existe la posibilidad de que Always On funcione sin WSFC pero requiere una serie de configuraciones extra y tiene muchas limitaciones. Trataré de dedicarle un video cuando pueda sacar un rato para montar toda la infra necesaria para las pruebas. Gracias por comentar
@@SoyDBA Gracias ojala te des un tiempo, ya que aveces no se cuenta con mucha infraestructura para tener varios servidores o se quiere implementar algo mas sencillo
Mucha suerte en tu charla :)) Pero sobre todo a pasarlo bien y disfrutar todo el que vaya!!!!
Seguro que si lo pasaremos genial. Una pena que no puedas venir. Pero al de Valencia si que vendrás !!
@SoyDBA esta vez estaré entre las sombras, pero Valencia nos está esperando jajajaja
Oh, interesante dato, no me habia puesto a hacer las comparativas. ¿Tienes alguna recomendación adicional que hayas usado para reducir los tiempos de backup de bases con teras de información ? ( pensado para una migración )
Hola, poco se puede hacer pero tampoco es que no puedas hacer nada para mejorar los tiempos de copia. Existen una serie de parámetros de la copia que son BLOCKSIZE, MAXTRANSFERSIZE y BUFFERCOUNT con los que puedes jugar. Me apunto preparar contenido sobre ello pero será en el blog ya que es más teórico. Si quieres algo más simple pero que igual no has tenido en cuenta echale un ojo a este artículo de Brent Ozar, tiene ya 8 años pero sigue siendo válido: www.brentozar.com/archive/2015/12/how-to-make-sql-server-backups-go-faster/
Hola, me parece excelente la información del video pero tú audio se corta demasiado, hay partes que se pierden totalmente y no entiendo nada.
Hola, gracias por el feedback. Ya me lo habéis dicho varios y es cierto, la calidad del audio de este video no está al nivel de los demás. Para mi el audio es una de las partes más importantes del video y que puede enturbiar todo lo demás. Trabajo mucho en edición en este sentido pero no soy ningún experto en la materia y a veces no llego. Espero que podáis perdonarlo y pondré los medios para mejorar en futuros videos. Si te ha quedado alguna duda sobre lo que se ve en el video por este tema o cualquier otro ponte en contacto conmigo a través del mail que aparece en mi perfil y lo comentamos sin problema. Gracias de nuevo y disculpa.
Amigo, puedes mejorar el audio?
Hola amigo, gracias por el feedback. Ya me lo habéis dicho varios y es cierto, la calidad del audio de este video no está al nivel de los demás. Para mi el audio es una de las partes más importantes del video y que puede enturbiar todo lo demás. Trabajo mucho en edición en este sentido pero no soy ningún experto en la materia y a veces no llego. Espero que podáis perdonarlo y pondré los medios para mejorar en futuros videos. Si te ha quedado alguna duda sobre lo que se ve en el video por este tema o cualquier otro ponte en contacto conmigo a través del mail que aparece en mi perfil y lo comentamos sin problema. Gracias de nuevo y disculpa.
Estuvo bueno el video, a pesar de que leía la descripción de las 4 , no tenía 100% claro su función, mucho menos de la 4ta que mencionaste. Gracias por las aclaraciones.
Genial, me alegro mucho. Para eso era este vídeo, para entenderlo.
Ese ChatGPT sabe más que muchos supuestos DBA que he conocido en varias empresas. XD
Entonces le contratamos para el canal?
Gracias por tus videos, aunque haya poca gente hay quienes lo consideramos muy importante , corto pero preciso.
Muchas gracias por tu comentario. Lo importante es la calidad no la calidad y en eso puedo estar orgulloso. Me alegro que te haya servido el vídeo.
Muchas gracias por la explicación y por los scripts. Buena información
Gracias a ti por ver y comentar mi video. Me alegro que te haya sido de utilidad
Muy interesante Roberto. Lo que creo que hay que saber también es que activar el Query Store puede tener implicaciones en el rendimiento de las BBDDs y necesitas tener más espacio en disco. Siempre me ha pasado con recursos de este tipo, recuerdo las complicaciones de activar trazas, extended events, etc, que cuando tienes máquinas con recursos limitados y ya sobrecargadas no es muy viable.
Buenas Daniel, es un tema muy interesante que da para mucho más que una respuesta rápida de un comentario. Me lo apunto para analizarlo con detenimiento en el blog. Mientras tanto, algo te puedo adelantar. Obviamente QueryStore agrega carga de trabajo al servidor pero realmente es una sobrecarga mínima que no va a ser perceptible más que en casos muy concretos. En cuanto al espacio en disco, es configurable, con un máximo de 10 Gb en bases de datos de Azure y sin límite en las versiones de SQL Server on-premise. Sobre el consumo de CPU y RAM piensa que todo los datos de QureyStore se almacenan de manera asíncrona por lo que no afectan a la ejecución de la consulta directamente. Indirectamente si que consume recursos pero ten en cuenta que QueryStore va a usar sus propios clerks de memoria para almacenar los datos en caché antes de volcarlos a disco (flush) en intervalos configurables. El principal problema del rendimiento de esta herramienta nos lo encontramos cuando el espacio reservado en disco llega al máximo y se deben borrar datos pero esto es fácilmente evitable con limpiezas programadas en horas de menos carga de trabajo. Además desde SQL Server 2019 tenemos un modo de captura CUSTOM que nos permite limitar mucho la información capturada. Tras todo esto, yo solo he visto que pueda generar problemas de rendimiento en servidores con una alta carga de consultas ad-hoc con muchos (muchísimos) batch/sec y, la mayoría de las veces, el problema era solucionable con una correcta configuración de captura de datos y, sobre todo, de la configuración de esos flush interval y mantenimiento de los datos almacenados.
@@SoyDBA Gracias por tu respuesta Roberto, será cuestión de hacer pruebas, la verdad es que no lo he probado nunca. Cuando abordo algún problema de rendimiento me suelo limitar a utilizar consultas a las DMVs, ver planes de ejecución, etc.
Muchas gracias por la explicación 😃
Gracias a ti por el comentario.
Buen video! Sé que el contenido iba de como solucionarlo, pero, ¿cómo rayos corrompiste la base de datos intencionalmente?
Existen varias maneras, que con una simple busqueda en google puedes encontrar. Yo no seré quién lo promocione ni te anima a hacerlo. Además ve con CUIDADO porque al hacerlo pierdes el soporte de Microsoft sobre esa base de datos. Sobre todo, no lo hagas JAMAS EN PRODUCCIÓN ya que puede no tener vuelta atrás y puedes incurrir en problemas legales como la empresa lo detecte.
@@SoyDBA jeje gracias por las advertencias, solamente era para hacer el lab. Me gusta hacer con mis manitas los ejercicios que veo en videos. Saludos!
@@totanlj18 mándame un mail a la dirección que tengo en el blog o escríbeme por LinkedIn y te lo paso
¡¡ ACLARACIÓN del video !! En la introducción os digo que tanto ROLLUP como CUBE son para ver el detalle de las operaciones más totales y subtotales. Sin embargo, finalizando el video comento que con la opción de ROLLUP solo tenemos los totales. Quiero decir, en ese punto final que lo que perdemos con ROLLUP frente a CUBE son los subtotales pero, sé seguimos viendo los totales. Lo IMPORTANTE es que en ambas opciones vemos los detalles que esos se ven siempre. Es la diferencia entre este tipo de operaciones y una agrupación simple sin modificadores.
En rendimiento cuánto afecta usar un having en vez de un where?
Por norma general no afecta al rendimiento. Me explico, tu puedes poner los filtros del WHERE en el HAVING (al revés no funciona), eso quiere decir que el motor de base de datos, al compilar la consulta va a detectar que eso es un filtro que debería ir en el WHERE y lo va a hacer antes del GROUP BY por lo tanto el orden lógico de ejecución de la consulta no se altera y por consiguiente tampoco el rendimiento. Si no fuese así, el menor de tus problemas sería el rendimiento, ya que el filtro no aplicaría antes del GROUP BY y el resultado no sería correcto.
Muy interesante! Muchas gracias por compartir.
Gracias por tu feedback, me alegro que te haya gustado.
Gracias Eres DBA, y que pasa Cuando estan consultando 10 facturadores al mismo tiempo la tabla producto y esta esta bloqueada por actualizacion o creaación de Productos nuevos, o se esta facturando y se esta grabando la tabla detalle de ventas, esto se bloquean momentaneamente y a veces se necesita emitir reportes. Yo uso wtih (nolock)...
Claro, en este caso tienes bloqueos porque tienes la configuración por defecto en tu base de datos y tiene un nivel de aislamiento READ COMMITTED, con un READ COMMITTED SNAPSHOT no tendrías ese problema ya que, mientras dura la actualización, se almacena el dato anterior en TempDB y cuando otra consulta lo quiere leer accede directamente a ese. De esta manera siempre vas a leer un dato confirmado y a la vez no tienes bloqueos. En los artículos que enlazo en la descripción del video lo explico más en detalle.
@@SoyDBA muchisimas gracias, por contestar y tu gran aporte, voy a leer, ahora mismo estoy buscando rendimiento y segun tu contestación entiendo porque se me bloquean, y a veces hastta tengo que reiniciar el servicio, yo uso 4 store procedure en los cuales uso tablas tipo variables no se si será esto tambien, al grabar envio unos parametros mas un xml este lo pongo en una variable tipo tabla y luego lo paso a las tablas en producción, sql server 2017.
@@servicioinformaticods y por qué has llegado al nolock? Has visto que los tiempos de espera mayoritarios son por bloqueos? Tienes un buen plan de mantenimiento de índices y estadísticas? Has visto en query store cuales de tus consultas son las que más consumen y las has optimizado ya? De todo esto tienes videos en el canal. Dale una vuelta y verás como mejora la cosa.
Se entendio bien, solo me confundia un poco quien era el target y quien era el source.
No es una sintaxis sencilla. Yo cuando comencé a aprenderla tuve que ver muchos ejemplos y casos de uso. Y al final solo terminas aprendiéndolo de verdad con el uso. Y cuando dejas de usarlo se te termina olvidando pero, no pasa nada, lo importante es saber que se puede hacer. Para buscar la sintaxis siempre tendrás este y otros cientos de videos y ya no hablemos de artículos escritos...
Voy contigo hasta el 100
Gracias por el comentario @yerkolopez3467 Me alegro que te guste. Permanece atento al canal que esta semana saldrá otro vídeo de esta serie y la semana que viene otros dos. Y así las próximas semanas hasta que lleguemos al final del programa que me he marcado para esta serie. También puedes encontrar todo el soporte que necesites en nuestro canal de Telegram SQL Server Español (enlace en la descripción de este video).
Precisó y conciso gracias
Gracias por el comentario Saray. Me alegro que te guste. Permanece atenta al canal que esta semana saldrá otro vídeo de esta serie y la semana que viene otros dos. Y así las próximas semanas hasta que lleguemos al final del programa que me he marcado para esta serie.
Duro tu contenido.
dale maquina buena info
Gracias 👍