SQL Server PowerShell

SQL Server 2012 支持 Windows PowerShell,Windows PowerShell 是一个功能强大的脚本 shell,管理员和开发人员可以通过它自动执行服务器管理和应用程序部署。 与 Transact-SQL 脚本相比,Windows PowerShell 语言能够支持更复杂的逻辑,这使得 SQL Server 管理员能够生成强大的管理脚本。 Windows PowerShell 脚本还可用来管理其他 Microsoft 服务器产品, 这为管理员提供一个跨服务器的公用脚本语言。

SQL Server PowerShell 组件

SQL Server 提供了一个名为 sqlps 的 Windows PowerShell 模块,该模块用于将 SQL Server 组件导入到 Windows PowerShell 2.0 环境或脚本中。 sqlps 模块加载两个可用来实现以下内容的 Windows PowerShell 管理单元:

  • 一个 SQL Server 提供程序(允许使用类似于文件系统路径的简单导航机制)。 您可以生成类似于文件系统路径的路径,在该路径中,驱动器与 SQL Server 管理对象模型关联,节点基于对象模型类。 然后,可以使用熟悉的命令(如 cddir),按照在命令提示符窗口中定位文件夹的方式浏览路径。 可以使用其他命令(如 rendel)针对路径中的节点执行操作。

  • 一组 cmdlet(它们在 Windows PowerShell 脚本中用于指定 SQL Server 操作)。 SQL Server cmdlet 支持各种操作,如运行包含 Transact-SQL 或 XQuery 语句的 sqlcmd 脚本。

若要了解有关 Windows PowerShell 的信息,请参阅 Windows PowerShell 入门指南

SQL Server 版本

SQL Server 2012 PowerShell 组件可用于管理 SQL Server 2000 或更高版本的实例。 SQL Server 2005 的实例必须运行 SP2 或更高版本。 SQL Server 2000 的实例必须运行 SP4 或更高版本。 将 SQL Server 2012 PowerShell 组件与 SQL Server 的早期版本一起使用时,这些组件的功能将限制为在那些版本中提供的功能。

SQL Server PowerShell 任务

任务说明

主题

介绍用于运行 SQL Server PowerShell 组件、打开 PowerShell 会话和加载 sqlps 模块的首选机制。 sqlps 模块在 SQL Server PowerShell 提供程序和 cmdlet 以及该提供程序和 cmdlet 使用的 SQL Server 管理对象 (SMO) 程序集中加载。

导入 SQLPS 模块

介绍如何仅加载 SMO 程序集而不加载提供程序或 cmdlet。

在 Windows PowerShell 中加载 SMO 程序集

介绍如何通过右键单击“对象资源管理器”中的节点来运行 Windows PowerShell 会话。 Management Studio 启动 Windows PowerShell 会话,加载 sqlps 模块,并将 SQL Server 提供程序路径设置为选定的对象。

从 SQL Server Management Studio 中运行 Windows PowerShell

介绍如何创建运行 Windows PowerShell 脚本的 SQL Server 代理作业步骤。 然后,可以将作业安排在特定时间或响应事件时运行。

在 SQL Server 代理中运行 Windows PowerShell 步骤

介绍如何使用 SQL Server 提供程序浏览 SQL Server 对象的层次结构。

SQL Server PowerShell 提供程序

介绍如何使用指定数据库引擎操作(如运行 Transact-SQL 脚本)的 SQL Server cmdlet。

使用数据库引擎 cmdlet

介绍如何指定包含 Windows PowerShell 不支持的字符的 SQL Server 分隔标识符。

PowerShell 中的 SQL Server 标识符

介绍如何建立 SQL Server 身份验证连接。 默认情况下,SQL Server PowerShell 组件使用 Windows 身份验证连接,该连接使用运行 Windows PowerShell 的进程的 Windows 凭据。

在数据库引擎 PowerShell 中管理身份验证

介绍如何使用由 SQL Server PowerShell 提供程序实现的变量来控制使用 Windows PowerShell Tab 填写功能时列出的对象数。 当处理包含大量对象的数据库时,这一点特别有用。

管理 Tab 填写功能 (SQL Server PowerShell)

介绍如何使用 Get-Help 以获取有关 Windows PowerShell 环境中的 SQL Server 组件的信息。

获取 SQL Server PowerShell 帮助