Bug: DDL Triggers are NOT disabled during Bacpac import
During the import of a Bacpac DDL triggers are not disabled and therefore are fired on each trigger defined DDL operation as they are carried out during the import process.
An example of this is a trigger firing on ALTER TABLE actions, where the import process is recorded by the trigger in an audit table. However when the contents of the audit table itself is attempted to be imported a duplicate primary key error is thrown as the import process has already written rows to the table.
As an example:
Create a DDL trigger using the attached text file on a SQL Azure database
Export (bacpac) the database
Restore the bacpac and an error will be thrown when it reaches the ddl.ddl_change_tracker step of the data import process.