2012-01-06 7 views
1

私はSQL Serverを使用しています。SQLで同様のデータベース間でデータをすばやくインポートする方法はありますか。

oldnewの2つのデータベースがあります。

データベースのリレーショナル構造はまったく同じです。

違いがある:

  1. 1テーブル内の一部の列が欠落している
  2. 一部の列が

質問がにある新しいもので

  • 一部の列が
  • に追加された別のタイトルを持っています古いデータベースから新しいデータベースにデータをインポートする方法を見つける。

    enter image description here

    それは手順をご案内します:

    +0

    SSISでの経験はありますか?あなたのユースケースは完璧に聞こえます。約10分後にSSISを少し知っていればデータ転送を設定できます。以前はSSISを使ったことがない場合は数時間かかります。参照してください:http://msdn.microsoft.com/en-us/library/ms141026.aspx –

    +0

    ありがとう、私はまだそれがわからない。私は見る:) –

    +1

    彼らは異なっているビットを除いて 'まったく同じ構造'ですか?私は、「正確には」正確にはここで選択するのに最適な言葉ではないと思う。おそらく '非常によく似ていて、テーブル名の同じセットを含んでいます'。 –

    答えて

    5

    は、タスクを完了するために、SSMSでImport Data Wizardを使用してください。詳細はhereです。

    +0

    +1また、後で再利用できるようにワークフローを保存することもできます。また、SSISで保存されたパッケージを編集することもできます。 –

    +0

    主キーの自動インクリメントに失敗しました。データフロータスク1:読み取り専用列「AuthorsId」への挿入に失敗しました。 –

    +0

    データを入れているデータベースに対して、インポートを行う前に 'SET IDENTITY_INSERT ON'を実行する必要があります。その後、 'SET IDENTITY_INSERT OFF'を実行します。またはその逆 - 私はいつもそれを混乱させます。 – Eric

    0

    あなたはselect into queryと書くことができますが、最初にericの方法を検討してください。私は代わりとしてこれを追加しています。

    USE AdventureWorks2008R2; 
    GO 
    SELECT c.FirstName, c.LastName, e.JobTitle, a.AddressLine1, a.City, 
        sp.Name AS [State/Province], a.PostalCode 
    INTO dbo.EmployeeAddresses 
    FROM Person.Person AS c 
        JOIN HumanResources.Employee AS e 
        ON e.BusinessEntityID = c.BusinessEntityID 
        JOIN Person.BusinessEntityAddress AS bea 
        ON e.BusinessEntityID = bea.BusinessEntityID 
        JOIN Person.Address AS a 
        ON bea.AddressID = a.AddressID 
        JOIN Person.StateProvince as sp 
        ON sp.StateProvinceID = a.StateProvinceID; 
    GO 
    

    参照:と

    MSDN文「と」あなたは列が一致するように、先のカラム名を記述する必要があります。

    +0

    私はいくつかのクエリを書くことについて理解しているが、問題は、キーが自動インクリメントであり、 –

    関連する問題