I'm fairly new to SQL. I've inherited a logging db that records the actions taken on a web service. One of the first questions I'm being asked to solve is to explain how I should concatenate the db and save older entries to a archived db.
I'm sure this is a pretty simple action - just identify the date I want to archive from and develop a query that copies all entries from before that time period to a separate db. I'm looking for some guidlines for this kind of action, but there's so much info on SQL out there, I'm having trouble parsing out the noise and finding the answers I'm looking for. Can anyone point me in the right direction, or give me advice?
Thanks
Levi
One way to do this is to create an SSIS package:
http://msdn2.microsoft.com/en-us/library/ms169917.aspx
|||Create a archiving table (Arch_Table) in the same db or different db with same schema.
insert into dbname..Arch_Table
select * from Table where dtColumn <= dateadd(mm, -3, getdate()) -- two archive 3months and older data
while 1 = 1
begin
set rowcount 100 delete 100 rows at a time... if you are using sql 2005 you can use top clause check bol for details
delete from Table where dtColumn <= (select max(dtColumn ) from dbname..Arch_Table )
If @.@.rowcount = 0
Break
end
sql
No comments:
Post a Comment