Reindexar

10/09/2007 - 23:28 por Jose Luis | Informe spam
Alguien me da una idea de como hacer un store proc. que me haga una
reconstruccion o mantenimiento de los indices de todas las tablas de mi base
de datos en la version del 2000 ?

JL

Preguntas similare

Leer las respuestas

#1 Isaias
10/09/2007 - 23:48 | Informe spam
Jose Luis

Para eso existen los PLANES DE MANTENIMIENTO, crea uno y quitate de problemas.
Saludos
IIslas


"Jose Luis" wrote:

Alguien me da una idea de como hacer un store proc. que me haga una
reconstruccion o mantenimiento de los indices de todas las tablas de mi base
de datos en la version del 2000 ?

JL



Respuesta Responder a este mensaje
#2 Alejandro Mesa
11/09/2007 - 00:12 | Informe spam
Jose Luis,

Te recominedo que leas sobre el comando DBCC SHOWCONTIG es los libros en
linea. En ese topico encontraras un ejemplo de como usar esta informacion
para defragmentar los indices. Tambien lee sobre DBCC DBREINDEX.

Microsoft SQL Server 2000 Index Defragmentation Best Practices
http://www.microsoft.com/technet/pr...kidbp.mspx

AMB


"Jose Luis" wrote:

Alguien me da una idea de como hacer un store proc. que me haga una
reconstruccion o mantenimiento de los indices de todas las tablas de mi base
de datos en la version del 2000 ?

JL



Respuesta Responder a este mensaje
#3 Sebastian
11/09/2007 - 23:02 | Informe spam
Jose Luis, esta es una manera de escribir un script que te actualice las
estadisticas de los indices y te los reconstulla, de todas la tablas de la
DB, pero este proceso puede ser extenso por lo cual te sugeriria que
selecciones las tablas que realmente necesitas reindexar.

Saludos y espero tus comentarios.

SET NOCOUNT ON;
DECLARE @base VARCHAR(100),
@table VARCHAR(254)

SET @base = (DB_NAME())

DECLARE statis CURSOR SCROLL LOCAL FOR SELECT NAME FROM SYSOBJECTS WHERE
XTYPE = 'U'
OPEN statis
FETCH FIRST FROM statis INTO @table
WHILE @@FETCH_STATUS = 0
BEGIN
EXEC ('UPDATE STATISTICS ' + @table + ' WITH FULLSCAN, ALL')
DBCC DBREINDEX (@table)

FETCH NEXT FROM statis INTO @table
END

CLOSE statis
DEALLOCATE statis


"Alejandro Mesa" wrote:

Jose Luis,

Te recominedo que leas sobre el comando DBCC SHOWCONTIG es los libros en
linea. En ese topico encontraras un ejemplo de como usar esta informacion
para defragmentar los indices. Tambien lee sobre DBCC DBREINDEX.

Microsoft SQL Server 2000 Index Defragmentation Best Practices
http://www.microsoft.com/technet/pr...kidbp.mspx

AMB


"Jose Luis" wrote:

> Alguien me da una idea de como hacer un store proc. que me haga una
> reconstruccion o mantenimiento de los indices de todas las tablas de mi base
> de datos en la version del 2000 ?
>
> JL
>
>
>
Respuesta Responder a este mensaje
#4 Alejandro Mesa
12/09/2007 - 00:28 | Informe spam
Sebastian,

Si vas a reindexar todos los indices de la tabla, entonces no hace falta
actualizar todas las estadisticas, puesto que en ellas hallaras las
estadisticas de los indices, las cuales son actuallizadas al ejecutar DBCC
DBREINDEX.


AMB

"Sebastian" wrote:

Jose Luis, esta es una manera de escribir un script que te actualice las
estadisticas de los indices y te los reconstulla, de todas la tablas de la
DB, pero este proceso puede ser extenso por lo cual te sugeriria que
selecciones las tablas que realmente necesitas reindexar.

Saludos y espero tus comentarios.

SET NOCOUNT ON;
DECLARE @base VARCHAR(100),
@table VARCHAR(254)

SET @base = (DB_NAME())

DECLARE statis CURSOR SCROLL LOCAL FOR SELECT NAME FROM SYSOBJECTS WHERE
XTYPE = 'U'
OPEN statis
FETCH FIRST FROM statis INTO @table
WHILE @@FETCH_STATUS = 0
BEGIN
EXEC ('UPDATE STATISTICS ' + @table + ' WITH FULLSCAN, ALL')
DBCC DBREINDEX (@table)

FETCH NEXT FROM statis INTO @table
END

CLOSE statis
DEALLOCATE statis


"Alejandro Mesa" wrote:

> Jose Luis,
>
> Te recominedo que leas sobre el comando DBCC SHOWCONTIG es los libros en
> linea. En ese topico encontraras un ejemplo de como usar esta informacion
> para defragmentar los indices. Tambien lee sobre DBCC DBREINDEX.
>
> Microsoft SQL Server 2000 Index Defragmentation Best Practices
> http://www.microsoft.com/technet/pr...kidbp.mspx
>
> AMB
>
>
> "Jose Luis" wrote:
>
> > Alguien me da una idea de como hacer un store proc. que me haga una
> > reconstruccion o mantenimiento de los indices de todas las tablas de mi base
> > de datos en la version del 2000 ?
> >
> > JL
> >
> >
> >
Respuesta Responder a este mensaje
#5 principiante
12/09/2007 - 01:02 | Informe spam
Una pregunta:

Fuera de eso que apuntas, es practico usar un script como el que propone
Sebastián para ese propósito ?

Gracias


Jose TH


"Alejandro Mesa" escribió en el
mensaje news:
Sebastian,

Si vas a reindexar todos los indices de la tabla, entonces no hace falta
actualizar todas las estadisticas, puesto que en ellas hallaras las
estadisticas de los indices, las cuales son actuallizadas al ejecutar DBCC
DBREINDEX.


AMB

"Sebastian" wrote:

Jose Luis, esta es una manera de escribir un script que te actualice las
estadisticas de los indices y te los reconstulla, de todas la tablas de
la
DB, pero este proceso puede ser extenso por lo cual te sugeriria que
selecciones las tablas que realmente necesitas reindexar.

Saludos y espero tus comentarios.

SET NOCOUNT ON;
DECLARE @base VARCHAR(100),
@table VARCHAR(254)

SET @base = (DB_NAME())

DECLARE statis CURSOR SCROLL LOCAL FOR SELECT NAME FROM SYSOBJECTS WHERE
XTYPE = 'U'
OPEN statis
FETCH FIRST FROM statis INTO @table
WHILE @@FETCH_STATUS = 0
BEGIN
EXEC ('UPDATE STATISTICS ' + @table + ' WITH FULLSCAN, ALL')
DBCC DBREINDEX (@table)

FETCH NEXT FROM statis INTO @table
END

CLOSE statis
DEALLOCATE statis


"Alejandro Mesa" wrote:

> Jose Luis,
>
> Te recominedo que leas sobre el comando DBCC SHOWCONTIG es los libros
> en
> linea. En ese topico encontraras un ejemplo de como usar esta
> informacion
> para defragmentar los indices. Tambien lee sobre DBCC DBREINDEX.
>
> Microsoft SQL Server 2000 Index Defragmentation Best Practices
> http://www.microsoft.com/technet/pr...kidbp.mspx
>
> AMB
>
>
> "Jose Luis" wrote:
>
> > Alguien me da una idea de como hacer un store proc. que me haga una
> > reconstruccion o mantenimiento de los indices de todas las tablas de
> > mi base
> > de datos en la version del 2000 ?
> >
> > JL
> >
> >
> >
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida