sqlps 实用工具
sqlps 实用工具会启动一个 PowerShell 会话,并加载和注册 SQL Server PowerShell 提供程序和 cmdlets。您可以输入 PowerShell 命令或脚本,它们使用 SQL Server PowerShell 组件来处理 SQL Server 的实例及其对象。
语法
sqlps
[ [ [ -NoLogo ][ -NoExit ][ -NoProfile ]
[ -OutPutFormat { Text | XML } ] [ -InPutFormat { Text | XML } ]
]
[ -Command { -
| script_block [ -args argument_array ]
| string [ command_parameters ]
}
]
]
[ -? | -Help ]
参数
-NoLogo
指定 sqlps 在启动时隐藏版权标志。-NoExit
指定 sqlps 在完成启动命令后仍继续运行。-NoProfile
指定 sqlps 不加载用户配置文件。用户配置文件记录 PowerShell 会话期间常用的别名、函数和变量。-OutPutFormat { Text | XML }
指定 sqlps 输出应为文本字符串格式 (Text) 或序列化的 CLIXML 格式 (XML)。-InPutFormat { Text | XML }
指定对 sqlps 的输入应为文本字符串格式 (Text) 或序列化的 CLIXML 格式 (XML)。-Command
指定要使 sqlps 运行的命令。sqlps 实用工具运行命令,然后退出,除非也指定了 -NoExit。请不要在 -Command 后指定任何其他开关,如果指定,它们将被读作命令参数。-
-Command- 指定 sqlps 从标准输入读取输入。script_block [ -argsargument_array ]
指定一个要运行的 PowerShell 命令块,必须使用大括号 ({}) 将该块括起来。当从 PowerShell 或 sqlps 调用 sqlps 时,只能指定 Script_block。argument_array 是 PowerShell 变量的数组,包含 script_block 中 PowerShell 命令的参数。string [ command_parameters ]
指定包含要运行的 PowerShell 命令的字符串。使用格式**“&{command}”**。引号指示一个字符串,调用运算符 (&) 使 sqlps 运行命令。[ -? | -Help ]
显示 sqlps 选项的语法摘要。
注释
sqlps 实用工具启动 PowerShell 环境 (PowerShell.exe),其中 SQL Server PowerShell 管理单元已加载并注册。SQL Server PowerShell 管理单元如下所示:
Microsoft.SqlServer.Management.PSProvider.dll
实现 SQL Server PowerShell 提供程序和关联的 cmdlets,如 Encode-SqlName 和 Decode-SqlName。
Microsoft.SqlServer.Management.PSSnapin.dll
实现 Invoke-Sqlcmd cmdlet。
可以使用 sqlps 执行下列操作:
以交互方式运行 PowerShell 命令。
运行 PowerShell 脚本文件。
运行 SQL Server cmdlet。
使用 SQL Server 提供程序路径可以浏览 SQL Server 对象的层次结构。
默认情况下,sqlps 在脚本执行策略设置为 Restricted 的情况下运行。这样可以防止运行任何 PowerShell 脚本。您可以使用 Set-ExecutionPolicy cmdlet 来运行已签名脚本或任意脚本。请仅运行来自受信任源的脚本,并通过使用适当的 NTFS 权限来保证所有输入和输出文件的安全。有关启用 PowerShell 脚本的详细信息,请参阅 Running Windows PowerShell Scripts(运行 Windows PowerShell 脚本)。
示例
A. 以默认的交互模式运行 sqlps,并且无版权标志
sqlps -NoLogo
B. 从命令提示符下运行 SQL Server PowerShell 脚本
sqlps -Command "&{.\MyFolder.MyScript.ps1}"
C. 从命令提示符下运行 SQL Server PowerShell 脚本,并在脚本完成后继续运行
sqlps -NoExit -Command "&{.\MyFolder.MyScript.ps1}"