首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> 關於SqlServer

SQL Server 2012 導出數據腳本:架構與數據一體化生成圖文教程

     編輯:關於SqlServer

版本差異點

SQL Server 2008:生成腳本嚮導中直接有「編寫數據的腳本」True/False 選項。
SQL Server 2012/2014/2016/2019:選項移至 高級 按鈕 → 要編寫腳本的數據類型 下拉框,選 架構和數據。

操作步驟(以 SSMS 2012 為例)

  1. 對象資源管理器 → 右鍵目標數據庫(如 BlogDB) → 任務 → 生成腳本。
  2. 「選擇對象」頁:選 為選定對象編寫腳本 → 勾選 表(或全選)。
  3. 「設置腳本選項」頁:點擊 高級 按鈕 → 找到 要編寫腳本的數據類型 → 選 架構和數據 → 確定。
  4. 「輸出選項」:選 保存到文件 → 指定路徑(如 D:\Scripts\BlogDB.sql)、編碼 UTF-8 → 下一步。
  5. 確認摘要 → 完成。打開生成的 .sql 文件,可見 CREATE TABLE + INSERT INTO ... VALUES ... 完整腳本。

進階選項說明

選項建議值說明
腳本目標服務器版本匹配目標環境避免新語法導致舊版本部署失敗
編寫主鍵/外鍵/約束True保持完整性定義
編寫觸發器True業務邏輯隨表部署
包含 IF NOT EXISTSTrue冪等部署,重複執行不報錯
編碼UTF-8防中文亂碼

大數據量優化技巧

  • 單表 > 10 萬行時,生成腳本極慢、文件巨大。建議:
    ① 分表導出(每次勾選幾張表)。
    ② 使用 bcp / BULK INSERT / SSIS 導出二進制/CSV 格式,僅用腳本導出架構。
    ③ 啟用壓縮:BACKUP DATABASE ... TO DISK ... WITH COMPRESSION。

自動化腳本化(PowerShell + SMO)

[Reflection.Assembly]::LoadWithPartialName("Microsoft.SqlServer.Smo") | Out-Null
$srv = New-Object Microsoft.SqlServer.Management.Smo.Server "."
$db = $srv.Databases["BlogDB"]
$scr = New-Object Microsoft.SqlServer.Management.Smo.Scripter $srv
$scr.Options.ScriptData = $true
$scr.Options.TypesToScript = [Microsoft.SqlServer.Management.Smo.SqlScriptTypes]::ScriptData
$scr.Options.FileName = "D:\Scripts\BlogDB_Data.sql"
$scr.Script($db.Tables | Where-Object { -not $_.IsSystemObject })
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved