2010-12-08 10 views
0

Dies läuft SQL-Anweisung, aber dann hält:Kopieren Tabellen einer Datenbank in die andere

SET IDENTITY_INSERT [CPI].[dbo].[Transactions] ON 
GO 

insert into CPI.dbo.Transactions 
(customerid = 24, TransactionId, DepartmentId, ItemId, CategoryId, Quantity, Cost, DateCreated, InvoiceNumber, DataSource, DataSourceId, ImportId, LastUpdate) 
select customerid = 104, TransactionId, DepartmentId, ItemId, CategoryId, Quantity, Cost, DateCreated, InvoiceNumber, DataSource, DataSourceId, ImportId, LastUpdate 
from Analyzer.dbo.transactions 

aber es verarbeitet etwa 5 Minuten und dann dieser Fehler:

Msg 547, Level 16, State 0, Line 4 The INSERT statement conflicted with the FOREIGN KEY constraint "FK_Transactions_Customers". The conflict occurred in database "CPI", table "dbo.Customers", column 'CustomerId'. The statement has been terminated.

+1

Wenn Sie Code oder XML posten, ** bitte ** markieren Sie diese Zeilen im Texteditor und klicken Sie auf die Schaltfläche "Code" (101 010) auf der Editor-Symbolleiste, um sie schön formatieren und Syntax hervorheben! –

Antwort

4

Die Botschaft ist ziemlich klar: Sie versuchen, einen Wert in die Transactions-Tabelle einzufügen, die über einen CustomerId verfügt, der auf die Tabelle dbo.Customers (in der Spalte CustomerId) verweist, die nicht in der Tabelle Kunden vorhanden ist.

Offensichtlich gibt es eine Fremdschlüsselbeziehung zwischen Transactions und Customers und Ihre INSERT-Anweisung ist Verletzung dieser referenziellen Integrität.

Höchstwahrscheinlich haben Sie a) Ihre Customers Tabelle zwischen den beiden Servern (noch) nicht synchronisiert, oder b) Sie haben einige Einträge irgendwie verpasst.

Verwandte Themen