SQL 資料轉 INSERT 語法-使用 Visual Studio

將資料表內容轉成一連串 INSERT 語法,是蠻好用的跨伺服器搬資料表招式,之前我最愛用的工具是 SQL Dumper,但昨天聽到不幸消息:官方網站人去樓空,連註冊的 DNS 網域都已棄守。

重新尋找替代方案,找到三種做法:

  1. SSMS 內建 Generate Script 功能


    接著透過 Wizard 介面指定資料表並設定只輸出資料(Types of data to script: Data only)



    由於當初設計可搬移整個 DB,故介面跟選項有點繁瑣,另外無法自訂查詢條件是一大缺點。
  2. SSMS Tools Pack
    SQL Server Management Studio 的外掛套件,有不少方便的輔助功能,包含 Insert Statement Generator,功能挺強大,為付費軟體。
  3. SQL Server Data Tools in VS2015+
    SSDT 是整合在 Visual Studio 2015+ 內的資料庫工具,可用於建置 SQL Server 關聯式資料庫、Azure SQL Database、Integration Services 封裝、Analysis Services 資料模型以及 Reporting Services 報表。SSDT 的資料表檢視工具有產生 INSERT 指令功能,這裡簡短示範:

在 Visual Studio 開啟 Server Explorer 視窗,在 Data Connections 清單建立資料庫連線,選擇要匯出資料的資料表透過右鍵選單選取「Show Table Data」:

資料檢視區上方工具列有兩個卷軸圖示,左邊的是產生 Script 並編輯,右邊則是直接匯出成檔案:

點選 Script 即可產生逐筆資料的 INSERT INTO 指令囉~(Script 還包含停用及啟用自動跳號,蠻貼心的)

支援簡單的 Filter 查詢條件,預設只顯示前 1000 筆,實務上可依需求調整。

經簡單試用,SSDT 的 INSERT Script 產生功能雖不及 SQL Dumper 簡潔方便,亦不失為可用的替代方案。

歡迎推文分享:
Published 15 August 2017 08:43 PM by Jeffrey
Filed under:
Views: 3,527



Comments

# oaww said on 15 August, 2017 10:03 PM

弱弱的問一下,用DB Link會不會比較快,還是因為不能用DB Link才會用SQL Script新增。

# Jeffrey said on 16 August, 2017 05:15 AM

to oaww, 哈,是的。有頭髮誰願意當秃子 :P

原則上建議優先使用 DB Link 或 Linked Server,但實務上 Linked Server 可能因網路未相接、權限不足、資安規定、執行權責… 等諸多因素無法建立, INSERT Script 可在各種惡劣狀況下達成使命,同時也方便歸檔存查,有一些不可取代的優勢。

Leave a Comment

(required) 
(required) 
(optional)
(required) 
(提醒: 因快取機制,您的留言幾分鐘後才會顯示在網站,請耐心稍候)

5 + 3 =

Search

Go

<August 2017>
SunMonTueWedThuFriSat
303112345
6789101112
13141516171819
20212223242526
272829303112
3456789
 
RSS
創用 CC 授權條款
【廣告】
twMVC
最新回應

Tags 分類檢視
關於作者

一個醉心技術又酷愛分享的Coding魔人,十年的IT職場生涯,寫過系統、管過專案, 也帶過團隊,最後還是無怨無悔地選擇了技術鑽研這條路,近年來則以做一個"有為的中年人"自許。

文章典藏
其他功能

This Blog


Syndication