首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

SQL Server 生成完整資料庫結構腳本工具:scptxfr.exe 參數與自動化範例

     編輯:MySQL 資料庫相關知識

SQL Server 7.0/2000 內建 scptxfr.exe (Script Transfer) 可將整個資料庫結構 (含物件、資料、權限) 匯出為 .sql 腳本。本文記錄命令列參數與 T-SQL 自動化呼叫範例。

工具位置

C:\Program Files\Microsoft SQL Server\MSSQL\Upgrade\scptxfr.exe

T-SQL 自動化呼叫 (使用 xp_cmdshell)


DECLARE @cmd VARCHAR(1000);
SET @cmd = 'master.dbo.xp_cmdshell ''' +
  'C:\"Microsoft SQL Server"\MSSQL\Upgrade\scptxfr.exe ' +
  '/s YourServerName ' +
  '/p YourSAPassword ' +
  '/I ' +                  -- 匯出物件腳本
  '/d YourDBName ' +
  '/f C:\YourDBName.sql' + -- 輸出檔案
  '''';
EXEC (@cmd);

參數說明

參數說明
/s server目標 SQL Server 執行個體名稱
/d database來源資料庫名稱
/I產生物件建立腳本 (DDL)
/D產生資料 INSERT 腳本
/U產生使用者/權限腳本
/f file輸出檔案路徑
/p passwordsa 密碼 (若用 SQL 認證)
/E使用 Windows 整合認證 (信任連線)
/q安靜模式 (不顯示進度)
/r包含 DROP 陳述式
/O包含索引/觸發器/預設值/檢查約束

常用組合

  • 完整結構+資料:/I /D /U /O /r
  • 僅結構 (Schema):/I /O /r
  • 僅資料:/D

現代替代工具

結語

scptxfr.exe 是 SQL Server 7/2000 時代的產物,現代環境請使用 SSMS 精靈、sqlpackage、dbatools,獲得更豐富的物件支援、編碼處理、版本控制整合與跨平台能力。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved
工具版本特點
SQL Server Management Studio (SSMS) 產生腳本精靈2005+GUI、可選物件類型、支援資料、高度可視化
sqlpackage.exe (DACFx)2012+DACPAC/BACPAC 封裝、CI/CD 整合、跨平台
mssql-scripter (Python, 開源)Linux/macOS/Windows命令列、輸出標準 SQL、適合容器自動化
dbatools (PowerShell 模組)跨平台Export-DbaScript、豐富參數、管線操作