簡體   English   中英

SQL Server 2008 R2數據導出問題

[英]SQL Server 2008 R2 Data Export Problems

我正在嘗試將數據從我的生產數據庫導出到我的開發數據庫但是我收到此錯誤:

消息錯誤0xc0202049:數據流任務1:未能插入只讀列“id”。 (SQL Server導入和導出向導)

有沒有辦法檢查哪一列是因為我有20個表,所有這些表都使用列名id或至少得到一個更好的錯誤報告?

選擇要從中導入的表時,只需單擊“ Edit mappings即可。 並選中Enable identity insert復選框。 你應該為每個選擇的表做到這一點。 然后,您可以完成導入。 在同樣的情況下幫助了我。

如果列ID是標識列,則可能設置為在插入行時自動生成,並且無法直接寫入。

要保留從生產環境到測試的鏈接,請使用:

SET Identity_Insert <TableName> ON

允許您編寫標識值。

我所要做的就是:

  • 右鍵單擊列(在本例中為“ID”)
  • 選擇修改
  • 在列屬性內向下滾動,直到您看到身份規范
  • 展開視圖,然后從下拉菜單中選擇NO。

如果有人知道不同(更快)的方式,請分享

聽起來好像你可能試圖將值插入已聲明為IDENTITY字段的列中。

嗯,答案有點晚,但我還是為了向社區提供而發布它。

我假設您正在嘗試復制表(而不是部分數據)。 我的答案是基於這個假設。

  1. 通過SSMS中的對象資源管理器連接到源數據庫。
  2. 右鍵單擊要復制其表的數據庫
  3. 轉到“任務” - >“導出”
  4. 選擇您的源服務器和目標服務器,如果您不希望在手按下下一步之前運行其他腳本('從一個或多個表或視圖復制數據')。 現在,您可以選擇要復制到目標的表。

選擇要完全復制到目標的表。 然后單擊“編輯映射”。 在這里你可以'啟用身份插入'。 您還可以選擇其他選項,然后在按OK之前檢查屏幕。

如果您不在此處使用SSMS的快速版本,則可以創建SSIS包以創建作業並在將來自動化此過程。 您可以選中“立即運行”並按照屏幕顯示所有警告和錯誤的情況。 希望你不會得到任何東西。 祝好運!

Tested with:
(
    Microsoft SQL Server 2008 R2 (SP1) - 10.50.2500.0 (Intel X86) 
    Jun 17 2011 00:57:23 
    Copyright (c) Microsoft Corporation
    Enterprise Edition on Windows NT 5.2 <X86> (Build 3790: Service Pack 2)
)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM