In SQL Server 2008 zou je je Goo.Goo-tabel kunnen scripten in SQL Server Mgmt studio en hem vertellen om ook een script te maken om alle gegevens in te voegen met behulp van T-SQL INSERT
verklaringen. Ga naar de Objectverkenner, klik met de rechtermuisknop op de database, kies "Taken> Scripts genereren", kies de tabel waarvoor u de gegevensinvoeginstructies wilt genereren en zorg ervoor dat u deze optie hier gebruikt:
Die zouden dan op de andere server kunnen worden uitgevoerd om de inhoud van de tabel in te voegen. In dit geval moet u echter zelf zorgen voor het invoegen van mogelijke bestaande rijen.
Aan de andere kant, als beide servers zich op hetzelfde netwerk bevinden, kunt u gewoon de functie "Linked Server" gebruiken en de bronserver koppelen aan de doelserver en vervolgens de SQL Server 2008 MERGE-instructie gebruiken om alle gegevens van de bron te importeren srever's tabel naar de doelserver.
Ga in de Objectverkenner naar "Serverobjecten", vervolgens "Gekoppelde servers", klik met de rechtermuisknop en "Nieuwe gekoppelde server toevoegen" om een verbinding tussen de twee servers tot stand te brengen:
Zodra de servers zijn gekoppeld, kunt u met een eenvoudige MERGE-instructie (nieuw in SQL Server 2008) de gegevens uit die twee tabellen samenvoegen:
MERGE
INTO Goo.Goo as Target
USING Foo.Foo.dbo.Foo as Source
ON Source.ID = Target.ID
WHEN NOT MATCHED THEN
INSERT (field1, field2, field3)
VALUES (source.field1, source.field2, source.field3)
WHEN MATCHED THEN
-- do nothing
;
Lees hier meer over de nieuwe MERGE-verklaring:
- http://www.builderau.com.au/program/sqlserver/soa/Using-SQL-Server-2008-s-MERGE-statement/0,339028455,339283059,00.htm
- http://www.sqlservercentral.com/articles/Advanced+Querying /3122/
of in de SQL Server 2008 Books Online.
Marc