mssql-scripter 工具介紹

更新於 發佈於 閱讀時間約 8 分鐘

安裝工具

需先安裝 Python 3

pip install mssql-scripter

參數說明

僅列出有使用到的參數及說明,其餘可參考 github:mssql-scripter 

-S , --server           DB伺服器名稱

-d , --database DB名稱

-U , --user 登入DB的使用者名稱
如果不輸入,預設使用 Windows Authentication 登入

-P , --password 登入DB的密碼
可以透過設置環境變數 MSSQL_SCRIPTER_PASSWORD 設定,避免明文

-f , --file-path T-SQL 語法儲存路徑

--file-per-object 由預設將所有指令匯出成1個.sql檔,
改為將每個物件的操作個別匯出成.sql檔。

--data-only 由預設只產出 CREATE schema 的腳本語法,
改為只產出 INSERT 所有資料的腳本語法。

--schema-and-data 由預設只產出 CREATE schema 的腳本語法,
改為產出包含 CREATE schema 和 INSERT 所有資料的腳本語法。

--script-create 編寫物件 CREATE 語句的腳本。

--script-drop 編寫物件 DROP 語句的腳本。

--script-drop-create 編寫物件包含 CREATE 和 DROP 語句的腳本。

--target-server-version 指定輸出的 T-SQL 語法要相容於哪個 SQL Server 版本
2005, 2008, 2008R2, 2012, 2014, 2016, vNext, AzureDB, ...

--exclude-types 要從腳本中排除的指定類型的資料庫物件。

--check-for-existence 在刪除或更改之前檢查具有給定名稱的物件是否存在,
或者在創建之前檢查具有給定名稱的物件不存在。

--exclude-use-database 不生成 USE [DATABASE] 語句。

--display-progress 顯示 mssql-scripter 執行進度

情境範例

情境 1

      1. 使用 Windows (AD) 驗證登入
        位址:192.168.xxx.xxx
      2. 編寫 T-SQL 語法
        資料庫:DBName
        條件:僅含結構描述
      3. 將 T-SQL 語法儲存
        檔名:schema.sql
mssql-scripter -S '192.168.xxx.xxx' -d 'DBName' > 'schema.sql'


情境 2

      1. 使用 SQL Server 驗證登入
        位址:192.168.xxx.xxx
        名稱:admin
        密碼:S{L5ENHnD~ZD
      2. 編寫「僅含資料」的 T-SQL 語法
        資料庫:DBName
        條件:僅含資料
      3. 將 T-SQL 語法儲存
        路徑:D:\mssql-scripter\data.sql
mssql-scripter -S '192.168.xxx.xxx' -U 'admin' -P 'S{L5ENHnD~ZD' -d 'DBName' --data-only -f 'D:\mssql-scripter\data.sql'
註:可透過設置 MSSQL_SCRIPTER_PASSWORD 環境變數來避免密碼明文
SET MSSQL_SCRIPTER_PASSWORD='S{L5ENHnD~ZD'
mssql-scripter -S '192.168.xxx.xxx' -U 'admin' -d 'DBName' --data-only -f 'D:\mssql-scripter\data.sql'


情境 3

      1. 使用 Windows (AD) 驗證登入
        位址:192.168.xxx.xxx
      2. 編寫 T-SQL 語法
        資料庫:DBName
        條件1:含結構描述
        條件2:每個物件 1 個檔案
      3. 將 T-SQL 語法儲存
        路徑:D:\mssql-scripter\data
      4. 顯示執行進度
mssql-scripter -S '192.168.xxx.xxx' -d 'DBName' --schema-and-data --file-per-object -f 'D:\mssql-scripter\data' --display-progress
註1:--file-per-object 將每個物件個別建立檔案,可作為資料庫版控用途
註2:-f 給定的資料夾路徑要確保沒有任何檔案存在,否則無法執行


情境 4

      1. 使用 Windows (AD) 驗證登入
        位址:192.168.xxx.xxx
      2. 編寫 T-SQL 語法
        資料庫:DBName
        條件1:含結構描述與資料
        條件2:每個物件 1 個檔案
        條件3:包含 DROP 與 CREATE 語句
        條件4:排除 DATABASE 類型的物件
        條件5:避免產生 USE [DBName] 語句
      3. 將 T-SQL 語法儲存
        路徑:D:\mssql-scripter\data_
      4. 顯示執行進度
mssql-scripter -S '192.168.xxx.xxx' -d 'DBName' --schema-and-data --file-per-object -f 'D:\mssql-scripter\data_' --script-drop-create --exclude-types 'DATABASE' --exclude-use-database --display-progress


情境 5

      1. 使用 Windows (AD) 驗證登入
        位址:192.168.xxx.xxx
      2. 編寫 T-SQL 語法
        資料庫:DBName
        條件1:含結構描述與資料
        條件2:每個物件 1 個檔案
        條件3:包含 DROP 與 CREATE 語句
        條件4:DROP 與 CREATE 語句加入是否存在要刪除物件的判斷
        條件5:排除 DATABASE 類型的物件
        條件6:避免產生 USE [DBName] 語句
      3. 將 DROP T-SQL 語法儲存
        路徑:D:\mssql-scripter\app_v1\drop
      4. 將 CREATE T-SQL 語法儲存
        路徑:D:\mssql-scripter\app_v1\create
mssql-scripter -S '192.168.xxx.xxx' -d 'DBName' --schema-and-data --file-per-object -f 'D:\mssql-scripter\app_v1\drop' --script-drop --check-for-existence --exclude-types 'DATABASE' --exclude-use-database
mssql-scripter -S '192.168.xxx.xxx' -d 'DBName' --schema-and-data --file-per-object -f 'D:\mssql-scripter\app_v1\create' --script-create --check-for-existence --exclude-types 'DATABASE' --exclude-use-database

參考資料

    1. github:mssql-scripter 
    2. 介紹好用工具:mssql-scripter (自動將完整資料庫匯出成 T-SQL 的神器) 
留言
avatar-img
留言分享你的想法!
avatar-img
UN的知識庫
0會員
1內容數
第一次嘗試寫知識、資訊分享型的部落格 不確定效果如何,請大家多多包涵!
你可能也想看
Thumbnail
沙龍一直是創作與交流的重要空間,這次 vocus 全面改版了沙龍介面,就是為了讓好內容被好好看見! 你可以自由編排你的沙龍首頁版位,新版手機介面也讓每位訪客都能更快找到感興趣的內容、成為你的支持者。 改版完成後可以在社群媒體分享新版面,並標記 @vocus.official⁠ ♥️ ⁠
Thumbnail
沙龍一直是創作與交流的重要空間,這次 vocus 全面改版了沙龍介面,就是為了讓好內容被好好看見! 你可以自由編排你的沙龍首頁版位,新版手機介面也讓每位訪客都能更快找到感興趣的內容、成為你的支持者。 改版完成後可以在社群媒體分享新版面,並標記 @vocus.official⁠ ♥️ ⁠
Thumbnail
每年4月、5月都是最多稅要繳的月份,當然大部份的人都是有機會繳到「綜合所得稅」,只是相當相當多人還不知道,原來繳給政府的稅!可以透過一些有活動的銀行信用卡或電子支付來繳,從繳費中賺一點點小確幸!就是賺個1%~2%大家也是很開心的,因為你們把沒回饋變成有回饋,就是用卡的最高境界 所得稅線上申報
Thumbnail
每年4月、5月都是最多稅要繳的月份,當然大部份的人都是有機會繳到「綜合所得稅」,只是相當相當多人還不知道,原來繳給政府的稅!可以透過一些有活動的銀行信用卡或電子支付來繳,從繳費中賺一點點小確幸!就是賺個1%~2%大家也是很開心的,因為你們把沒回饋變成有回饋,就是用卡的最高境界 所得稅線上申報
Thumbnail
打開 jupyter notebook 寫一段 python 程式,可以完成五花八門的工作,這是玩程式最簡便的方式,其中可以獲得很多快樂,在現今這種資訊發達的時代,幾乎沒有門檻,只要願意,人人可享用。 下一步,希望程式可以隨時待命聽我吩咐,不想每次都要開電腦,啟動開發環境,只為完成一個重複性高
Thumbnail
打開 jupyter notebook 寫一段 python 程式,可以完成五花八門的工作,這是玩程式最簡便的方式,其中可以獲得很多快樂,在現今這種資訊發達的時代,幾乎沒有門檻,只要願意,人人可享用。 下一步,希望程式可以隨時待命聽我吩咐,不想每次都要開電腦,啟動開發環境,只為完成一個重複性高
Thumbnail
本章節旨在介紹如何在不同操作系統上安裝和配置PHP環境,並使用命令行工具進行基礎操作。此外,還介紹了使用Visual Studio Code進行PHP開發的步驟,包括安裝擴展和設置調試環境。
Thumbnail
本章節旨在介紹如何在不同操作系統上安裝和配置PHP環境,並使用命令行工具進行基礎操作。此外,還介紹了使用Visual Studio Code進行PHP開發的步驟,包括安裝擴展和設置調試環境。
Thumbnail
本文詳細介紹Windows cmd指令的應用,並提供了例說明及追加說明,用戶可以學習如何使用cmd指令對檔案進行處理、選取所需的內容,以及擴展運用到其他類型的檔案,最後還介紹了cmd設計完成後的應用和自動化執行方式。
Thumbnail
本文詳細介紹Windows cmd指令的應用,並提供了例說明及追加說明,用戶可以學習如何使用cmd指令對檔案進行處理、選取所需的內容,以及擴展運用到其他類型的檔案,最後還介紹了cmd設計完成後的應用和自動化執行方式。
Thumbnail
本章節旨在介紹TypeScript的基本語法,包括一般結構、程式進入點、註解以及變數的定義和賦值。這些知識將幫助讀者瞭解TypeScript的基本架構,並且可以開始使用TypeScript進行開發。
Thumbnail
本章節旨在介紹TypeScript的基本語法,包括一般結構、程式進入點、註解以及變數的定義和賦值。這些知識將幫助讀者瞭解TypeScript的基本架構,並且可以開始使用TypeScript進行開發。
Thumbnail
TypeScript是一種由Microsoft開發和維護的開源編程語言。它是JavaScript的超集,主要擴展了JavaScript的語法,增加了靜態類型檢查和其他特性,使得開發大型應用程序更為方便和可靠。
Thumbnail
TypeScript是一種由Microsoft開發和維護的開源編程語言。它是JavaScript的超集,主要擴展了JavaScript的語法,增加了靜態類型檢查和其他特性,使得開發大型應用程序更為方便和可靠。
Thumbnail
因為最近想嘗試編碼風格,於是就選了一套比較"不嚴格"的輔助工具來摸索。 編輯器 VS CODE 框架 VUE3 打包工具 VITE 編碼風格 Standard 環境 version { "nodejs":"v18.18.0", "npm":"9.8.1" }
Thumbnail
因為最近想嘗試編碼風格,於是就選了一套比較"不嚴格"的輔助工具來摸索。 編輯器 VS CODE 框架 VUE3 打包工具 VITE 編碼風格 Standard 環境 version { "nodejs":"v18.18.0", "npm":"9.8.1" }
Thumbnail
什麼是Python python是電腦程式語言的一種,如同python官方網站上的介紹 "Python是一種程式語,可讓你更快速地工作並更有效的整合系統"。簡單地說,就是你可用python這個程式語言去告訴電腦你想要作什麼,讓電腦來幫你完成你要作的事情。
Thumbnail
什麼是Python python是電腦程式語言的一種,如同python官方網站上的介紹 "Python是一種程式語,可讓你更快速地工作並更有效的整合系統"。簡單地說,就是你可用python這個程式語言去告訴電腦你想要作什麼,讓電腦來幫你完成你要作的事情。
Thumbnail
軟體系統的發展歷程大多相似,首重解決基本需求、提供操作介面,進而提升安全性、擴充功能、優化操作。
Thumbnail
軟體系統的發展歷程大多相似,首重解決基本需求、提供操作介面,進而提升安全性、擴充功能、優化操作。
Thumbnail
本文將介紹在Windows環境中安裝SQL Server及相關PHP擴展,以進行與SQL Server的串接。透過本文所述步驟,您將能在Windows環境中順利進行PHP與SQL Server串接設定。
Thumbnail
本文將介紹在Windows環境中安裝SQL Server及相關PHP擴展,以進行與SQL Server的串接。透過本文所述步驟,您將能在Windows環境中順利進行PHP與SQL Server串接設定。
Thumbnail
在工作情境中手動執行SQL語法更新中文字時,有時會遇到中文字顯示問號(?)的情況。這篇文章將介紹如何解決手動執行SQL語法時造成中文顯示問號(?)的方法。
Thumbnail
在工作情境中手動執行SQL語法更新中文字時,有時會遇到中文字顯示問號(?)的情況。這篇文章將介紹如何解決手動執行SQL語法時造成中文顯示問號(?)的方法。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News