Optimizar el rendimiento de Sql Server al instante con SafePeak

Recientemente hemos descubierto esta gran aplicación (SafePeak) que puede mejorar muchísimo el rendimiento de nuestra base de datos M$ SQL Server sin realizar mucho esfuerzo.

La aplicación se sitúa entre nuestro site, y la base de datos. Para utilizarlo, solo tenemos que instalar, y cambiar el DSN de nuestra aplicación, para que las peticiones pasen primero por SafePeak.

SafePeak analiza las consultas que se hacen y si puede, las cacheará, mejorando radicalmente las siguientes consultas que sean idénticas.

Para consultas más complejas que se realicen a través de procedimientos almacenados, tenemos que enseñar a SafePeak con que criterio tiene que cachear las consultas.

En su panel de control, SafePeak te muestra los objetos dinámicos (por ejemplo los procedimientos almacenados) que va encontrando y provocan un borrado de la cache, para que pulsando sobre ellos, puedas decirle de que objetos de tu base de datos depende esa consulta y así poder gestionar mejor la cache.

Podéis encontrar mas detalles técnicos en este artículo.

Error de COLLATION “No se puede resolver el conflicto de intercalación entre…” en SqlServer

En nuestro caso, el error concreto era: No se puede resolver el conflicto de intercalación entre “Modern_Spanish_CI_AI” y “Modern_Spanish_CI_AS” de la operación like.

Esto sucede cuando intentas comparar dos columnas con diferente COLLATION.
CI_AI significa: Case Insensitive Accent Insensitive.
CI_AS significa: Case Insensitive Accent Sensitive.

La solución, pasa por determinar con cuál de los dos ‘collation’ queremos trabajar y cambiar el de la columna que corresponda.

Para ver que columna tiene que ‘collation’ solo tenemos que desplegar la tabla en el ‘Explorador de objetos’ de nuestro ‘SQL Server Management Studio’ y darle a botón derecho > propiedades, de la columna en cuestión.

Cuando ya lo tengamos claro, solo tenemos que cambiarlo manualmente o ejecutar el siguiente script (poniendo el tipo de datos de la columna que corresponda):

ALTER TABLE my_table ALTER COLUMN my_column varchar(2048) COLLATE Modern_Spanish_CI_AI

Esperamos que os sea de ayuda.