# How use

## Use .NetCore tool for publish .dacpac file

### What's .dacpac
A data-tier application (DAC) is a logical database management entity that defines all SQL Server objects - such as tables, views, and instance objects - associated with a user's database. It is a self-contained unit of SQL Server database deployment that enables data-tier developers and DBAs to package SQL Server objects into a portable artifact called a DAC package, or .dacpac file. <sup>[See more](https://docs.microsoft.com/en-us/sql/relational-databases/data-tier-applications/data-tier-applications?view=sql-server-2017)</sup>

### Requirements

1. .NET Core 2.1+ runtime installed

### Publish .dacpac with .Net tool

####  Install the Dacpac.Tool package

dotnet tool install --global Dacpac.Tool

#### Run tool only with the required parameters

1. Use case   
Multi tenant database, your have same schema for multiple client on database server

* Windows autentication (SSPI)

dotnet dacpac publish --dacpath=C:\artifact\db\ --server=mydatabase.server.contoso.com --databasenames='client1;client2;client3;client4'
* Specific User authentication

dotnet dacpac publish --dacpath=C:\artifact\db\ --server=mydatabase.server.contoso.com --databasenames='client1;client2;client3;client4' --userId=useWithPersmissionForUpdate --password=123455


* Parameters    

|dacpath| Directory where the dacpac file is stored| Directory that the tool is running|
|databasenames | The names of databases that need to be updated|It's requerid not have default|
|namenattern|Pattern for search file|*.dacpac|
|UseSspi|Indicates that the windows user should be used|true
|userId|Database user <sub>Need permissions for schema change</sub>|carioca|
|password| The password from 'userid' | IFromBrazilian|

[See all parameters](https://docs.microsoft.com/en-us/dotnet/api/microsoft.sqlserver.dac.dacdeployoptions?redirectedfrom=MSDN&view=sql-dacfx-140.3881.1)

dotnet tool install --global Dacpac.Tool --version
This package contains a .NET tool you can call from the shell/command line.
dotnet new tool-manifest # if you are setting up this repo
dotnet tool install --local Dacpac.Tool --version
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=Dacpac.Tool&version=
The NuGet Team does not provide support for this client. Please contact its maintainers for support.


This package has no dependencies.

Version History

Version Downloads Last updated 525 12/29/2020 102 12/29/2020 232 11/13/2020
1.0.388 293 3/13/2019
1.0.386 359 3/12/2019
1.0.375 465 2/9/2019
1.0.373 457 1/27/2019