TN288WAS - Mantenimiento BBDD de GR

TN288WAS - Mantenimiento BBDD de GR

Proceso de mantenimiento de la BBDD de GR usando el SQL Server Management Studio (SSMS).

- Asegurarse de que toda comunicación con la BBDD de GR está parada como IDEs, SMC o ObjectViewer abiertos.
- Entrar al SSMS,  ejecutar primero el script , 1. Rebuildindexes para la reindiexación de todos los índices de cada tabla en la SQL que se haya generado a medida que se va desarrollando y modificando la galaxia desde el IDE.
- Importante seleccionar la línea 7 o línea 8 del script anterior (por defecto la línea 8 está comentada), ya que es importante para apuntar bien al nombre de la BBDD de la galaxia.
- Una vez finalizado, que tardará unos 5-10min, ejecutar el script 2. Updatestats para actualizar las estadísticas de las tablas y los índices de la BBDD.




1. Rebuildindexes;

  1. DECLARE @Database NVARCHAR(255)   
  2. DECLARE @Table NVARCHAR(255)  
  3. DECLARE @cmd NVARCHAR(1000)  
  4. DECLARE DatabaseCursor CURSOR READ_ONLY FOR  
  5. SELECT name FROM master.sys.databases   
  6. WHERE name NOT IN ('master','msdb','tempdb','model','distribution')  -- Aquí se indicaría que BBDD queremos excluir, que las incluidas son las del sistema SQL.
  7. --WHERE name IN ('DB1', 'DB2') -- Aquí se indicaría a que BBDD queremos apuntar directamente
  8. AND state = 0 -- database is online
  9. AND is_in_standby = 0 -- database is not read only for log shipping
  10. ORDER BY 1  
  11. OPEN DatabaseCursor  
  12. FETCH NEXT FROM DatabaseCursor INTO @Database  
  13. WHILE @@FETCH_STATUS = 0  
  14. BEGIN  
  15.    SET @cmd = 'DECLARE TableCursor CURSOR READ_ONLY FOR SELECT ''['' + table_catalog + ''].['' + table_schema + ''].['' +  
  16.    table_name + '']'' as tableName FROM [' + @Database + '].INFORMATION_SCHEMA.TABLES WHERE table_type = ''BASE TABLE'''   
  17.    -- create table cursor  
  18.    EXEC (@cmd)  
  19.    OPEN TableCursor   
  20.    FETCH NEXT FROM TableCursor INTO @Table   
  21.    WHILE @@FETCH_STATUS = 0   
  22.    BEGIN
  23.       BEGIN TRY   
  24.          SET @cmd = 'ALTER INDEX ALL ON ' + @Table + ' REBUILD' 
  25.          --PRINT @cmd -- uncomment if you want to see commands
  26.          EXEC (@cmd) 
  27.       END TRY
  28.       BEGIN CATCH
  29.          PRINT '---'
  30.          PRINT @cmd
  31.          PRINT ERROR_MESSAGE() 
  32.          PRINT '---'
  33.       END CATCH
  34.       FETCH NEXT FROM TableCursor INTO @Table   
  35.    END   
  36.    CLOSE TableCursor   
  37.    DEALLOCATE TableCursor  
  38.    FETCH NEXT FROM DatabaseCursor INTO @Database  
  39. END  
  40. CLOSE DatabaseCursor   
  41. DEALLOCATE DatabaseCursor



2. Updatestats;

  1. EXEC dbo.sp_updatestats



Este proceso sería recomendable siempre que se estén realizando modificaciones e importaciones en GR constantemente debido a un desarrollo de la galaxia por un usuario o distintos. Su frecuencia será proporcional a la cantidad de éstas modificaciones. Una vez en producción/runtime sin modificaciones, la BBDD de GR sería totalmente estática, por lo que su mantenimiento será mínimo.


Nota Importante: Esta nota técnica se entrega “as is”, es decir, como complemento a la documentación del producto, pero no incluido dentro del ámbito del Soporte Técnico. Por tanto, cualquier mal funcionamiento derivado del contenido de esta nota técnica no es responsabilidad de Becolve Digital.