Es muy común que con el tiempo las tablas de SQL Server y los índices tienden a fragmentarse. La fragmentación sucede generalmente cuando los datos en las tablas subyacentes en los que existe un índice se modifica. La modificación de datos, básicamente, puede ser una inserción, actualización o una operación de eliminación. Los índices a través del tiempo se vuelven ineficaces porque se fragmentan. En este artículo podrás ver un ejemplo de cómo un índice se fragmenta y los pasos que el administrador de base de datos debe tener para corregir fragmentaciones índice.
Ejemplo para analizar y corregir la fragmentación de índice en SQL Server 2008Siga los pasos mencionados a continuación para ver cómo se produce una fragmentación del índice en una tabla que tiene índices definidos en él. Y, finalmente, podrás ver los pasos que debes seguir para solucionar problemas de índice de fragmentación.
Crear base de datos AnalyzeFragmentationEn primer lugar vamos a crear una base de datos nueva denominada AnalyzeFragmentation para este ejemplo. Base de datos se pueden crear mediante la ejecución de los mencionados a continuación TSQL consulta.
El uso principal
GO
IF EXISTS (SELECT nombre sys.databases DE WHERE nombre = N'AnalyzeFragmentation ')
DROP DATABASE [AnalyzeFragmentation]
GO
CREAR BASE DE DATOS AnalyzeFragmentation
GO Crear tabla en la base de datos FindAndFixFragmentation AnalyzeFragmentation El siguiente paso será crear una nueva tabla denominada FindAndFixFragmentation dentro de la base de datos AnalyzeFragmentation.
USO AnalyzeFragmentation
GO
SI OBJECT_ID (N'dbo. FindAndFixFragmentation, N'U ') no es NULL
GOTA dbo.FindAndFixFragmentation CUADRO;
GO
/ * Crear * FindAndFixFragmentation Tabla /
CREATE TABLE [dbo]. [FindAndFixFragmentation]
(
[AddressID] [int] NOT NULL,
[AddressLine1] [nvarchar] (60) NOT NULL,
[Ciudad] [nvarchar] (30) NOT NULL,
[PostalCode] [nvarchar] (15) NOT NULL,
[ModifiedDate] [fecha y hora] NOT NULL,
[ROWGUID] [UNIQUEIDENTIFIER] NOT NULL
)
ON [PRIMARY]
GORellenar la tabla FindAndFixFragmentation usando el siguiente código TSQLEl siguiente paso será rellenar la tabla FindAndFixFragmentation que haya creado anteriormente por la ejecución de los mencionados a continuación el código TSQL. Para este ejemplo vamos a utilizar los datos que está disponible en el cuadro Person.Address disponible en la base de datos AdventureWorks.
USO AnalyzeFragmentation
GO
/ * Rellenar FindAndFixFragmentation tabla con datos de AdventureWorks.Person.Address * /
INSERT INTO FindAndFixFragmentation
SELECCIONAR
AddressID,
AddressLine1,
Ciudad,
Código postal,
ModifiedDate,
ROWGUID
DE AdventureWorks.Person.Address
GO
No hay comentarios:
Publicar un comentario