miércoles, 23 de marzo de 2011

Analizar y fragmentación del índice fijo en SQL Server 2008

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]
GO
Rellenar 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