Kopiera data från SQL2000 till SQL2005 med BCP
När jag skrev om hur jag installerade SQL Server Express SP2 berättade jag att det var BCP-verktyget som jag ville ha. Det visade sig vara väldigt användbart även ifall syntaxen är rätt så krånglig att lära sig.
Nu tänkte jag göra en snabb genomgång för några av de kommandon som jag har lyckats använda och även hur jag har kopierat data från SQL Server 2000 till min lokala instans av SQL Server 2005 Express. De flesta av exemplen körs i en cmd-promt.
Exempel på kommandon
Först ett användbart kommando för att se om man kommer åt databaskopplingen.
Sen går vi in på själva bcp-kommandona, en referens för syntaxen finns på MSDN.
Skapa en format fil som bara innehåller databasstruktur och inga data.
Kopiera en tabell till fil.
För att kopiera data från en fil till tabell används "in" istället för "out", så här:
Kopiera data från SQL 2000 till SQL 2005
Med hjälp av dessa kommandon lyckades jag exportera data från SQL Server 2000 och sedan importera dem till min lokala instans, här kommer stegen jag genomförde.
1. Först skapade jag en textfil lokalt med bcp-kommandot. Denna behövde jag ha som en mall för att klistra in innehållet ur textfilen som kommer från exportdatabasen på SQL 2000. Det gick inte att kopiera denna fil direkt eftersom jag då fick ett fel som sa något som "ett ogiltigt filslutstecken <EOF> påträffades i BCP-datafilen".
2. Jag kunde inte använda bcp från cmd-promten på vår Windows2003-server men hittade en annan lösning för att exportera data till en fil. Ifrån Query Analysern körde jag följande query.
3. Sedan kopierade jag innehållet i exportfilen till den lokala fil som skapades i steg 1.
4. Slutligen körde jag bcp-kommandot och mina data fanns på plats.
Här är lite olika referenser som hjälpte mig på vägen.
http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=1071667&SiteID=1
http://simple-talk.com/sql/database-administration/creating-csv-files-using-bcp...
http://www.issociate.de/board/post/180881/BCP_Format_File.html
http://msdn2.microsoft.com/en-us/library/ms162802.aspx
http://msdn2.microsoft.com/en-us/library/ms191212.aspx
Tags