Partitioning a table will help you in maintaining.
Here are some useful articles on maintaining a large table:
Handling Large SQL Server Tables with Data Partitioning
The only downside is that it only exists in the Enterprise and Developer editions.
Simplify Database Maintenance with Table Partitions
And more info on hardware, horizontal, and vertical partitioning:
Partitioning a database improves performance and simplifies
maintenance. By splitting a large table into smaller, individual
tables, queries that access only a fraction of the data can run faster
because there is less data to scan. Maintenance tasks, such as
rebuilding indexes or backing up a table, can run more quickly.
Partitioning can be achieved without splitting tables by physically
putting tables on individual disk drives. Putting a table on one
physical drive and related tables on a separate drive can improve
query performance because, when queries that involve joins between the
tables are run, multiple disk heads read data at the same time. SQL
Server filegroups can be used to specify on which disks to put the
Also, there are a lot of useful answers in this thread
Hope this helps