Principales respuestas
Script para reparar indices SQL SERVER 2008

Pregunta
-
Tengo un Script para detectar la desfragmentacion de SQL en todas las demás instancias que tengo en el servidor funciona perfectamente, pero al querer correrlo en la instancia de produccion me manda el siguiente error
Msg 102, Level 15, State 1, Line 7
Incorrect syntax near '('.Este es el código..
SELECT dbschemas.[name] AS 'Schema',dbtables.[name] AS 'Table',dbindexes.[name] AS 'Index',indexstats.avg_fragmentation_in_percent AS 'Frag (%)',indexstats.page_count AS 'Page count'FROM sys.dm_db_index_physical_stats (DB_ID(), NULL, NULL, NULL, NULL) AS indexstatsINNER JOIN sys.tables dbtables ON dbtables.[object_id] = indexstats.[object_id]INNER JOIN sys.schemas dbschemas ON dbtables.[schema_id] = dbschemas.[schema_id]INNER JOIN sys.indexes AS dbindexes ON dbindexes.[object_id] = indexstats.[object_id]AND indexstats.index_id = dbindexes.index_idWHERE indexstats.database_id = DB_ID()ORDER BY indexstats.avg_fragmentation_in_percent DESC
Necesito revisar desgragmentacion para seguir la reparacion.
Respuestas
-
Deleted
- Propuesto como respuesta Pablo RubioModerator martes, 22 de octubre de 2019 18:14
- Marcado como respuesta ChristianGtz miércoles, 23 de octubre de 2019 18:27
-
El error reportado está en la línea 7. Sin embargo, la forma en que copió el script hizo que ocupara una sola línea, lo que le impidió averiguar qué contiene la línea 7.
Le sugiero que conozca los scripts de Ola Hallengren: SQL Server Backup, Integrity Check, and Index and Statistics Maintenance.
También hay una colección de scripts powershell en la página de dbaTools.
José Diz Belo Horizonte, MG - Brasil [query performance tuning: Porto SQL]
Este conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita.
- Propuesto como respuesta Pablo RubioModerator miércoles, 23 de octubre de 2019 17:00
- Marcado como respuesta ChristianGtz miércoles, 23 de octubre de 2019 18:27
Todas las respuestas
-
Hola ChistianGtz:
Creo que estas confundiendo el orden de cosas.
Necesito revisar desgragmentacion para seguir la reparacion.
Necesitas reparar la base de datos para poder ejecutar los scripts que simplemente te muestran información de las vistas dinámicas del sistema sobre el estado de los índices.
SELECT dbschemas.[name] AS 'Schema',dbtables.[name] AS 'Table',dbindexes.[name] AS 'Index', indexstats.avg_fragmentation_in_percent AS 'Frag (%)',indexstats.page_count AS 'Page count' FROM sys.dm_db_index_physical_stats (DB_ID(), NULL, NULL, NULL, NULL) AS indexstats INNER JOIN sys.tables dbtables ON dbtables.[object_id] = indexstats.[object_id] INNER JOIN sys.schemas dbschemas ON dbtables.[schema_id] = dbschemas.[schema_id] INNER JOIN sys.indexes AS dbindexes ON dbindexes.[object_id] = indexstats.[object_id] AND indexstats.index_id = dbindexes.index_id -- ORDER BY indexstats.avg_fragmentation_in_percent DESC
Si la ejecutas en una ventana del Management, te devuelve información de la base de datos de la conexión.
Para reparar la base de datos, lo primero siempre un backup completo.
Restaura la copia en un server de test, y aplica una reparación.
Cuando tengas bien claro como funciona, y si resuelve tu problema, lo aplicas en producción.
- Propuesto como respuesta Pablo RubioModerator lunes, 21 de octubre de 2019 21:02
-
Deleted
- Propuesto como respuesta Pablo RubioModerator martes, 22 de octubre de 2019 18:14
- Marcado como respuesta ChristianGtz miércoles, 23 de octubre de 2019 18:27
-
El error reportado está en la línea 7. Sin embargo, la forma en que copió el script hizo que ocupara una sola línea, lo que le impidió averiguar qué contiene la línea 7.
Le sugiero que conozca los scripts de Ola Hallengren: SQL Server Backup, Integrity Check, and Index and Statistics Maintenance.
También hay una colección de scripts powershell en la página de dbaTools.
José Diz Belo Horizonte, MG - Brasil [query performance tuning: Porto SQL]
Este conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita.
- Propuesto como respuesta Pablo RubioModerator miércoles, 23 de octubre de 2019 17:00
- Marcado como respuesta ChristianGtz miércoles, 23 de octubre de 2019 18:27