Descargué el Kit de primeros auxilios de SQL Server del sitio web de Brent Ozar. Cuando intenté ejecutar el script sp_BlitzIndex en mi base de datos maestra a través de Microsoft Sql Server Management Studio mientras estaba conectado como administrador de nivel de servidor de la base de datos de Azure, recibí el siguiente error:
Mensaje 262, Nivel 14, Estado 18, Procedimiento sp_BlitzIndex, Línea 18 Permiso de CREAR PROCEDIMIENTO denegado en la base de datos 'maestro'.
Creé con éxito el procedimiento en la instancia de la base de datos que quería probar. Cuando ejecuté el procedimiento, recibí un error que decía:
Msg 50000, Nivel 16, Estado 1, Línea 1265 Nombre de objeto no válido 'mydatabase.sys.partitions'.
Luego intenté ser inteligente y ejecutar el código del procedimiento almacenado directamente en la base de datos maestra sin crear el procedimiento almacenado y obtuve el siguiente error:
Msg 50000, Nivel 15, Estado 1, Línea 1267 La referencia a la base de datos y / o el nombre del servidor en 'mydatabase.sys.indexes' no es compatible con esta versión de SQL Server.
No me siento lo suficientemente seguro como para comenzar a jugar con el funcionamiento interno de ~ 2700 líneas de lógica heurística de índice. ¿Existe una manera rápida y fácil de hacer que este procedimiento almacenado funcione bien en Azure SQL Database o debería buscar en otra parte una herramienta de análisis de índice / procedimiento almacenado?
sp_BlitzIndex
trabajar en V12, o todavía le faltan demasiados bits relevantes para que valga la pena? Siempre que tenga tiempo libre / demanda, por supuesto. :)sp_BlitzIndex
pero sospechosamente dice que no se encontraron problemas importantes. Sospecho que esto se debe a que la información requerida aún no está disponible en Azure. Cuando corro@mode=4
me sale un error.Algunas de las consultas 'estándar' para identificar índices faltantes se ejecutan en Azure, por ejemplo :
Es probable que sean mucho menos útiles
sp_BlitzIndex
pero que valen la pena intentarlo.Aquí hay otra consulta útil para identificar las principales consultas, que luego puede ejecutar con el Plan de ejecución para identificar los índices que faltan a través de SQL Management Studio. Tedioso haciéndolos uno por uno pero mejor que nada:
fuente