SQL - Un Gran problema borre una tabla con relaciones

 
Vista:

Un Gran problema borre una tabla con relaciones

Publicado por Efren (50 intervenciones) el 09/11/2004 01:55:39
En mi empresa hay un sistema de control de equipos mediante un software de ADVANTECH que cada minuto esta generando registros en el servidor SQL Server 2000 tenia ya el HD 97 Gb utilizados me dijeron que la depurara y lo hice mediante una sentencia SQL y el espacio no disminuia en lo mas minimo tomando en cuenta que le comprimia con el Shrink y no daba su brazo a torcer opte por eliminar la tabla manual mente.. osea boton derecho a la tabla y DELETE, anteriormente cree otra tabla con el mismo nombre y con los mismos campos pero con el # 2 y despues de eliminar la tabla la renombre para que quedara el mismo nombre, pero ahora resulta no me esta guardando nada de datos en la Tabla, tenia aproximada mente 62 millones de registros por eso oopte por borrarla de esa forma, ahora quiero regresarla como la tenia, NO HAY ALGUNA FORMA DE RECUPERAR LA TABLA BORRADA??? deduzco que no me graba los datos porque tenia relaciones y eso lo veo porque tenia varios campos llave en la tabla.. que puedo hacer para recuperar LA TABLA Y SEGUIR GUARDANDO DATOS... TENGO DE AQUI EL MIERCOLES PARA ARREGLAR ESO.. :(
GRACIAS DE ANTEMANO... ojala me pudieran echar la mano... animo ISAIAS se que tu puedes!!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Un Gran problema borre una tabla con relaciones

Publicado por Isaías Islas (5072 intervenciones) el 09/11/2004 02:01:03
Pues lo que cuentas es muy extraño, primero, si tenias RELACIONES, no te debio dejar BORRAR la tabla con el procedimiento que cuentas, por otro lado, la pregunta obligada, ¿TIENES RESPALDO?.

En cuanto a liberar espacio, si te refieres al espacio de la base, deberias primero verificar que espacio tiene ocupado

EXEC SP_SPACEUSED

Cuentame mas al respecto.....
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Un Gran problema borre una tabla con relaciones

Publicado por Efren (50 intervenciones) el 09/11/2004 02:25:11
Anteriormente corria este Query.. (te lo pongo en otro post)...

Como tardaba hras en terminar de ejecutarlo y al terminar comprimia la BD y nomas no disminuia nada, me desespere y la borre manualmente como te comente, ahora el sistema sigue trabajando pero no veo nada de datos en esa tabla, creo que esa tabla se llenaba de alguna otra manera porque los primeros 5 campos deberian tener la KEY cosa que no se la pude poner despues de volver a crearla.. los datos no me interesan, lo que me interesa es que siga guardando datos la aplicacion por eso quiero recuperar la tabla pasada los equipos siguen produciendo pero no me estan guardando nada de informacion.. eso paso esactamente despues que hice ese moviemiento de borrado.. :(
contestando a tus preguntas:
1.- no tengo respaldo.. como te decia los datos no me interesan porque los reportes que necesitaba los genere.. lo mas importante es que siga guardando porque los equipos producen miles de piesas diarias y tengo que estar registrando todo eso... :( que puedo hacer?

3 enterpriseName char 64 0
0 plantName char 64 0
0 deviceName char 64 0
0 deviceItemName char 32 0
0 sampleNumber int 4 0
0 sampletime datetime 8 0
0 sampleValue varchar 64 1

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

QUERY

Publicado por Efren (50 intervenciones) el 09/11/2004 02:25:34
select getdate()
BACKUP LOG wabash WITH TRUNCATE_ONLY;
declare @loop INT,
@intError INT

set @loop = 0
while @loop < 100
begin
create table deviceItemHistoryDelete (
sampleNumber int
)
insert into deviceItemHistoryDelete
select top 100000 sampleNumber from deviceItemHistory
where sampleTime < '2004-10-31 23:59:59'

delete deviceItemHistory from deviceItemHistory dih,deviceItemHistoryDelete dihd
where dih.sampleNumber = dihd.sampleNumber
SELECT @intError = @@ERROR
IF @intError <> 0
break
drop table deviceItemHistoryDelete
BACKUP LOG wabash WITH TRUNCATE_ONLY;
set @loop = @loop + 1
print @loop
end
select getdate()
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:QUERY

Publicado por Isaías Islas (5072 intervenciones) el 09/11/2004 17:46:29
Pues no comprendo mucho tu query, dudo mucho que esto funcione:

delete deviceItemHistory from deviceItemHistory dih,deviceItemHistoryDelete dihd
where dih.sampleNumber = dihd.sampleNumber

Ademas de que primero CREAS una tabla:

create table deviceItemHistoryDelete (
sampleNumber int
)

Y mas adelante la borras:

drop table deviceItemHistoryDelete

Por otro lado, tu "backup" solamente limpia el log de transacciones, pero NUNCA realizas un backup hacia algun dispositivo:

BACKUP LOG wabash WITH TRUNCATE_ONLY

¿Podrias explicarme eso?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

QUERY

Publicado por Efren (50 intervenciones) el 09/11/2004 18:07:21
Gracias Isaias por tu paciencia y por tu ayuda... te explico mas detalladamente...
Ese Query me lo mandan desde Indiana en el coorporativo, yo he querido modificarlo pero no me lo an permitido por "politicas", no solo ese hay muchos que se corren cada mes para eliminar registros ya que se generan millones de registros mensualmente y se que mas de alguno se le pueden hacer mejoras, ese es el Query que corri al principio pero como tardaba mucho y no reducia el espacio opte por eliminarla como ya te mencione, es hra que no he podido hacer que guarde los datos en la tabla que segun yo cree correctamente.. pero como te digo habia cinco campos que tenian la llavecita ahora solo la tiene un campo checate el post pasado.. trate de darle un RESTORE a la base de datos pero me arroja un error de que la BD esta siendo usada, paro todos los servicios y aun asi me arroja el error, lo unico que deso en este momento es que me siga guardando los datos en la tabla.. porque esa tabla es la mas importante del sistema, de ahi se basa para hacer algunos calculos y sacar algunos reportes diarios.. :( estoy entre la espada y la pared, porque no se gran cosa de SQL tengo un conociemiento medio.. que me aconsejas hacer???
Gracias de antemano Isaias!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:QUERY

Publicado por Isaías Islas (5072 intervenciones) el 09/11/2004 22:32:41
Te aconsejo, primero, NO EJECUTAR nada, si no sabes que hace el script, segundo, hacer un RESTORE de tu base, pero en OTRA BASE, para recuperar tu tabla.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:QUERY

Publicado por Efren (50 intervenciones) el 09/11/2004 23:06:47
Bueno muchas gracias por tu tiempo y tu consejo, lo tomare en cuenta.
a ver como salgo de esta,
gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar