BORRADO MASIVO

04/12/2006 - 22:37 por Federico Martinez | Informe spam
Hola grupo!, mi problema es el siguiente:

Se tiene un sistema en VB que desde dentro manda ejecutar una instruccion
DELETE de 34000 registros pero manda un mensaje de timeout y no se completa
la operacion. Si se ejecuta la instruccion directamente desde el Query
Analizer funciona bien. Dicen que tiene que ver con el archivo de LOG.

Alguien me podria ayudar o decir algun tip al respecto?


Saludos.

Preguntas similare

Leer las respuestas

#1 Penta
04/12/2006 - 22:47 | Informe spam
Hola.
- Si quieres borrar todo lo que tiene la tabla usa TRUNCATE.
- Cuanto se demora desde el QA ?
- Cuanto le diste de Time Out en VB ?

Solucion parche, borrado en bloques.

Salu2.
Penta.


Federico Martinez ha escrito:

Hola grupo!, mi problema es el siguiente:

Se tiene un sistema en VB que desde dentro manda ejecutar una instruccion
DELETE de 34000 registros pero manda un mensaje de timeout y no se completa
la operacion. Si se ejecuta la instruccion directamente desde el Query
Analizer funciona bien. Dicen que tiene que ver con el archivo de LOG.

Alguien me podria ayudar o decir algun tip al respecto?


Saludos.
Respuesta Responder a este mensaje
#2 Maxi
05/12/2006 - 13:05 | Informe spam
Ojo con el truncate, no se puede usar siempre

<bol>
No puede utilizar TRUNCATE TABLE en una tabla a la que haga referencia una
restricción FOREIGN KEY; utilice en su lugar la instrucción DELETE sin una
cláusula WHERE. Como TRUNCATE TABLE no se registra, no puede activar un
desencadenador.

TRUNCATE TABLE no puede utilizarse en tablas que formen parte de una vista
indizada.

</bol>

Salu2

Microsoft MVP SQL Server
Culminis Speaker
INETA Speaker

"Penta" escribió en el mensaje
news:
Hola.
- Si quieres borrar todo lo que tiene la tabla usa TRUNCATE.
- Cuanto se demora desde el QA ?
- Cuanto le diste de Time Out en VB ?

Solucion parche, borrado en bloques.

Salu2.
Penta.


Federico Martinez ha escrito:

Hola grupo!, mi problema es el siguiente:

Se tiene un sistema en VB que desde dentro manda ejecutar una instruccion
DELETE de 34000 registros pero manda un mensaje de timeout y no se
completa
la operacion. Si se ejecuta la instruccion directamente desde el Query
Analizer funciona bien. Dicen que tiene que ver con el archivo de LOG.

Alguien me podria ayudar o decir algun tip al respecto?


Saludos.



Respuesta Responder a este mensaje
#3 Penta
05/12/2006 - 14:19 | Informe spam
Bueno como dice el maestro Maxi, ojo con el truncate, la idea es que
leas el BOL y según lo que necesitas determines si es factible el uso.

PS. Maxi me podrias comentas mas porque no usarla cuando la tabla tenga
FK ?

Salu2.
Penta.

Maxi ha escrito:

Ojo con el truncate, no se puede usar siempre

<bol>
No puede utilizar TRUNCATE TABLE en una tabla a la que haga referencia una
restricción FOREIGN KEY; utilice en su lugar la instrucción DELETE sin una
cláusula WHERE. Como TRUNCATE TABLE no se registra, no puede activar un
desencadenador.

TRUNCATE TABLE no puede utilizarse en tablas que formen parte de una vista
indizada.

</bol>

Salu2

Microsoft MVP SQL Server
Culminis Speaker
INETA Speaker

"Penta" escribió en el mensaje
news:
> Hola.
> - Si quieres borrar todo lo que tiene la tabla usa TRUNCATE.
> - Cuanto se demora desde el QA ?
> - Cuanto le diste de Time Out en VB ?
>
> Solucion parche, borrado en bloques.
>
> Salu2.
> Penta.
>
>
> Federico Martinez ha escrito:
>
>> Hola grupo!, mi problema es el siguiente:
>>
>> Se tiene un sistema en VB que desde dentro manda ejecutar una instruccion
>> DELETE de 34000 registros pero manda un mensaje de timeout y no se
>> completa
>> la operacion. Si se ejecuta la instruccion directamente desde el Query
>> Analizer funciona bien. Dicen que tiene que ver con el archivo de LOG.
>>
>> Alguien me podria ayudar o decir algun tip al respecto?
>>
>>
>> Saludos.
>
Respuesta Responder a este mensaje
#4 BitOne®
05/12/2006 - 17:27 | Informe spam
PRIMERO:

TRUNCATE y DELETE son identicos excepto que truncate no graba una entrada en
el registro mas que la de las
paginas que han sido movidas, mas DELETE guarda una entrada en el log de
transacciones por cada registro eliminado.

SEGUNDO:

TRUNCATE TABLE no pude ser utilizado en una tabla a la cual se aplique una
restrinccion FOREING KEY.

Ejemplo.

Esto fallaria.

use pubs
go
begin tran
truncate table titleauthor
truncate table authors
rollback
go


Esto Funciona

use pubs
go
begin tran
delete from titleauthor
delete from authors
rollback
go

TERCERO:

TRUNCATE TABLE posee de forma predeterminada los permisos del dueno de la
tabla y los miembros de la funcion fija

sysadmin, funciones de base de datos db_owner, db_ddladmin.



CUARTO:

Lo mas recomendable desde mi punto de vista en todo este caso es que te
armes un script el cual trabaje con las tablas existentes
debido a que no todos los dias creas una tabla o sea esta no es una tarea
tan rutinaria en los sitemas en produccion, y tambien por razones
de que asi evitas borrar datos que a lo mejor no quisieras, luego de armado
tu scripts puedes automatizar tu tarea de la mejor manera
posible.


Entonces dice [Eladio Rincón MVP SQL SERVER]:


http://siquelnet.com/default.aspx?T...p;Articulo2



Saludos,

BitOne®




"Penta" wrote in message
news:
Bueno como dice el maestro Maxi, ojo con el truncate, la idea es que
leas el BOL y según lo que necesitas determines si es factible el uso.

PS. Maxi me podrias comentas mas porque no usarla cuando la tabla tenga
FK ?

Salu2.
Penta.

Maxi ha escrito:

Ojo con el truncate, no se puede usar siempre

<bol>
No puede utilizar TRUNCATE TABLE en una tabla a la que haga referencia una
restricción FOREIGN KEY; utilice en su lugar la instrucción DELETE sin una
cláusula WHERE. Como TRUNCATE TABLE no se registra, no puede activar un
desencadenador.

TRUNCATE TABLE no puede utilizarse en tablas que formen parte de una vista
indizada.

</bol>

Salu2

Microsoft MVP SQL Server
Culminis Speaker
INETA Speaker

"Penta" escribió en el mensaje
news:
> Hola.
> - Si quieres borrar todo lo que tiene la tabla usa TRUNCATE.
> - Cuanto se demora desde el QA ?
> - Cuanto le diste de Time Out en VB ?
>
> Solucion parche, borrado en bloques.
>
> Salu2.
> Penta.
>
>
> Federico Martinez ha escrito:
>
>> Hola grupo!, mi problema es el siguiente:
>>
>> Se tiene un sistema en VB que desde dentro manda ejecutar una


instruccion
>> DELETE de 34000 registros pero manda un mensaje de timeout y no se
>> completa
>> la operacion. Si se ejecuta la instruccion directamente desde el Query
>> Analizer funciona bien. Dicen que tiene que ver con el archivo de LOG.
>>
>> Alguien me podria ayudar o decir algun tip al respecto?
>>
>>
>> Saludos.
>
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida