SQL Server, recomendaciones y tips varios

Soujiro

Fanático
Se incorporó
14 Enero 2008
Mensajes
1.428
No puede ser mas malo que mssql server, porquería a la que se le fragmentan los indices por que si, bueno ademas que te cobran un ojo de la cara por una feature critica como lo es el particionado de tablas.

Tenemos una tabla que tiene 2 indices uno fecha,pera y el opuesto pera,fecha , al insertar 5000 registros la huea a veces explota, obligando a reconstruir los indices. En mysql/mariadb jamas hemos tenido ese problema.

p.d Aunque reconozco que por mi odio a microsoft no me he metido en profundidad a ver como administrar esa mierda de mssl server
 

Harima

Pegao al tarro
Se incorporó
15 Mayo 2008
Mensajes
3.958
No puede ser mas malo que mssql server, porquería a la que se le fragmentan los indices por que si, bueno ademas que te cobran un ojo de la cara por una feature critica como lo es el particionado de tablas.

Tenemos una tabla que tiene 2 indices uno fecha,pera y el opuesto pera,fecha , al insertar 5000 registros la huea a veces explota, obligando a reconstruir los indices. En mysql/mariadb jamas hemos tenido ese problema.

p.d Aunque reconozco que por mi odio a microsoft no me he metido en profundidad a ver como administrar esa mierda de mssl server
SQL Server Best Practices Analyzer, es la luz "usarlo debes tú"
 
Upvote 0

_V

The Hateful Wish
Se incorporó
11 Abril 2008
Mensajes
2.671
No puede ser mas malo que mssql server, porquería a la que se le fragmentan los indices por que si, bueno ademas que te cobran un ojo de la cara por una feature critica como lo es el particionado de tablas.

Tenemos una tabla que tiene 2 indices uno fecha,pera y el opuesto pera,fecha , al insertar 5000 registros la huea a veces explota, obligando a reconstruir los indices. En mysql/mariadb jamas hemos tenido ese problema.

p.d Aunque reconozco que por mi odio a microsoft no me he metido en profundidad a ver como administrar esa mierda de mssl server

Yo lo tengo ultra tuneado y los indices a lo mas que se han fragmentado en dias con mucho registro es un 6% :risas

Fue mucha paja y lectura configurar y tunear bien la wea, pero afortunadamente en MSDN y :idolo stackoverflow hay varios manuales. Ahora el cluster maneja varias db de mas de 100 GB como si nada.

HANA es una bolsa de gatos :plaf2

Igual a mi siempre me habían comentado y yo tenía esa impresión de que mssql tendía a achancharse cuando las DB pasaban los 100GB, ya va en 130 la mas grande y no pasa nada.

o4K95Tj.png


Y wn, operación todo el dia, con respaldo diario y transaccionales cada 15 minutos, una locura.
Ademas de un WMS que crece 4GB a diario :risas hay que andarlo archivando al culiao.
 
Última modificación:
Upvote 0

Soujiro

Fanático
Se incorporó
14 Enero 2008
Mensajes
1.428
SQL Server Best Practices Analyzer, es la luz "usarlo debes tú"
Muchas Gracias, revisare eso
Yo lo tengo ultra tuneado y los indices a lo mas que se han fragmentado en dias con mucho registro es un 6% :risas

Fue mucha paja y lectura configurar y tunear bien la wea, pero afortunadamente en MSDN y :idolo stackoverflow hay varios manuales. Ahora el cluster maneja varias db de mas de 100 GB como si nada.

HANA es una bolsa de gatos :plaf2

Igual a mi siempre me habían comentado y yo tenía esa impresión de que mssql tendía a achancharse cuando las DB pasaban los 100GB, ya va en 130 la mas grande y no pasa nada.

o4K95Tj.png


Y wn, operación todo el dia, con respaldo diario y transaccionales cada 15 minutos, una locura.
Ademas de un WMS que crece 4GB a diario :risas hay que andarlo archivando al culiao.

El problema es la cantidad de información que hay que leer para saber por que carajos se rompe, cosa de replicar el problema a propósito y recién allí tunear. En un principio no tenia el tiempo necesario y como ademas había una solución parche sobreviví con eso. Veré ahora si se puede "mejorar"
Nuestro ballenita de mariadb pesa 650GB y anda como la seda.
 
Upvote 0

_V

The Hateful Wish
Se incorporó
11 Abril 2008
Mensajes
2.671
Muchas Gracias, revisare eso


El problema es la cantidad de información que hay que leer para saber por que carajos se rompe, cosa de replicar el problema a propósito y recién allí tunear. En un principio no tenia el tiempo necesario y como ademas había una solución parche sobreviví con eso. Veré ahora si se puede "mejorar"
Nuestro ballenita de mariadb pesa 650GB y anda como la seda.

Mira, yo no encuentro que mssql sea mal motor de BD. Claramente no está a la altura de Oracle, pero es bastante decente.

Ahora, lo que si es callampa es que muchos "windows sysadmins" creen que el mssql es como todo lo de windows: "llegar y usar"
Instalan el servidor, el motor y dejan la hueá ahí, como si estuviera listo (por que claro funciona, pero con unos parámetros como el orto). Ningún Motor de BD funciona altiro, y todos requieren un tuneo pajero y latero en el que hay que leer y dimensionar al principio. En linux es costumbre por que TODO funciona así, hay que configurar un montón de hueas antes de echar a andar algo, y se hace a conciencia.

Esa es una de las malas costumbres que dejó MS.

El típico problema es: "el servidor anda terrible pajero", si wn, yo igual he ido a ver servidores y claro, andan pajeros como ellos solos. Pero reviso la configuración del servidor (tipico: pero si tiene 48GB y 8 nucleos y anda pajero... y miro la config del sql y está con afinidad a todos los nucleos :plaf2 y la ram sin límite :plaf2 :plaf2), entonces el so del server anda con las puras migajas.
 
Upvote 0

Harima

Pegao al tarro
Se incorporó
15 Mayo 2008
Mensajes
3.958
Muchas Gracias, revisare eso

"el servidor anda terrible pajero",

El SQL Server Best Practices Analyzer revisa todo, hasta te aconseja la cración de nuevos indices, cuanto cuesta cada consulta, etc etc. es la raja para tunear el server, como va tomando los tiempos del uso real de las consultas, el impacto en los cambios sobre la BD se notan harto, nosotros configuramos las alertas y cualquier cosa que pasa con los servers nos llega por correo directo del MSSQL. aparte de los sistemas de monitoreo, nuestros sistemas usabamos un cluster de casi un tera y diariamente se insertaban como 1 millón de registros, y la wea andaba pulento. le doy unos jumbitos al SQL, porque Oracle no me puede gustar, y los demás motores son de juguete se rompen solas las weas.
 
Upvote 0

Harima

Pegao al tarro
Se incorporó
15 Mayo 2008
Mensajes
3.958
Oye @Harima, tírate más datos del SQL Server Best Practices Analyzer porfa.
Dejame buscar un server que este en uso, ya que como nos cambiamos a azure, esas cosas se ven desde el portal de administración.
Antes se llamaba query analyzer por si a alguien le suena.
Voy a ver si me hago una presentación de como funciona o por lo menos para lo que era útil para nosotros.

Asi son los correos de azure

report.png

Acá un video con una explicacion pequeña
 
Upvote 0

Harima

Pegao al tarro
Se incorporó
15 Mayo 2008
Mensajes
3.958
Como comente, ya es poco lo que usamos de SQL Server, ya que nos cambiamos a Azure, y la cosa es distinta.

El enfoque depende de si eres programador o si eres administrador.

Al comienzo por ejemplo acá usan tablas normales, en el cluster, que lo teniamos balsamente como activo activo

En windows 2003 tenias un minimo de dos maquinas con un disco compartido (como minimo), luego si una maquina se moria, la segunda tomaba el control, acá es donde venia la pilleria del Chileno, generabas un cluster y dejabas la maquina A como master, luego generabas un segundo cluster con la maquina B como master, entonces utilizabas las dos maquinas todo el tiempo, y si tenias que hacer algo en una maquina movias los dos cluster a la maquina A por ejemplo meientras actualizabas o reiniciabas la maquina B, así aunque bajara un poco el rendimiento tenias un uptime más alto.
Ahora solo se usan tablas federadas por años, y meses, entonces si haces busquedas simples lo haces solo sobre una porcion del total de información.
Otro campo que nos facilito mucho el rendimiento era duplicar el campo de las fechas, ya que como saben el DateTime es bastante complejo, teniamos un segundo campo pero Integer, con la fecha en formato año mes día (20170828), si bien va contra la normalización, al momento de ejecutar busquedas, el costo baja considerablemente, en especial en reporteria.
Otro punto importante es saber cuales son las tablas que tienen mas consultas (IOPS) y esas dejarlas solitas en su partición dedicada para rendimiento.

en esos tiempos creo que la herramienta se llamaba sql query analyzer, lo que hacia era loggear todas las consultas y hacia un top por costo, asi te decia que la consulta xxx o x procedimiento almacenado es la que más recursos consume, y adicionalmente te daba sugerencias de crear indices para tales tablas.

eso recuerdo por ahora, si me acuerdo las pongo mas ordenas, que soy pesimo redactando.
 
Upvote 0

_V

The Hateful Wish
Se incorporó
11 Abril 2008
Mensajes
2.671
Yo acá tengo un failover cluster de 2 nodos en 2008r2 conectado a un IBM v7000 por fibra :zippy
 
Upvote 0

Soujiro

Fanático
Se incorporó
14 Enero 2008
Mensajes
1.428
ahhhh el query analizer.... Uta eso nos sirvió la otra vez para arreglar una app muy antigua (se podía hacer cache por código). Pero con mi problema de corrupcion del indice no nos sirvio de mucho.
 
Upvote 0

Zuljin

Fundador
Miembro del Equipo
Fundador
ADMIN
Se incorporó
15 Enero 2004
Mensajes
11.872
Ping expertos en SQL Server...

Pretendo migrar una plataforma SQL Server Estandar 2014 a Enterprise. ¿Hay alguna característica propia de Enterprise que sea muy recomendable activar?
 
Upvote 0

K3rnelpanic

non serviam
Miembro del Equipo
MOD
Se incorporó
1 Octubre 2007
Mensajes
6.065
Upvote 0

Zuljin

Fundador
Miembro del Equipo
Fundador
ADMIN
Se incorporó
15 Enero 2004
Mensajes
11.872
¿Se sorprenden del costo de SQL Server Enterprise? Cuando vean lo que cuesta Oracle DB Enterprise se caen de culo. Eso si, hay que reonocer que Oracle DB Enterprise es la real cumbia compadre.
 
Upvote 0

Zuljin

Fundador
Miembro del Equipo
Fundador
ADMIN
Se incorporó
15 Enero 2004
Mensajes
11.872
Upvote 0

Harima

Pegao al tarro
Se incorporó
15 Mayo 2008
Mensajes
3.958
Voy a ver eso del particionamiento. Si es tan la raja como en Oracle pues lo aplico.
por lo menos teniamos 4 tablas que tenian muchas consultas y las teniamos en su propia particion conectada por fibra y si aumentaba mucho el rendimiento.
 
Upvote 0

Zuljin

Fundador
Miembro del Equipo
Fundador
ADMIN
Se incorporó
15 Enero 2004
Mensajes
11.872
¿SQL Server 2014 Enterprise tiene creación automática de particiones? Por ejemplo:

Tenemos una tabla con un campo de fecha de ingreso. Particionamos la tabla por ese campo, cada partición será de un mes. ¿Es necesario estar todos los meses creando la nueva partición, o hay alguna manera de que el motor lo cree por si solo?
 
Upvote 0

Harima

Pegao al tarro
Se incorporó
15 Mayo 2008
Mensajes
3.958
¿SQL Server 2014 Enterprise tiene creación automática de particiones? Por ejemplo:

Tenemos una tabla con un campo de fecha de ingreso. Particionamos la tabla por ese campo, cada partición será de un mes. ¿Es necesario estar todos los meses creando la nueva partición, o hay alguna manera de que el motor lo cree por si solo?
Recuerdo que se configuraba por un campo fecha y hacia las particiones solas, dejame buscar si encuentro como se hacia.


Offtopic, alguien tiene por ahí alguna BD más o menos grande para hacer pruebas? yo no puedo usar las de acá porque tienen información confidencial como para hacer tutoriales.
 
Upvote 0
Subir