Date: Mon, 2 Jul 2007 20:58:34 +1000
Reply-To: d@dkvj.biz
Sender: "SAS(r) Discussion" <SAS-L@LISTSERV.UGA.EDU>
From: David Johnson <d@DKVJ.BIZ>
Subject: Re: Get Data Back
In-Reply-To: <07123CDF07D82249A6A840A789BC2EEE03B304E9@sges0004.essilor.com.sg>
Content-Type: text/plain; charset="iso-8859-1"
I see you have had a few pertinent questions already, and doubt that there
is any quick cure for this. However, I'll trot out some hoary old advice,
and some newer ideas you might not have considered, and perhaps you'll find
a way to reduce the chance of this happening again.
Backups are essential, the cost of setting them up is almost always
substantially less than the pain and cost of recovering from a major data
loss. I recognise that with really big tables, some sites cannot
effectively back up and restore large tables.
With critical reporting tables, especially large ones, I try always to have
a staging process. Some people configure this formally with Generation data
sets, which is a really good SAS centric way, but even creating your table
to a development area, validating it and swapping it into a Production area
gives you two versions of data to work with. Then you lock the Production
version so people can enquire on it but not change it.
Using the data set option (AlterPw =) is a great addition to this model
because although the password might be something obvious, you can't write a
data step to replace the table without thinking about and including the
password declaration.
When I write an update process like this, I test it first by commenting out
the library reference on the Data statement, so that the code is tested
against a work library. 6m rows is not huge, but if time is an issue the
global or data set options OBS reduce the amount of data you test. Just
make sure you restore these to MAX before uncommenting the library
reference.
I'm sorry to hear you've lost the work and regret this may not be the last
time this happens. It is an easy mistake to make, but by reviewing your
practices, and employing changed procedures in the future, you might reduce
the risk of this happening again.
Kind regards
David
-----Original Message-----
From: SAS(r) Discussion [mailto:SAS-L@LISTSERV.UGA.EDU]On Behalf Of VORA
Mihir
Sent: Monday, 2 July 2007 4:53 PM
To: SAS-L@LISTSERV.UGA.EDU
Subject: Get Data Back
Hi Folks,
I have an important table and by mistake I forgot to add the set statement
while trying to modify the dataset. Is there any way I can revert back to
the original dataset?
I should have used
data abc;
Set abc;
If x = "y" then ...;
Run;
However I ran it without the set statement so now I only have X variable
left in the whole dataset. Could you please help me get back the original
data? The table is a SPDE table and has millions of rows. Kindly reply asap
if anyone of you know the method or have any pointers. Thanks in advance.
Regards,
Mihir Vora