en-US/PSql.dll-help.xml
<?xml version="1.0" encoding="utf-8" ?> <helpItems schema="maml" xmlns="http://msh" xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10"> <!-- Copyright 2023 Subatomix Research Inc. SPDX-License-Identifier: ISC Documentation: https://docs.microsoft.com/en-us/powershell/developer/help/how-to-create-the-cmdlet-help-file --> <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --> <!-- Connect-Sql --> <command:command> <command:details> <command:name>Connect-Sql</command:name> <command:verb>Connect</command:verb> <command:noun>Sql</command:noun> <maml:description> <maml:para>Connects to SQL Server or Azure SQL Database.</maml:para> </maml:description> </command:details> <maml:description> <maml:para> The Connect-Sql cmdlet opens a new connection to the specifed SQL Server instance or Azure SQL Database resource. The cmdlet outputs the open connection. </maml:para> <maml:para> The connection remains open until explicitly closed. Use the Disconnect-Sql cmdlet to close connections. </maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Connect-Sql</maml:name> <command:parameter required="false" position="0" pipelineInput="True (ByValue)" globbing="false"> <maml:name>Context</maml:name> <command:parameterValue required="true">PSql.SqlContext</command:parameterValue> </command:parameter> <command:parameter required="false" position="named" pipelineInput="False" globbing="false"> <maml:name>DatabaseName</maml:name> <command:parameterValue required="true">string</command:parameterValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="false" position="0" pipelineInput="True (ByValue)" globbing="false" aliases="none"> <maml:name>Context</maml:name> <maml:description> <maml:para>An object specifying how to connect to the database. Obtain via the New-SqlContext cmdlet.</maml:para> </maml:description> <command:parameterValue required="true">PSql.SqlContext</command:parameterValue> <dev:type> <maml:name>PSql.SqlContext</maml:name> </dev:type> <dev:defaultValue>Default SQL Server instance on the local machine</dev:defaultValue> </command:parameter> <command:parameter required="false" position="named" pipelineInput="False" globbing="false" aliases="DatabaseName"> <maml:name>DatabaseName</maml:name> <maml:description> <maml:para>The name of the database to which to connect. This parameter overrides any database specified via -Context and any default database for the credential.</maml:para> </maml:description> <command:parameterValue required="true">string</command:parameterValue> <dev:type> <maml:name>System.String</maml:name> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes> <command:inputType> <dev:type> <maml:name>PSql.SqlContext</maml:name> </dev:type> <maml:description> <maml:para>An object specifying how to connect to the database. Obtain via the New-SqlContext cmdlet.</maml:para> </maml:description> </command:inputType> </command:inputTypes> <command:returnValues> <command:returnValue> <dev:type> <maml:name>PSql.ISqlConnection</maml:name> </dev:type> <maml:description> <maml:para>A new, open connection to the specifed SQL Server instance or Azure SQL Database resource.</maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:relatedLinks> <maml:navigationLink> <maml:linkText>PSql:</maml:linkText> <maml:uri>https://github.com/sharpjs/PSql</maml:uri> </maml:navigationLink> </maml:relatedLinks> </command:command> <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --> <!-- Disconnect-Sql --> <command:command> <command:details> <command:name>Disconnect-Sql</command:name> <command:verb>Disconnect</command:verb> <command:noun>Sql</command:noun> <maml:description> <maml:para>Disconnects from SQL Server or Azure SQL Database.</maml:para> </maml:description> </command:details> <maml:description> <maml:para> The Disconnect-Sql cmdlet closes the specified connections to SQL Server instances and Azure SQL Database resources. </maml:para> <maml:para> Use this cmdlet to close connections opened by the Connect-Sql cmdlet. </maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Disconnect-Sql</maml:name> <command:parameter required="false" position="0" pipelineInput="True (ByValue, FromRemainingArguments)" globbing="false"> <maml:name>Connection</maml:name> <command:parameterValue required="true">PSql.ISqlConnection[]</command:parameterValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="false" position="0" pipelineInput="True (ByValue, FromRemainingArguments)" globbing="false" aliases="none"> <maml:name>Connection</maml:name> <maml:description> <maml:para>The connections to close.</maml:para> </maml:description> <command:parameterValue required="true">PSql.ISqlConnection[]</command:parameterValue> <dev:type> <maml:name>PSql.ISqlConnection[]</maml:name> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes> <command:inputType> <dev:type> <maml:name>PSql.ISqlConnection[]</maml:name> </dev:type> <maml:description> <maml:para>The connections to close.</maml:para> </maml:description> </command:inputType> </command:inputTypes> <maml:relatedLinks> <maml:navigationLink> <maml:linkText>PSql:</maml:linkText> <maml:uri>https://github.com/sharpjs/PSql</maml:uri> </maml:navigationLink> </maml:relatedLinks> </command:command> <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --> <!-- Expand-SqlCmdDirectives --> <command:command> <command:details> <command:name>Expand-SqlCmdDirectives</command:name> <command:verb>Expand</command:verb> <command:noun>SqlCmdDirectives</command:noun> <maml:description> <maml:para>Performs limited SQLCMD-style preprocessing.</maml:para> </maml:description> </command:details> <maml:description> <maml:para> The Expand-SqlCmdDirectives cmdlet supports a limited subset of SQLCMD preprocessing features: </maml:para> <maml:list> <maml:listItem> <maml:para>GO batch separator</maml:para> </maml:listItem> <maml:listItem> <maml:para>$() sqlcmd variable expansion</maml:para> </maml:listItem> <maml:listItem> <maml:para>:setvar set a sqlcmd variable</maml:para> </maml:listItem> <maml:listItem> <maml:para>:r include a file</maml:para> </maml:listItem> </maml:list> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Expand-SqlCmdDirectives</maml:name> <command:parameter required="true" position="0" aliases="none" pipelineInput="True (ByValue)" globbing="false"> <maml:name>Sql</maml:name> <command:parameterValue required="true">string[]</command:parameterValue> </command:parameter> <command:parameter required="false" position="1" pipelineInput="False" globbing="false" > <maml:name>Define</maml:name> <command:parameterValue required="true">hashtable</command:parameterValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="true" position="0" pipelineInput="True (ByValue)" globbing="false" aliases="none"> <maml:name>Sql</maml:name> <maml:description> <maml:para>The SQL scripts(s) to run.</maml:para> </maml:description> <command:parameterValue required="true">string[]</command:parameterValue> <dev:type> <maml:name>System.String[]</maml:name> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" position="named" pipelineInput="False" globbing="false" aliases="none"> <maml:name>Define</maml:name> <maml:description> <maml:para>SQLCMD preprocessor variables to define.</maml:para> </maml:description> <command:parameterValue required="true">hashtable</command:parameterValue> <dev:type> <maml:name>System.Collections.Hashtable[]</maml:name> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes> <command:inputType> <dev:type> <maml:name>System.String[]</maml:name> </dev:type> <maml:description> <maml:para>SQL scripts(s) to preprocess.</maml:para> </maml:description> </command:inputType> </command:inputTypes> <command:returnValues> <command:returnValue> <dev:type> <maml:name>System.String[]</maml:name> <maml:uri/> <maml:description/> </dev:type> <maml:description> <maml:para>Preprocessed SQL batches.</maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:relatedLinks> <maml:navigationLink> <maml:linkText>PSql:</maml:linkText> <maml:uri>https://github.com/sharpjs/PSql</maml:uri> </maml:navigationLink> <maml:navigationLink> <maml:linkText>sqlcmd Utility:</maml:linkText> <maml:uri>https://docs.microsoft.com/en-us/sql/tools/sqlcmd-utility</maml:uri> </maml:navigationLink> </maml:relatedLinks> </command:command> <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --> <!-- Invoke-Sql --> <command:command> <command:details> <command:name>Invoke-Sql</command:name> <command:verb>Invoke</command:verb> <command:noun>Sql</command:noun> <maml:description> <maml:para>Runs SQL scripts on SQL Server or Azure SQL Database.</maml:para> </maml:description> </command:details> <maml:description> <maml:para> The Invoke-Sql cmdlet runs SQL scripts on SQL Server or Azure SQL Database and outputs each result row as a PowerShell custom object. Additionally, the Invoke-Sql cmdlet receives messages sent by the server and writes them to the information or warning streams, depending on severity. </maml:para> <maml:para> Invoke-Sql supports a limited subset of SQLCMD preprocessing features: </maml:para> <maml:list> <maml:listItem> <maml:para>GO batch separator</maml:para> </maml:listItem> <maml:listItem> <maml:para>$() sqlcmd variable expansion</maml:para> </maml:listItem> <maml:listItem> <maml:para>:setvar set a sqlcmd variable</maml:para> </maml:listItem> <maml:listItem> <maml:para>:r include a file</maml:para> </maml:listItem> </maml:list> <maml:para><!-- HACK: Get-Help does not put a blank line after the <list> --></maml:para> <maml:para> Use the -NoPreprocessing switch to disable preprocessing. </maml:para> <maml:para> By default, Invoke-Sql executes each SQL batch using an error-handling wrapper that prints the offending SQL batch if an error occurs, greatly improving the diagnostic experience. However, the wrapper conflicts with a few specific scenarios: </maml:para> <maml:list> <maml:listItem> <maml:para> Beginning a transaction without committing it in the same batch: this causes an error when using the wrapper. </maml:para> </maml:listItem> <maml:listItem> <maml:para> Committing a transaction that was not started in the same batch: this causes an error when using the wrapper. </maml:para> </maml:listItem> <maml:listItem> <maml:para> Creating a temporary table: the temporary table vanishes at the end of the batch when using the wrapper. </maml:para> </maml:listItem> </maml:list> <maml:para><!-- HACK: Get-Help does not put a blank line after the <list> --></maml:para> <maml:para> To support these scenarios, disable the error-handling wrapper when required. To disable the wrapper for a single SQL batch, include the line '--# NOWRAP' (without the quotes) anywhere in the batch. To disable the wrapper for all batches, use the -NoErrorHandling switch. </maml:para> <maml:para> After execution of each batch, if an error occurred, Invoke-Sql writes an object to the error stream. </maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Invoke-Sql</maml:name> <command:parameter required="true" position="0" aliases="none" pipelineInput="True (ByValue)" globbing="false"> <maml:name>Sql</maml:name> <command:parameterValue required="true">string[]</command:parameterValue> </command:parameter> <command:parameter required="false" position="1" pipelineInput="False" globbing="false" > <maml:name>Define</maml:name> <command:parameterValue required="true">hashtable</command:parameterValue> </command:parameter> <command:parameter required="false" position="named" pipelineInput="False" globbing="false"> <maml:name>Context</maml:name> <command:parameterValue required="true">PSql.SqlContext</command:parameterValue> </command:parameter> <command:parameter required="false" position="named" pipelineInput="False" globbing="false"> <maml:name>NoPreprocessing</maml:name> </command:parameter> <command:parameter required="false" position="named" pipelineInput="False" globbing="false"> <maml:name>NoErrorHandling</maml:name> </command:parameter> <command:parameter required="false" position="named" pipelineInput="False" globbing="false"> <maml:name>UseSqlTypes</maml:name> </command:parameter> <command:parameter required="false" position="named" pipelineInput="False" globbing="false"> <maml:name>Timeout</maml:name> <command:parameterValue required="true">TimeSpan</command:parameterValue> </command:parameter> </command:syntaxItem> <command:syntaxItem> <maml:name>Invoke-Sql</maml:name> <command:parameter required="true" position="0" aliases="none" pipelineInput="True (ByValue)" globbing="false"> <maml:name>Sql</maml:name> <command:parameterValue required="true">string[]</command:parameterValue> </command:parameter> <command:parameter required="false" position="1" pipelineInput="False" globbing="false" > <maml:name>Define</maml:name> <command:parameterValue required="true">hashtable</command:parameterValue> </command:parameter> <command:parameter required="true" position="named" pipelineInput="False" globbing="false"> <maml:name>Connection</maml:name> <command:parameterValue required="true">PSql.ISqlConnection</command:parameterValue> </command:parameter> <command:parameter required="false" position="named" pipelineInput="False" globbing="false"> <maml:name>NoPreprocessing</maml:name> </command:parameter> <command:parameter required="false" position="named" pipelineInput="False" globbing="false"> <maml:name>NoErrorHandling</maml:name> </command:parameter> <command:parameter required="false" position="named" pipelineInput="False" globbing="false"> <maml:name>UseSqlTypes</maml:name> </command:parameter> <command:parameter required="false" position="named" pipelineInput="False" globbing="false"> <maml:name>Timeout</maml:name> <command:parameterValue required="true">TimeSpan</command:parameterValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="true" position="0" pipelineInput="True (ByValue)" globbing="false" aliases="none"> <maml:name>Sql</maml:name> <maml:description> <maml:para>The SQL scripts(s) to run.</maml:para> </maml:description> <command:parameterValue required="true">string[]</command:parameterValue> <dev:type> <maml:name>System.String[]</maml:name> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" position="named" pipelineInput="False" globbing="false" aliases="none"> <maml:name>Define</maml:name> <maml:description> <maml:para>SQLCMD preprocessor variables to define.</maml:para> </maml:description> <command:parameterValue required="true">hashtable</command:parameterValue> <dev:type> <maml:name>System.Collections.Hashtable[]</maml:name> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" position="named" pipelineInput="False" globbing="false" aliases="none"> <maml:name>Context</maml:name> <maml:description> <maml:para>An object specifying how to connect to the database. Obtain via the New-SqlContext cmdlet.</maml:para> </maml:description> <command:parameterValue required="true">PSql.SqlContext</command:parameterValue> <dev:type> <maml:name>PSql.SqlContext</maml:name> </dev:type> <dev:defaultValue>Default SQL Server instance on the local machine</dev:defaultValue> </command:parameter> <command:parameter required="false" position="named" pipelineInput="False" globbing="false" aliases="none"> <maml:name>Connection</maml:name> <maml:description> <maml:para>The SQL connection on which to execute commands.</maml:para> </maml:description> <command:parameterValue required="true">PSql.ISqlConnection</command:parameterValue> <dev:type> <maml:name>PSql.ISqlConnection</maml:name> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" position="named" pipelineInput="False" globbing="false" aliases="NoSqlCmdMode"> <maml:name>NoPreprocessing</maml:name> <maml:description> <maml:para>Disables SQLCMD preprocessing support.</maml:para> </maml:description> <command:parameterValue required="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>System.Management.Automation.SwitchParameter</maml:name> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" position="named" pipelineInput="False" globbing="false" aliases="none"> <maml:name>NoErrorHandling</maml:name> <maml:description> <maml:para>Disables the error-handling wrapper.</maml:para> </maml:description> <command:parameterValue required="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>System.Management.Automation.SwitchParameter</maml:name> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" position="named" pipelineInput="False" globbing="false" aliases="none"> <maml:name>Timeout</maml:name> <maml:description> <maml:para>The maximum duration to wait for each SQL batch to complete. If a batch exceeds this duration, the cmdlet ceases waiting on the batch and writes an error to the error stream. The batch might continue to execute on the database server. </maml:para> </maml:description> <command:parameterValue required="true">TimeSpan</command:parameterValue> <dev:type> <maml:name>System.TimeSpan</maml:name> </dev:type> <dev:defaultValue>00:00:30</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes> <command:inputType> <dev:type> <maml:name>System.String[]</maml:name> <maml:uri/> <maml:description/> </dev:type> <maml:description> <maml:para>SQL scripts(s) to run.</maml:para> </maml:description> </command:inputType> </command:inputTypes> <command:returnValues> <command:returnValue> <dev:type> <maml:name>PSCustomObject[]</maml:name> <maml:uri/> <maml:description/> </dev:type> <maml:description> <maml:para>Result rows of the invoked scripts. The cmdlet converts each row to a PSCustomObject by mapping columns to properties.</maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:relatedLinks> <maml:navigationLink> <maml:linkText>PSql:</maml:linkText> <maml:uri>https://github.com/sharpjs/PSql</maml:uri> </maml:navigationLink> <maml:navigationLink> <maml:linkText>sqlcmd Utility:</maml:linkText> <maml:uri>https://docs.microsoft.com/en-us/sql/tools/sqlcmd-utility</maml:uri> </maml:navigationLink> </maml:relatedLinks> </command:command> <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --> <!-- New-SqlContext --> <command:command> <command:details> <command:name>New-SqlContext</command:name> <command:verb>New</command:verb> <command:noun>SqlContext</command:noun> <maml:description> <maml:para>Creates an object specifying how to connect to SQL Server or Azure SQL Database.</maml:para> </maml:description> </command:details> <maml:description> <maml:para> The PSql New-SqlContext cmdlet accepts parameters specifying how to connect to a SQL Server, Azure SQL Database, or compatible product, and outputs a context object containing the supplied values. Pass the context object to other PSql cmdlets via their -Context parameter to work with the specified database. </maml:para> </maml:description> <command:syntax> <!-- Generic parameter set --> <command:syntaxItem> <maml:name>New-SqlContext</maml:name> <command:parameter required="false" position="0" pipelineInput="False" globbing="false"> <maml:name>ServerName</maml:name> <command:parameterValue required="true">string</command:parameterValue> </command:parameter> <command:parameter required="false" position="1" pipelineInput="False" globbing="false"> <maml:name>DatabaseName</maml:name> <command:parameterValue required="true">string</command:parameterValue> </command:parameter> <command:parameter required="false" position="named" pipelineInput="False" globbing="false"> <maml:name>Credential</maml:name> <command:parameterValue required="true">PSCredential</command:parameterValue> </command:parameter> <command:parameter required="false" position="named" pipelineInput="False" globbing="false"> <maml:name>EncryptionMode</maml:name> <command:parameterValue required="true">{ Default | None | Unverified | Full }</command:parameterValue> </command:parameter> <command:parameter required="false" position="named" pipelineInput="False" globbing="false"> <maml:name>ServerPort</maml:name> <command:parameterValue required="true">ushort</command:parameterValue> </command:parameter> <command:parameter required="false" position="named" pipelineInput="False" globbing="false"> <maml:name>InstanceName</maml:name> <command:parameterValue required="true">string</command:parameterValue> </command:parameter> <command:parameter required="false" position="named" pipelineInput="False" globbing="false"> <maml:name>ReadOnlyIntent</maml:name> </command:parameter> <command:parameter required="false" position="named" pipelineInput="False" globbing="false"> <maml:name>ClientName</maml:name> <command:parameterValue required="true">string</command:parameterValue> </command:parameter> <command:parameter required="false" position="named" pipelineInput="False" globbing="false"> <maml:name>ApplicationName</maml:name> <command:parameterValue required="true">string</command:parameterValue> </command:parameter> <command:parameter required="false" position="named" pipelineInput="False" globbing="false"> <maml:name>ConnectTimeout</maml:name> <command:parameterValue required="true">TimeSpan</command:parameterValue> </command:parameter> <command:parameter required="false" position="named" pipelineInput="False" globbing="false"> <maml:name>ExposeCredentialInConnectionString</maml:name> </command:parameter> <command:parameter required="false" position="named" pipelineInput="False" globbing="false"> <maml:name>Pooling</maml:name> </command:parameter> <command:parameter required="false" position="named" pipelineInput="False" globbing="false"> <maml:name>MultipleActiveResultSets</maml:name> </command:parameter> <command:parameter required="false" position="named" pipelineInput="False" globbing="false"> <maml:name>Frozen</maml:name> </command:parameter> </command:syntaxItem> <!-- Azure parameter set --> <command:syntaxItem> <maml:name>New-SqlContext</maml:name> <command:parameter required="true" position="named" pipelineInput="False" globbing="false"> <maml:name>Azure</maml:name> </command:parameter> <command:parameter required="false" position="0" pipelineInput="False" globbing="false"> <maml:name>ResourceGroupName</maml:name> <command:parameterValue required="true">string</command:parameterValue> </command:parameter> <command:parameter required="false" position="1" pipelineInput="False" globbing="false"> <maml:name>ServerResourceName</maml:name> <command:parameterValue required="true">string</command:parameterValue> </command:parameter> <command:parameter required="false" position="named" pipelineInput="False" globbing="false"> <maml:name>ServerName</maml:name> <command:parameterValue required="true">string</command:parameterValue> </command:parameter> <command:parameter required="false" position="2" pipelineInput="False" globbing="false"> <maml:name>DatabaseName</maml:name> <command:parameterValue required="true">string</command:parameterValue> </command:parameter> <command:parameter required="false" position="named" pipelineInput="False" globbing="false"> <maml:name>AuthenticationMode</maml:name> <command:parameterValue required="true">{ Default | SqlPassword | AadPassword | AadIntegrated | AadInteractive | AadServicePrincipal | AadDeviceCodeFlow | AadManagedIdentity }</command:parameterValue> </command:parameter> <command:parameter required="false" position="named" pipelineInput="False" globbing="false"> <maml:name>Credential</maml:name> <command:parameterValue required="true">PSCredential</command:parameterValue> </command:parameter> <command:parameter required="false" position="named" pipelineInput="False" globbing="false"> <maml:name>ReadOnlyIntent</maml:name> </command:parameter> <command:parameter required="false" position="named" pipelineInput="False" globbing="false"> <maml:name>ClientName</maml:name> <command:parameterValue required="true">string</command:parameterValue> </command:parameter> <command:parameter required="false" position="named" pipelineInput="False" globbing="false"> <maml:name>ApplicationName</maml:name> <command:parameterValue required="true">string</command:parameterValue> </command:parameter> <command:parameter required="false" position="named" pipelineInput="False" globbing="false"> <maml:name>ConnectTimeout</maml:name> <command:parameterValue required="true">TimeSpan</command:parameterValue> </command:parameter> <command:parameter required="false" position="named" pipelineInput="False" globbing="false"> <maml:name>ExposeCredentialInConnectionString</maml:name> </command:parameter> <command:parameter required="false" position="named" pipelineInput="False" globbing="false"> <maml:name>Pooling</maml:name> </command:parameter> <command:parameter required="false" position="named" pipelineInput="False" globbing="false"> <maml:name>MultipleActiveResultSets</maml:name> </command:parameter> <command:parameter required="false" position="named" pipelineInput="False" globbing="false"> <maml:name>Frozen</maml:name> </command:parameter> </command:syntaxItem> <!-- Clone parameter set --> <command:syntaxItem> <maml:name>New-SqlContext</maml:name> <command:parameter required="true" position="named" pipelineInput="True (ByValue)" globbing="false"> <maml:name>Source</maml:name> <command:parameterValue required="true">PSql.SqlContext</command:parameterValue> </command:parameter> <command:parameter required="false" position="named" pipelineInput="True (False)" globbing="false"> <maml:name>ResourceGroupName</maml:name> <command:parameterValue required="true">string</command:parameterValue> </command:parameter> <command:parameter required="false" position="named" pipelineInput="False" globbing="false"> <maml:name>ServerResourceName</maml:name> <command:parameterValue required="true">string</command:parameterValue> </command:parameter> <command:parameter required="false" position="0" pipelineInput="False" globbing="false"> <maml:name>ServerName</maml:name> <command:parameterValue required="true">string</command:parameterValue> </command:parameter> <command:parameter required="false" position="1" pipelineInput="False" globbing="false"> <maml:name>DatabaseName</maml:name> <command:parameterValue required="true">string</command:parameterValue> </command:parameter> <command:parameter required="false" position="named" pipelineInput="False" globbing="false"> <maml:name>AuthenticationMode</maml:name> <command:parameterValue required="true">{ Default | SqlPassword | AadPassword | AadIntegrated | AadInteractive | AadServicePrincipal | AadDeviceCodeFlow | AadManagedIdentity }</command:parameterValue> </command:parameter> <command:parameter required="false" position="named" pipelineInput="False" globbing="false"> <maml:name>Credential</maml:name> <command:parameterValue required="true">PSCredential</command:parameterValue> </command:parameter> <command:parameter required="false" position="named" pipelineInput="False" globbing="false"> <maml:name>EncryptionMode</maml:name> <command:parameterValue required="true">{ Default | None | Unverified | Full }</command:parameterValue> </command:parameter> <command:parameter required="false" position="named" pipelineInput="False" globbing="false"> <maml:name>ServerPort</maml:name> <command:parameterValue required="true">ushort</command:parameterValue> </command:parameter> <command:parameter required="false" position="named" pipelineInput="False" globbing="false"> <maml:name>InstanceName</maml:name> <command:parameterValue required="true">string</command:parameterValue> </command:parameter> <command:parameter required="false" position="named" pipelineInput="False" globbing="false"> <maml:name>ReadOnlyIntent</maml:name> </command:parameter> <command:parameter required="false" position="named" pipelineInput="False" globbing="false"> <maml:name>ClientName</maml:name> <command:parameterValue required="true">string</command:parameterValue> </command:parameter> <command:parameter required="false" position="named" pipelineInput="False" globbing="false"> <maml:name>ApplicationName</maml:name> <command:parameterValue required="true">string</command:parameterValue> </command:parameter> <command:parameter required="false" position="named" pipelineInput="False" globbing="false"> <maml:name>ConnectTimeout</maml:name> <command:parameterValue required="true">TimeSpan</command:parameterValue> </command:parameter> <command:parameter required="false" position="named" pipelineInput="False" globbing="false"> <maml:name>ExposeCredentialInConnectionString</maml:name> </command:parameter> <command:parameter required="false" position="named" pipelineInput="False" globbing="false"> <maml:name>Pooling</maml:name> </command:parameter> <command:parameter required="false" position="named" pipelineInput="False" globbing="false"> <maml:name>MultipleActiveResultSets</maml:name> </command:parameter> <command:parameter required="false" position="named" pipelineInput="False" globbing="false"> <maml:name>Frozen</maml:name> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="false" position="named" pipelineInput="False" globbing="false" aliases="none"> <maml:name>Azure</maml:name> <maml:description> <maml:para>Specifies that the context connects to Azure SQL Database.</maml:para> </maml:description> <command:parameterValue required="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>System.Management.Automation.SwitchParameter</maml:name> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" position="named" pipelineInput="True (ByValue)" globbing="false" aliases="none"> <maml:name>Source</maml:name> <maml:description> <maml:para>A context previously created by this cmdlet from which to copy property values into the created context. This parameter accepts pipeline input.</maml:para> </maml:description> <command:parameterValue required="true">PSql.PSqlContext</command:parameterValue> <dev:type> <maml:name>PSql.SqlContext</maml:name> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" position="named" pipelineInput="False" globbing="false" aliases="ResourceGroup,ServerResourceGroupName"> <maml:name>ResourceGroupName</maml:name> <maml:description> <maml:para>The name of the Azure resource group containing the database server. Requires the -Azure switch or an Azure -Source context.</maml:para> <maml:para>The context uses this value and -ServerResourceName to discover the DNS name of the database server if -ServerName is not specified.</maml:para> </maml:description> <command:parameterValue required="true">string</command:parameterValue> <dev:type> <maml:name>System.String</maml:name> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" position="named" pipelineInput="False" globbing="false" aliases="Resource"> <maml:name>ServerResourceName</maml:name> <maml:description> <maml:para>The Azure resource name of the database server. Requires the -Azure switch or an Azure -Source context.</maml:para> <maml:para>The context uses this value and -ResourceGroupName to discover the DNS name of the database server if -ServerName is not specified.</maml:para> </maml:description> <command:parameterValue required="true">string</command:parameterValue> <dev:type> <maml:name>System.String</maml:name> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" position="0" pipelineInput="False" globbing="false" aliases="Server"> <maml:name>ServerName</maml:name> <maml:description> <maml:para>The DNS name of the database server. The values . and (local) are recognized as aliases for the local machine.</maml:para> <maml:para>If not specified, the default is context-dependent:</maml:para> <maml:list class="bullet"> <maml:listItem> <maml:para>With -Azure switch or an Azure -Source context:</maml:para> <maml:para>The context uses -ResourceGroupName and -ServerResourceName to discover the DNS name of the database server.</maml:para> </maml:listItem> <maml:listItem> <maml:para>Otherwise:</maml:para> <maml:para>The context targets the local machine.</maml:para> </maml:listItem> </maml:list> </maml:description> <command:parameterValue required="true">string</command:parameterValue> <dev:type> <maml:name>System.String</maml:name> </dev:type> <dev:defaultValue>None with -Azure; otherwise, the local machine</dev:defaultValue> </command:parameter> <command:parameter required="false" position="1" pipelineInput="False" globbing="false" aliases="Database"> <maml:name>DatabaseName</maml:name> <maml:description> <maml:para>The name of the database.</maml:para> <maml:para>If not specified, connections will attempt to open in the default database of the authenticated user.</maml:para> </maml:description> <command:parameterValue required="true">string</command:parameterValue> <dev:type> <maml:name>System.String</maml:name> </dev:type> <dev:defaultValue>None (default database of the authenticated user)</dev:defaultValue> </command:parameter> <command:parameter required="false" position="named" pipelineInput="False" globbing="false" aliases="Auth"> <maml:name>AuthenticationMode</maml:name> <maml:description> <maml:para>The method to use to authenticate with Azure SQL Database. Requires the -Azure switch or an Azure -Source context.</maml:para> </maml:description> <command:parameterValue required="true">PSql.AuthenticationMode</command:parameterValue> <dev:type> <maml:name>PSql.AuthenticationMode</maml:name> </dev:type> <dev:defaultValue>Default</dev:defaultValue> <dev:possibleValues> <dev:possibleValue> <dev:value>Default</dev:value> <maml:description> <maml:para> The default authentication mode. Equivalent to SqlPassword if -Credential is specified, and AadIntegrated otherwise. </maml:para> </maml:description> </dev:possibleValue> <dev:possibleValue> <dev:value>SqlPassword</dev:value> <maml:description> <maml:para> SQL password authentication mode. -Credential is required and should match the name and password stored for a server login or contained database user. </maml:para> </maml:description> </dev:possibleValue> <dev:possibleValue> <dev:value>AadPassword</dev:value> <maml:description> <maml:para> Azure Active Directory password authentication mode. -Credential is required and should match the name and password of an Azure AD principal. </maml:para> </maml:description> </dev:possibleValue> <dev:possibleValue> <dev:value>AadIntegrated</dev:value> <maml:description> <maml:para> Azure Active Directory integrated authentication mode. The identity of the process should be an Azure AD principal. -Credential is not required. </maml:para> </maml:description> </dev:possibleValue> <dev:possibleValue> <dev:value>AadInteractive</dev:value> <maml:description> <maml:para> Azure Active Directory interactive authentication mode, also known as Universal Authentication with MFA. Authentication uses an interactive flow and supports multiple factors. -Credential is not required. </maml:para> </maml:description> </dev:possibleValue> <dev:possibleValue> <dev:value>AadServicePrincipal</dev:value> <maml:description> <maml:para> Azure Active Directory service principal authentication mode. -Credential is required and should match client ID and secret of an Azure AD service principal. </maml:para> </maml:description> </dev:possibleValue> <dev:possibleValue> <dev:value>AadDeviceCodeFlow</dev:value> <maml:description> <maml:para> Azure Active Directory device code flow authentication mode. Use this mode to connect to Azure SQL Database from devices that do not provide a web browser, using another device to perform interactive authentication. -Credential is not required. </maml:para> </maml:description> </dev:possibleValue> <dev:possibleValue> <dev:value>AadManagedIdentity</dev:value> <maml:description> <maml:para> Azure Active Directory managed identity authentication mode. For a user-assigned identity, -Credential is required and should match the object ID of the identity; the password is ignored. For a system-assigned identity, -Credential should be omitted. </maml:para> </maml:description> </dev:possibleValue> </dev:possibleValues> </command:parameter> <command:parameter required="false" position="3" pipelineInput="False" globbing="false" aliases="none"> <maml:name>Credential</maml:name> <maml:description> <maml:para>The credential to use to authenticate with the database server.</maml:para> <maml:para>When the -Azure switch is used, or when the -Source context is an Azure context, the use of the credential depends on the -AuthenticationMode parameter.</maml:para> <maml:para>Otherwise, connections will present the credential for SQL password authentication. If -Credential is not specified, connections will attempt to use integrated authentication.</maml:para> </maml:description> <command:parameterValue required="true">PSCredential</command:parameterValue> <dev:type> <maml:name>System.Management.Automation.PSCredential</maml:name> </dev:type> <dev:defaultValue>None (mode-dependent with -Azure; otherwise, integrated authentication)</dev:defaultValue> </command:parameter> <command:parameter required="false" position="named" pipelineInput="False" globbing="false" aliases="Encryption"> <maml:name>EncryptionMode</maml:name> <maml:description> <maml:para>The transport encryption to use for connections.</maml:para> <maml:para>Ignored when the -Azure switch is used or when the -Source context is an Azure context. Azure contexts always use the Full encryption mode.</maml:para> </maml:description> <command:parameterValue required="true">PSql.EncryptionMode</command:parameterValue> <dev:type> <maml:name>PSql.EncryptionMode</maml:name> </dev:type> <dev:defaultValue>Default (non-Azure); Full (Azure)</dev:defaultValue> <dev:possibleValues> <dev:possibleValue> <dev:value>Default</dev:value> <maml:description> <maml:para> The default encrption mode. Equivalent to None for connections to the local machine, and Full for all other connections. </maml:para> </maml:description> </dev:possibleValue> <dev:possibleValue> <dev:value>None</dev:value> <maml:description> <maml:para> No connection encryption or server identity check. Data sent over the connection is exposed to other network devices. A malicious device could masquerade as a server. This encryption mode is appropriate for same-machine connections only. </maml:para> </maml:description> </dev:possibleValue> <dev:possibleValue> <dev:value>Unverified</dev:value> <maml:description> <maml:para> Connections are encrypted, but server identities are not verified. A malicious device could masquerade as a server. This encryption mode is appropriate only when the server uses a self-signed certificate. </maml:para> </maml:description> </dev:possibleValue> <dev:possibleValue> <dev:value>Full</dev:value> <maml:description> <maml:para> Connections are encrypted, and server identities are verified. This is the most secure encryption mode. </maml:para> </maml:description> </dev:possibleValue> </dev:possibleValues> </command:parameter> <command:parameter required="false" position="named" pipelineInput="False" globbing="false" aliases="Port"> <maml:name>ServerPort</maml:name> <maml:description> <maml:para>The remote TCP port of the database server.</maml:para> <maml:para>If not specified, the underlying ADO.NET implementation will use a default port, typically 1433.</maml:para> </maml:description> <command:parameterValue required="true">ushort</command:parameterValue> <dev:type> <maml:name>System.UInt16</maml:name> </dev:type> <dev:defaultValue>None (underlying default)</dev:defaultValue> </command:parameter> <command:parameter required="false" position="named" pipelineInput="False" globbing="false" aliases="Instance"> <maml:name>InstanceName</maml:name> <maml:description> <maml:para>The name of the database engine instance.</maml:para> <maml:para>If not specified, connection attempts will target the default instance.</maml:para> </maml:description> <command:parameterValue required="true">string</command:parameterValue> <dev:type> <maml:name>System.String</maml:name> </dev:type> <dev:defaultValue>None (default instance)</dev:defaultValue> </command:parameter> <command:parameter required="false" position="named" pipelineInput="False" globbing="false" aliases="ReadOnly"> <maml:name>ReadOnlyIntent</maml:name> <maml:description> <maml:para>Specifies that the client intends to perform only reads. The server might optimize connections for a read-only workload.</maml:para> </maml:description> <command:parameterValue required="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>System.Management.Automation.SwitchParameter</maml:name> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" position="named" pipelineInput="False" globbing="false" aliases="Client"> <maml:name>ClientName</maml:name> <maml:description> <maml:para>The name of the client device.</maml:para> <maml:para>If not specified, the underlying ADO.NET implementation will provide a default value.</maml:para> </maml:description> <command:parameterValue required="true">string</command:parameterValue> <dev:type> <maml:name>System.String</maml:name> </dev:type> <dev:defaultValue>None (underlying default)</dev:defaultValue> </command:parameter> <command:parameter required="false" position="named" pipelineInput="False" globbing="false" aliases="Application"> <maml:name>ApplicationName</maml:name> <maml:description> <maml:para>The name of the client application.</maml:para> <maml:para>If not specified, the underlying ADO.NET implementation will provide a default value.</maml:para> </maml:description> <command:parameterValue required="true">string</command:parameterValue> <dev:type> <maml:name>System.String</maml:name> </dev:type> <dev:defaultValue>None (underlying default)</dev:defaultValue> </command:parameter> <command:parameter required="false" position="named" pipelineInput="False" globbing="false" aliases="Timeout"> <maml:name>ConnectTimeout</maml:name> <maml:description> <maml:para>The duration after which a connection attempt times out.</maml:para> <maml:para>If not specified, the underlying ADO.NET implementation default of 15 seconds is used.</maml:para> </maml:description> <command:parameterValue required="true">TimeSpan</command:parameterValue> <dev:type> <maml:name>System.TimeSpan</maml:name> </dev:type> <dev:defaultValue>None (underlying default of 15 seconds)</dev:defaultValue> </command:parameter> <command:parameter required="false" position="named" pipelineInput="False" globbing="false" aliases="none"> <maml:name>ExposeCredentialInConnectionString</maml:name> <maml:description> <maml:para>Specifies that the credential used for authentication should be exposed in connections' ConnectionString property. This is a potential security risk, so use only when necessary.</maml:para> </maml:description> <command:parameterValue required="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>System.Management.Automation.SwitchParameter</maml:name> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" position="named" pipelineInput="False" globbing="false" aliases="none"> <maml:name>Pooling</maml:name> <maml:description> <maml:para>Specifies that connections may be pooled to reduce setup and teardown time. Pooling is useful when making many connections with identical connection strings.</maml:para> </maml:description> <command:parameterValue required="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>System.Management.Automation.SwitchParameter</maml:name> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" position="named" pipelineInput="False" globbing="false" aliases="Mars"> <maml:name>MultipleActiveResultSets</maml:name> <maml:description> <maml:para>Specifies that connections support execution of multiple batches concurrently, with limitations.</maml:para> <maml:para>For more information, see Multiple Active Result Sets (MARS): https://docs.microsoft.com/en-us/dotnet/framework/data/adonet/sql/multiple-active-result-sets-mars .</maml:para> </maml:description> <command:parameterValue required="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>System.Management.Automation.SwitchParameter</maml:name> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" position="named" pipelineInput="False" globbing="false" aliases="none"> <maml:name>Frozen</maml:name> <maml:description> <maml:para>Specifies that the created context should be frozen. A frozen context is immutable; attempting to set a property of a frozen context will cause an exception, leaving the context unchanged.</maml:para> <maml:para>Instead of modifying a frozen context, pass it to this cmdlet in the -Source parameter or as pipeline input. This cmdlet will create a copy of the context and will apply the specified modifications to the copy.</maml:para> </maml:description> <command:parameterValue required="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>System.Management.Automation.SwitchParameter</maml:name> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:parameters> <command:returnValues> <command:returnValue> <dev:type> <maml:name>PSql.SqlContext</maml:name> </dev:type> <maml:description> <maml:para>An object specifying how to connect to a SQL Server or compatible database.</maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:relatedLinks> <maml:navigationLink> <maml:linkText>PSql:</maml:linkText> <maml:uri>https://github.com/sharpjs/PSql</maml:uri> </maml:navigationLink> </maml:relatedLinks> </command:command> </helpItems> |