?
Solved

Recreate a table with partitions

Posted on 2012-03-12
7
Medium Priority
?
195 Views
Last Modified: 2012-03-15
Hello!

i have a table X with dependencies to other tables,views and the works ( 325 million rows approx.)

cannot use export import as i have to delete the orig.table.
switch partition is not a option "I THINK?"

what do i do?

I MUST USE read only FILEGROUPS on this table. WHY? because of faster backup and the data will never change. ( create partitions for a quarter ( 4 months). most of the queries runs against this table (cannot create a historic DB) and other issues from the departments.
0
Comment
Question by:shanj
  • 4
  • 3
7 Comments
 
LVL 40

Expert Comment

by:lcohan
ID: 37714802
"
i have a table X with dependencies to other tables,views and the works ( 325 million rows approx.)

cannot use export import as i have to delete the orig.table.
switch partition is not a option "I THINK?"

what do i do?

"


Sorry but in my opinion is not clear what do you really need to do therefor could you let us know what the real task is?
Do you need to transfer that table into another server/database/table then drop it??
0
 

Author Comment

by:shanj
ID: 37715338
I would like to create a partition on this table. with about 24 filgroups.
each file group will represent a quater year.( 4 months)
Further more after each quarter  i would like to make these filegroups into read only filegroups. ( i will be taking partial backups?)
0
 
LVL 40

Expert Comment

by:lcohan
ID: 37716268
"I would like to create a partition on this table. with about 24 filgroups."
I suggest create a new table as above and populate it from the old one than drop the old one but of course do all these in a test environment even if you don't have the 325 million rows in test env.

"each file group will represent a quater year.( 4 months)"
Then why not
1 table with 3 partitions?
    1 old and inactive,
    1 current and active,
    1 future to have it ready for > currentdate + next quarter (4months)
1 archive table with same structure to hold your historical data and where you could switch out/attach obsolete(old and inactive) partitions from above table.

BTW - 1 quarter in my opinion = 3 months (not 4) so you will have a full year sliding window in the active partitioned table with 4 (right boundary) partitions.



"Further more after each quarter  i would like to make these filegroups into read only filegroups. ( i will be taking partial backups?)"

Above scenario works as well for "partial backups" if you consider each partition on its own physical filegroup and backup the one(s) at will.
0
Efficient way to get backups off site to Azure

This user guide provides instructions on how to deploy and configure both a StoneFly Scale Out NAS Enterprise Cloud Drive virtual machine and Veeam Cloud Connect in the Microsoft Azure Cloud.

 

Author Comment

by:shanj
ID: 37720067
I suggest create a new table as above and populate it from the old one than drop the old one ...

My problem is my old table has a lot of dependencies.?
0
 
LVL 40

Expert Comment

by:lcohan
ID: 37720087
I think if you create a new partitioned table and keep using the existing one as a read only history/archive you don't need to worry about dependencies however the new one must be obviously added to all the code using old one.
0
 

Author Comment

by:shanj
ID: 37720981
OK, this is a solution. i See it. not sure if the developers + users will accept this, they have to change a lot of rapports ( buisness Objects) and have 2 copies of the same report?
0
 
LVL 40

Accepted Solution

by:
lcohan earned 2000 total points
ID: 37721714
Another way to deal with what you just said would be to add this new partitioned table for active portion of data, rename the old one to original_table_name_history or something then create a VIEW  with identical name as old table and give exactly same permisions. I used this scenario pretty often when adding/changing object names were a pain from app develpment - maintenance point of view and it worked. Only thing is you may need to have your app down while renaming the SQL objects but other than that the scenario should work and this way the process is disconneted from the front end.
0

Featured Post

Vote for the Most Valuable Expert

It’s time to recognize experts that go above and beyond with helpful solutions and engagement on site. Choose from the top experts in the Hall of Fame or on the right rail of your favorite topic page. Look for the blue “Nominate” button on their profile to vote.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

     When we have to pass multiple rows of data to SQL Server, the developers either have to send one row at a time or come up with other workarounds to meet requirements like using XML to pass data, which is complex and tedious to use. There is a …
In this article we will get to know that how can we recover deleted data if it happens accidently. We really can recover deleted rows if we know the time when data is deleted by using the transaction log.
Loops Section Overview
With just a little bit of  SQL and VBA, many doors open to cool things like synchronize a list box to display data relevant to other information on a form.  If you have never written code or looked at an SQL statement before, no problem! ...  give i…

850 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question