创建 PowerShell 脚本作业步骤
重要
Azure SQL 托管实例,目前大多数但并非所有 SQL Server 代理功能都受支持。 有关详细信息,请参阅 Azure SQL 托管实例 T-SQL 差异与 SQL Server。
本主题介绍如何使用 SQL Server Management Studio 或 Transact-SQL 创建和定义在 SQL Server 中执行 PowerShell 脚本的 SQL Server 代理作业步骤。
开始之前
安全
有关详细信息,请参阅 实现 SQL Server 代理安全性。
我们正在侦听: 如果在本文中找到过时或不正确的内容,例如步骤或代码示例,请告诉我们。 在本页面底部的 反馈 部分中,可以单击 此页面 按钮。 我们阅读了有关 SQL 的每一项反馈,通常是第二天。 谢谢。
使用 SQL Server Management Studio
创建 PowerShell 脚本作业步骤
在 对象资源管理器中, 连接到 SQL Server 数据库引擎的实例,然后展开该实例。
展开 SQL Server 代理,创建新作业或右键单击现有作业,然后单击 属性。 有关创建作业的详细信息,请参阅 创建作业。
在 作业属性 对话框中,单击 步骤 页,然后单击 新建。
在 “新建作业步骤”对话框中,键入作业 步骤名称。
在 类型 列表中,单击 PowerShell。
在 运行方式 列表中,选择一个代理帐户,该帐户拥有作业将使用的凭据。
在 命令 框中,输入将为作业步骤执行的 PowerShell 脚本语法。 或者,单击 打开 并选择包含脚本语法的文件。 有关 PowerShell 脚本的示例,请参阅下面的 Using Transact-SQL。
单击“高级”页可设置以下作业步骤选项:如果作业步骤成功或失败,SQL Server 代理应尝试执行作业步骤的次数,以及重试尝试的频率。
使用 Transact-SQL
创建 PowerShell 脚本的作业步骤
在 对象资源管理器中,连接到数据库引擎的实例。
在标准栏上,单击“新建查询”。
将以下示例复制并粘贴到查询窗口中,然后单击 执行。
-- creates a PowerShell job step that finds the processes -- that use more than 1000 MB of memory and kills them USE msdb; GO EXEC sp_add_jobstep @job_name = N'Weekly Sales Data Backup', @step_name = N'Kills all processes that use more than 1000 MB of memory', @subsystem = N'PowerShell', @command = N'Get-Process | Where-Object { $_.WS -gt 1000MB } | Stop-Process', @retry_attempts = 5, @retry_interval = 5 ; GO
有关详细信息,请参阅 sp_add_jobstep(Transact-SQL)。
使用 SQL Server 管理对象
创建 PowerShell 脚本作业步骤
使用所选编程语言(如 Visual Basic、Visual C# 或 PowerShell)使用 JobStep 类。