Click here to monitor SSC
SQLServerCentral is supported by Redgate
 
Log in  ::  Register  ::  Not logged in
 
 
 
        
Home       Members    Calendar    Who's On


Add to briefcase

Copy tables from one server to another Expand / Collapse
Author
Message
Posted Friday, January 17, 2014 10:11 AM
Old Hand

Old HandOld HandOld HandOld HandOld HandOld HandOld HandOld Hand

Group: General Forum Members
Last Login: Tuesday, March 29, 2016 6:16 AM
Points: 358, Visits: 711
Company is doing server and application update.
I need to copy about 100 tables from server A to server B.
Since the project is under test mode and I need to do the same copy job once week.
Can some expert tell me which way is the best way to do it?
Now, I use "Import data..." to do it but every time need to select a lot of tables.
Post #1532166
Posted Friday, January 17, 2014 10:26 AM


SSCertifiable

SSCertifiableSSCertifiableSSCertifiableSSCertifiableSSCertifiableSSCertifiableSSCertifiableSSCertifiableSSCertifiable

Group: General Forum Members
Last Login: Today @ 7:17 PM
Points: 6,887, Visits: 15,173
With the import/export data wizard, you have the option to save the SSIS package for later use. That way, you can use it as it is or do any modifications needed without creating all again and again.


Luis C.
General Disclaimer:
Are you seriously taking the advice and code from someone from the internet without testing it? Do you at least understand it? Or can it easily kill your server?


How to post data/code on a forum to get the best help: Option 1 / Option 2
Post #1532172
Posted Friday, January 17, 2014 10:52 AM


SSCommitted

SSCommittedSSCommittedSSCommittedSSCommittedSSCommittedSSCommittedSSCommittedSSCommitted

Group: General Forum Members
Last Login: Monday, February 29, 2016 1:49 PM
Points: 1,657, Visits: 885
Sounds like maybe a good job for Snapshot Replication...
http://technet.microsoft.com/en-us/library/ms151832.aspx


Todd Carrier
MCITP - Database Administrator (SQL 2008)
MCSE: Data Platform (SQL 2012)

Post #1532184
Posted Friday, January 17, 2014 12:06 PM
SSC Veteran

SSC VeteranSSC VeteranSSC VeteranSSC VeteranSSC VeteranSSC VeteranSSC VeteranSSC Veteran

Group: General Forum Members
Last Login: Yesterday @ 4:19 PM
Points: 295, Visits: 2,110
Snapshot replication is great for this, but is there a reason why you couldn't just automate a restore of the database backups. That way you can also verify the backups you are currently making are good.
Post #1532218
Posted Friday, January 17, 2014 12:11 PM
Old Hand

Old HandOld HandOld HandOld HandOld HandOld HandOld HandOld Hand

Group: General Forum Members
Last Login: Tuesday, March 29, 2016 6:16 AM
Points: 358, Visits: 711
Because I only need to import all tables which my applications will need.(user tables)
Someone else will do the rest.
Backup will backup all objects.
Post #1532224
Posted Friday, January 17, 2014 1:00 PM
Old Hand

Old HandOld HandOld HandOld HandOld HandOld HandOld HandOld Hand

Group: General Forum Members
Last Login: Tuesday, March 29, 2016 6:16 AM
Points: 358, Visits: 711
I created SSIS and ran it.
It copied all tables I need but missing all index from source server.
How to copy exactly the same index for all tables as in source server?
There is no any option to set it up.
Post #1532246
Posted Friday, January 17, 2014 1:07 PM


SSCertifiable

SSCertifiableSSCertifiableSSCertifiableSSCertifiableSSCertifiableSSCertifiableSSCertifiableSSCertifiableSSCertifiable

Group: General Forum Members
Last Login: Today @ 7:17 PM
Points: 6,887, Visits: 15,173
You could create the scripts for the tables with the option to script indexes (and probably other dependent objects).
You can use the script in a Execute SQL Task at the beginning of the package ensuring that you have the validation to drop existing objects.



Luis C.
General Disclaimer:
Are you seriously taking the advice and code from someone from the internet without testing it? Do you at least understand it? Or can it easily kill your server?


How to post data/code on a forum to get the best help: Option 1 / Option 2
Post #1532253
Posted Friday, January 17, 2014 1:18 PM
SSC Veteran

SSC VeteranSSC VeteranSSC VeteranSSC VeteranSSC VeteranSSC VeteranSSC VeteranSSC Veteran

Group: General Forum Members
Last Login: Yesterday @ 4:19 PM
Points: 295, Visits: 2,110
So far you have a couple options.

Snapshot Replication
Restore backup
Script out the objects
Export Data Teir Application
Post #1532261
Posted Monday, January 20, 2014 6:19 PM
SSC Journeyman

SSC JourneymanSSC JourneymanSSC JourneymanSSC JourneymanSSC JourneymanSSC JourneymanSSC JourneymanSSC Journeyman

Group: General Forum Members
Last Login: Wednesday, March 9, 2016 8:21 AM
Points: 77, Visits: 582
You could also use filegroup backups. Move all the user tables to a separate filegroup and back up and restore just the tables you need.
Keep in mind any foreign keys
Post #1532832
Posted Wednesday, January 22, 2014 2:38 PM
SSChasing Mays

SSChasing MaysSSChasing MaysSSChasing MaysSSChasing MaysSSChasing MaysSSChasing MaysSSChasing MaysSSChasing Mays

Group: General Forum Members
Last Login: Thursday, April 21, 2016 9:01 AM
Points: 600, Visits: 1,804
adonetok (1/17/2014)
Company is doing server and application update.
I need to copy about 100 tables from server A to server B.
Since the project is under test mode and I need to do the same copy job once week.
Can some expert tell me which way is the best way to do it?
Now, I use "Import data..." to do it but every time need to select a lot of tables.


I've done this hundreds of times with SSIS. You can also use BCP, but SSIS is probably easier. If both table's schemas are the same, you should be ok. You can create the Indexes after, which I do recommend, so your insertion process will be also faster.

Important! Set identity insert on on SSIS so you can preserve original IDs, in case you have one on each table.

You can compare both sets, after you finish, with following T-SQL query. Just adjust and change names accordingly:

--Compare both sets. It should return no rows.
SELECT n.ID AS [DeletedID], o.ID AS [InsertedID]
FROM dbo.Copy n
FULL OUTER JOIN dbo.Source o
ON (n.ID = o.ID)
WHERE o.ID IS NULL OR n.ID IS NULL

If source and target are the same, it will return no rows. Otherwise, above query will show you what was deleted and what was inserted.

Last but not least, be sure to run SSIS or copy from one table to other during off peak hours or a maintenance window. If not, you will generate some locks on the source table and you will take the chance or not getting both tables totally sync'ed.
Post #1533842
« Prev Topic | Next Topic »

Add to briefcase

Permissions Expand / Collapse