The PowerShell SQL Client module replaces the SQL Server utilities SQLCMD with native PowerShell commands.
This module can be installed from PsGallery.
Install-Module -Name PsSmo -Scope CurrentUser
Alternatively it can be build and installed from source.
Invoke-Build Install
TODO
Execute SQLCMD scripts like those created by DacFX.
Command | Description | Status |
---|---|---|
Connect-Instance | Create a new database connection. | ☑ |
Disconnect-Instance | Close connection | ☑ |
Invoke-Command | Execute SQLCMD scripts | ☐ |
⮱ Batch support | Support GO statements |
☑ |
⮱ File support | Script source from file | ☑ |
⮱ Variable support | Support variables like $(variable) |
☑ |
⮱ :setvar support | Support :setvar |
☑ |
⮱ SQLCMD command support | Support SQLCMD commans like :on error |
☐ |
Uninstall-Schema | Remove a database schema recursively | ☐ |
See the changelog file.
The build scripts require InvokeBuild. If it is not installed, install it with the command Install-Module InvokeBuild -Scope CurrentUser
.
You can build the module using the VS Code build task or with the command Invoke-Build Build
.
The tests scripts are based on Pester. If it is not installed, install it with the command Install-Module -Name Pester -Force -SkipPublisherCheck
. Some tests require a SQL Server. The test creates a SQL Server in a Docker container. If needed, install Docker. The container are created using PSDocker, which can be installed using Install-Module PSDocker -Scope CurrentUser
.
For local testing use the VSCode test tasks or execute the test scripts directly or with Invoke-Pester
.
The InvokeBuild test tasks are for CI and do not generate console output.