2014年2月10日 星期一

[研究] Windows Azure SQL Database 備份和還原 - 使用 SqlPackage.exe

[研究] Windows Azure SQL Database 備份和還原 - 使用 SqlPackage.exe

2014-02-10

如何:匯入和匯出資料庫 (Windows Azure SQL Database)
http://msdn.microsoft.com/zh-tw/library/windowsazure/hh335292.aspx#Import
這篇雖然是使用網頁介面去操作,但是實際的管理介面和文中說明似乎不符 (網頁改版,但文字未修改?)

找到下面這篇

Windows Azure SQL Database 備份和還原 - 使用 SqlPackage.exe
http://msdn.microsoft.com/zh-tw/library/windowsazure/jj650016.aspx

SqlPackage.exe
http://msdn.microsoft.com/zh-tw/library/hh550080(v=vs.103).aspx

從 SQL Azure SQL Database 備份到本機命令操作語法
"C:\Program Files (x86)\Microsoft SQL Server\110\DAC\bin\sqlpackage.exe" /a:Export /ssn:”yourserver.database.windows.net” /sdn:"your database to export" /su:"yourdbuser" /sp:"your password" /tf:"bacpac file to create on local disk"


還原語法
"C:\Program Files (x86)\Microsoft SQL Server\110\DAC\bin\sqlpackage.exe" /a:Import /tdn:"your database to create" /tp:"your password here" /tsn:"yourserver.database.windows.net" /tu:"yourdbuser" /sf:"bacpac on local disk"

"C:\Program Files (x86)\Microsoft SQL Server\110\DAC\bin\SqlPackage.exe" /a:Import /tcs:"Data Source="(localdb)\v11.0";Initial Catalog=TestDB;Integrated Security=True" /sf:"D:\ICSTWebAzureDB-2014-02-10-1143.bacpac"




還原語法
"C:\Program Files (x86)\Microsoft SQL Server\110\DAC\bin\sqlpackage.exe" /a:Import /tdn:"your database to create" /tp:"your password here" /tsn:"yourserver.database.windows.net" /tu:"yourdbuser" /sf:"bacpac on local disk"



還原到本機資料庫範例
"C:\Program Files (x86)\Microsoft SQL Server\110\DAC\bin\SqlPackage.exe" /a:Import /tcs:"Data Source="(localdb)\v11.0";Initial Catalog=TestDB;Integrated Security=True" /sf:"D:\DB-2014-02-10-1143.bacpac"

其中 TestDB 是目的資料庫名稱,D:\DB-2014-02-10-1143.bacpac 是來源

還原失敗原因不明,待研究...

PS:所有參數

C:\Program Files (x86)\Microsoft SQL Server\110\DAC\bin>SqlPackage.exe
SqlPackage: 用於建立及部署 SQL Server 資料庫及 DACPAC 封裝的命令列工具。
Copyright (c) Microsoft Corporation.著作權所有,並保留一切權利。

動態屬性使用方式的說明。
/@<file>:<string>
     讀取回應檔以取得更多選項。

/help:[True|False]
     (簡短形式 /?)


命令動作的說明。
/Action:{Extract|DeployReport|DriftReport|Publish|Script|Export|Import}
     指定要執行的動作。 (簡短形式 /a)

/OutputPath:<string>
     指定產生輸出檔案的檔案路徑。 (簡短形式 /op)

/OverwriteFiles:[True|False]
     指定 sqlpackage.exe 是否應該覆寫現有的檔案。指定 false 會導致 sqlpackage.ex
e
     在遇到現有的檔案時中止動作。預設值為 True。 (簡短形式 /of)

/Profile:<string>
     指定 DAC 發行設定檔的檔案路徑。設定檔會定義產生輸出時要使用之屬性及變數的集
合。 (簡短形式 /pr)

/Properties:{PropertyName}={Value}
     指定動件特定屬性的名稱值對; {PropertyName}={Value}。請參閱特定動作的說明,
以便查看動作的屬性名稱。範例:
     sqlpackage.exe /Action:Publish /?。 (簡短形式 /p)

/Quiet:[True|False]
     指定是否隱藏詳細的意見反應。預設為 False。 (簡短形式 /q)

/SourceConnectionString:<string>
     指定來源資料庫的有效 SQL Server/Azure 連接字串。如果指定了此參數,就應該以
獨佔方式將它用於所有其他來源參數。 (簡短形式 /scs)

/SourceDatabaseName:<string>
     定義來源資料庫的名稱。 (簡短形式 /sdn)

/SourceEncryptConnection:[True|False]
     指定 SQL 加密是否應該用於來源資料庫連接。 (簡短形式 /sec)

/SourceFile:<string>
     指定要當做動作來源使用的來源檔案,而非資料庫。如果使用了此參數,其他來源參
數都應該無效。 (簡短形式 /sf)

/SourcePassword:<string>
     若為 SQL Server 驗證案例,則定義要用來存取來源資料庫的密碼。 (簡短形式 /sp)


/SourceServerName:<string>
     定義裝載來源資料庫的伺服器名稱。 (簡短形式 /ssn)

/SourceTimeout:<int>
     指定建立來源資料庫之連接的逾時 (以秒為單位)。 (簡短形式 /st)

/SourceTrustServerCertificate:[True|False]
     指定是否要使用 SSL 來加密來源資料庫連接並且略過驗證信任的憑證鏈結。 (簡短形
式 /stsc)

/SourceUser:<string>
     若為 SQL Server 驗證案例,則定義要用來存取來源資料庫的 SQL Server 使用者。
(簡短形式 /su)

/TargetConnectionString:<string>
     指定目標資料庫的有效 SQL Server/Azure 連接字串。如果指定了此參數,就應該以
獨佔方式將它用於所有其他目標參數。 (簡短形式 /tcs)

/TargetDatabaseName:<string>
     指定 sqlpackage.exe 動作目標之資料庫名稱的覆寫。 (簡短形式 /tdn)

/TargetEncryptConnection:[True|False]
     指定 SQL 加密是否應該用於目標資料庫連接。 (簡短形式 /tec)

/TargetFile:<string>
     指定要當做動作目標使用的目標檔案 (亦即 .dacpac
     檔案),而非資料庫。如果使用了此參數,其他目標參數都應該無效。此參數對於僅支
援資料庫目標的動作無效。 (簡短形式 /tf)

/TargetPassword:<string>
     若為 SQL Server 驗證案例,則定義要用來存取目標資料庫的密碼。 (簡短形式 /tp)


/TargetServerName:<string>
     定義裝載目標資料庫的伺服器名稱。 (簡短形式 /tsn)

/TargetTimeout:<int>
     指定建立目標資料庫之連接的逾時 (以秒為單位)。 (簡短形式 /tt)

/TargetTrustServerCertificate:[True|False]
     指定是否要使用 SSL 來加密目標資料庫連接並且略過驗證信任的憑證鏈結。 (簡短形
式 /ttsc)

/TargetUser:<string>
     若為 SQL Server 驗證案例,則會定義要用於存取目標資料庫的 SQL Server 使用者
。 (簡短形式 /tu)

/Variables:{PropertyName}={Value}
     指定動件特定變數的名稱值對; {VariableName}={Value}。DACPAC 檔案包含有效 SQL
CMD
     變數的清單。如果未針對每一個變數提供值,則將產生錯誤。 (簡短形式 /v)

C:\Program Files (x86)\Microsoft SQL Server\110\DAC\bin>

(完)

[研究] Windows Azure SQL Database 備份和還原 - 使用 SqlPackage.exe (二)
http://shaurong.blogspot.com/2014/02/windows-azure-sql-database-sqlpackageexe_10.html

[研究] Windows Azure SQL Database 與 SQL Server 2012 with SP1 版本研究
http://shaurong.blogspot.com/2014/02/windows-azure-sql-database-sql-server_10.html

[研究] Windows Azure SQL Database 備份 - 使用 SQL Server Management Studio 2012
http://shaurong.blogspot.com/2014/02/windows-azure-sql-database-sql-server.html

[研究] Windows Azure SQL Database 備份和還原 - 使用 SqlPackage.exe
http://shaurong.blogspot.com/2014/02/windows-azure-sql-database-sqlpackageexe.html


沒有留言:

張貼留言