2013-12-11 13 views
8

Utilizzo SSDT per Visual Studio 2012 here e utilizzo del suo strumento da riga di comando SQLPackage.exe per pubblicare un file .dacpac.Come pubblicare il file DACPAC in un progetto di database SQL Server tramite SQLPackage.exe di SSDT?

Voglio pubblicarlo su un SQL Server database project. Sto cercando di utilizzare il parametro in questo guide ma non riesco a trovare modi come farlo.

Come posso farlo?

+1

Esempi di utilizzo sqlpackage.exe: http://stackoverflow.com/questions/8371879/deploy-sql-server-2012-db-project-via -command-line-sql-server-data-tools-ctp4/8376809 # 8376809 – Keith

risposta

9

Stai cercando di pubblicare su un database o creare un progetto di database da un dacpac? Queste sono due cose diverse.

  • Per creare un progetto di database basato su un dacpac, creare un nuovo progetto di database di SQL Server in Visual Studio. Quindi fare clic con il tasto destro del mouse sul progetto in Esplora soluzioni e scegliere "Importa -> Applicazione livello dati (* .dacpac)" e selezionare il proprio dacpac. Ciò convertirà il contenuto del dacpac in script nel progetto e, se scegli "Importa impostazioni database", le opzioni del database verranno impostate in base alle impostazioni nel dacpac. Sfortunatamente non c'è modo di farlo tramite uno strumento da riga di comando di cui sono a conoscenza.

  • Per utilizzare SqlPackage.exe per la pubblicazione in un database, la guida a cui è collegato ha tutte le opzioni. Un semplice comando sarebbe "sqlpackage/a: publish /sf:db1.dacpac/tsn: localhost/tdn: db1" per pubblicare dacpac "db1" in un database "localhost \ db1". Per le altre opzioni di pubblicazione digita "sqlpackage/a: publish /?" per ottenere l'elenco delle azioni applicabili sulla riga di comando.

+0

Voglio aggiornare lo schema di un database esterno al progetto di database –

1

Utilizzando Powershell è possibile eseguire il deployment su Istanze SQL in locale standard o Istanza SQL di Azure. La stringa di connessione e altre proprietà saranno alimentati dai PublishProfile

$PublishPath = "Path for the log" 
$dacpac = "dbname.dacpac" 
$publishProfile = "dbname.xml" # Publish profile xml for Publishing the database project 

     # Generate Deploy Report 
     $DeployReport = ".\sqlpackage.exe /Action:DeployReport /Sourcefile:$dacpac /pr:'$publishProfile' /outputpath:$PublishPath" 

     Invoke-Expression $DeployReport 

     # Generate Script Report 
     $GenerateScript = ".\sqlpackage.exe /Action:Script /Sourcefile:$dacpac /pr:'$publishProfile' /outputpath:$PublishPath" 

     Invoke-Expression $GenerateScript 

     # Database Publish 
     $publish = ".\sqlpackage.exe /Action:Publish /Sourcefile:$dacpac /pr:'$publishProfile'" 

     Invoke-Expression $publish | Out-File $PublishPath 
Problemi correlati