Utilità sqlps

L'utilità sqlps avvia una sessione di PowerShell con il provider PowerShell per SQL Server e i cmdlet caricati e registrati. È possibile immettere comandi o script di PowerShell che utilizzano componenti di PowerShell per SQL Server per utilizzare istanze di SQL Server e i relativi oggetti.

Sintassi

sqlps 
[ [ [ -NoLogo ][ -NoExit ][ -NoProfile ]
      [ -OutPutFormat { Text | XML } ] [ -InPutFormat { Text | XML } ]
  ]
    [ -Command { -
               | script_block [ -args argument_array ]
               | string [ command_parameters ]
                 }
  ]
]
[ -? | -Help ]

Argomenti

  • -NoLogo
    Specifica che sqlps non deve visualizzare le informazioni sul copyright all'avvio.

  • -NoExit
    Specifica che l'esecuzione di sqlps deve proseguire una volta completati i comandi di avvio.

  • -NoProfile
    Specifica che sqlps non deve caricare un profilo utente. I profili utente registrano alias, funzioni e variabili di uso comune per l'utilizzo tra sessioni di PowerShell.

  • -OutPutFormat { Text | XML }
    Specifica che l'output di sqlps deve essere formattato come stringhe di testo (Text) o in un formato CLIXML serializzato (XML).

  • -InPutFormat { Text | XML }
    Specifica che l'input in sqlps deve essere formattato come stringhe di testo (Text) o in un formato CLIXML serializzato (XML).

  • -Command
    Specifica il comando per l'esecuzione di sqlps. L'utilità sqlps esegue il comando e quindi viene chiusa, a meno che non si specifichi anche -NoExit. Non specificare altre opzioni dopo -Command, in quanto verranno lette come parametri del comando.

  • -
    -Command- specifica che sqlps legge l'input dall'input standard.

  • script_block [ -argsargument_array ]
    Specifica un blocco di comandi di PowerShell da eseguire. Il blocco deve essere racchiuso tra parentesi graffe: {}. Script_block può essere specificato solo quando sqlps è chiamato da PowerShell o sqlps. argument_array è una matrice di variabili PowerShell che contengono gli argomenti per i comandi di PowerShell in script_block.

  • string [ command_parameters ]
    Specifica una stringa che contiene i comandi di PowerShell da eseguire. Utilizzare il formato "&{command}". Le virgolette indicano una stringa e l'operatore di richiamata (&) determina l'esecuzione del comando da parte di sqlps.

  • [ -? | -Help ]
    Visualizza il riepilogo della sintassi delle opzioni di sqlps.

Osservazioni

L'utilità sqlps avvia l'ambiente PowerShell (PowerShell.exe) con gli snap-in di PowerShell per SQL Server caricati e registrati. Gli snap-in di PowerShell per SQL Server sono i seguenti:

  • Microsoft.SqlServer.Management.PSProvider.dll

    Implementa il provider PowerShell per SQL Server e i cmdlet associati, ad esempio Encode-SqlName e Decode-SqlName.

  • Microsoft.SqlServer.Management.PSSnapin.dll

    Implementa il cmdlet Invoke-Sqlcmd.

È possibile utilizzare sqlps per effettuare le operazioni seguenti:

  • Eseguire in modo interattivo comandi di PowerShell.

  • Eseguire file script di PowerShell.

  • Eseguire cmdlet di SQL Server.

  • Utilizzare i percorsi del provider di SQL Server per spostarsi nella gerarchia degli oggetti di SQL Server.

Per impostazione predefinita, l'utilità sqlps viene eseguita con i criteri di esecuzione degli script impostati su Restricted. Questa impostazione impedisce l'esecuzione di qualsiasi script di PowerShell. È possibile utilizzare il cmdlet Set-ExecutionPolicy per abilitare l'esecuzione di script firmati o di qualsiasi script. Eseguire solo script provenienti da origini attendibili e proteggere tutti i file di input e di output utilizzando le autorizzazioni NTFS appropriate. Per ulteriori informazioni sull'abilitazione degli script di PowerShell, vedere Running Windows PowerShell Scripts.

Esempi

A. Esecuzione di sqlps in modalità interattiva predefinita senza le informazioni sul copyright

sqlps -NoLogo

B. Esecuzione di uno script di PowerShell per SQL Server dal prompt dei comandi

sqlps -Command "&{.\MyFolder.MyScript.ps1}"

C. Esecuzione di uno script di PowerShell per SQL Server dal prompt dei comandi e proseguimento dell'esecuzione al termine dell'esecuzione dello script

sqlps -NoExit -Command "&{.\MyFolder.MyScript.ps1}"