Sql-Server

使用單個命令將所有可用數據庫編寫為包含架構+數據+使用者的 .sql 文件

  • February 25, 2016

我有一個 SQL 2008 Express,裡面有 80 個數據庫。我想將這些數據庫完全移動到另一台託管 SQL 2008R2 Enterprise 實例的伺服器上。

有人告訴我,最好編寫數據庫腳本並在新實例上執行腳本。

我可以通過 2 種方式做到這一點: 1. 在 2008 伺服器上執行腳本以獲取所有使用者和密碼以及使用者映射到數據庫,然後編寫所有數據庫的腳本(沒有使用者資訊),然後在新實例上恢復數據庫,然後執行使用者腳本以記錄日誌並將使用者映射到數據庫。有人告訴我這是更好的方法

-2:使用 Script to WIZARD 為所有數據庫編寫腳本並選中 DATA+SCHEMA+USERS,然後將數據庫編寫為 .SQL 文件並在新實例上執行此 SQL 腳本。

你有什麼建議?這是最好的方法,而不會遇到任何問題。親切的問候

我個人會為每個數據庫做一個備份,然後將它們附加到新伺服器上。只記得使用

EXEC sp_change_users_login 'Auto_Fix', 'username'

用於修復使用者帳戶。

嚮導方法聽起來可行。

如果您需要另一種編寫 DDL 腳本的方法scptxfr.exe,SQL Server 早期版本附帶的工具仍然適用於 2008。以下將連接到本地 SQL Server 實例並為 my_database 創建一個 DDL 腳本:

scptxfr /s .\SQLExpress /d my_database /I /f database_script.sql /O /H

如果沒有程式,將很難在腳本中獲取所有數據。

引用自:https://dba.stackexchange.com/questions/57763