How to extract MSSQLServer database as .dacpac without VerifyExtraction?

后端 未结 2 1381
刺人心
刺人心 2021-02-01 04:46

I want to extract a database schema of a MSSQLServer database with Server Management Studio. I use the Extract command \"Extract Data-tier Application..\"

In the databas

相关标签:
2条回答
  • 2021-02-01 05:16

    I wasn't able to find a method that works in SSMS (2008 R2 or 2012), either, but Visual Studio (2013) with SSDT seems to work: Within VS, go to SQL Server Object Explorer, connect to the server in question, right click the database in question, Extract Data-tier Application, and then adjust the Extract Settings, one of which is "Verify extraction". I don't know why MS doesn't just build that into SSMS.

    One somewhat-odd thing I noticed from doing, this, though, is that VS will only extract a .DacPac via this method. Even when you choose to add data to the extract, the extension is still .DacPac. I was under the impression that .DacPacs were solely for Schema Only, while .BacPacs were for Schema + Data. Regardless, after VS created the .DacPac (Schema + Data) file, SSMS was able to import it fine using "Deploy Data-tier Application..." wizard.

    0 讨论(0)
  • 2021-02-01 05:24

    If you cannot use Visual Studio you can use the command line SqlPackage application to extract the schema from the database. By default, this does not verify the schema (no, I don't know why SSMS and the command line offering have different defaults!). SqlPackage.exe can be found in C:\Program Files (x86)\Microsoft SQL Server\<SQL_VERSION>\DAC\bin.

    For example, the following extracts the schema for MyDatabase from the local SQL Server instance and outputs it to a .dacpac file on the local filesystem:

    sqlpackage /Action:Extract /SourceDatabaseName:"MyDatabase" /SourceServerName:localhost /TargetFile:"C:\SomeDirectory\MyDatabase.dacpac"
    

    If you want to include schema verification at a later stage, you can set the flag explicitly by adding /p:VerifyExtraction=True to the command line.

    Full information on SqlPackage.exe can be found here:

    https://msdn.microsoft.com/library/hh550080.aspx

    0 讨论(0)
提交回复
热议问题