数据库引擎脚本

适用于:SQL ServerAzure SQL 数据库Azure SQL 托管实例Azure Synapse AnalyticsAnalytics Platform System (PDW)

SQL Server 数据库引擎支持 Microsoft PowerShell 脚本环境,以管理数据库引擎的实例和这些实例中的对象。 还可以在与脚本环境非常类似的环境中生成并运行包含 Transact-SQL 和 Xquery 的数据库引擎查询。

SQL Server PowerShell

SQL Server 包含两个可用来实现以下内容的 SQL Server PowerShell 管理单元:

  • SQL Server PowerShell 提供程序,它将 SQL Server 管理对象模型层次结构公开为类似于文件系统路径的 PowerShell 路径。 可以使用 SQL Server 管理对象模型类来管理路径的每个节点处表示的对象。

  • 一组实现 SQL Server 命令的 SQL Server cmdlet。 其中一个 cmdlet 是 Invoke-Sqlcmd。 此 cmdlet 用于运行要与 sqlcmd 实用工具一起运行的数据库引擎查询脚本。

SQL Server 提供了用于运行 PowerShell 的以下功能:

  • 可导入到 PowerShell 会话中的 sqlps PowerShell 模块,该模块之后将加载 SQL Server 管理单元。可以交互方式运行即席 PowerShell 命令。 可以使用诸如 .\MyFolder\MyScript.ps1 这样的命令来运行脚本文件。

  • PowerShell 脚本文件可用作 SQL Server 代理 PowerShell 作业步骤的输入,这些步骤按预订的时间间隔或者作为对系统事件的响应来运行脚本。

  • 用于启动 PowerShell 和导入 SQL Server 模块的 sqlps 实用工具。 然后,您可以执行该模块支持的所有操作。 可以在命令提示窗口中启动 sqlps 实用工具,也可以通过在 SQL Server Management Studio 对象资源管理器树中右键单击节点并选择“启动 PowerShell”来启动 sqlps 实用工具。

数据库引擎查询

数据库引擎查询脚本包含三种类型的元素:

  • Transact-SQL 语言语句。

  • Xquery 语言语句。

  • sqlcmd 实用工具中的命令和变量。

SQL Server 提供了三种用于生成和运行数据库引擎查询的环境:

  • 可以在 SQL Server Management Studio 中的数据库引擎查询编辑器中以交互方式运行和调试数据库引擎查询。 可以在一个会话中编写并调试多个语句,然后将所有这些语句保存在一个脚本文件中。

  • 使用 sqlcmd 命令提示实用工具,可以交互方式运行数据库引擎查询,还可以运行现有的数据库引擎查询脚本文件。

数据库引擎查询脚本文件通常是使用数据库引擎查询编辑器在 SQL Server Management Studio 中以交互方式进行编码的。 之后,可在下面的某个环境中打开此文件:

  • 使用 SQL Server Management Studio 的“文件”/“打开”菜单,在新的数据库引擎查询编辑器窗口中打开此文件。

  • 通过 sqlcmd实用工具使用 -i input_file 参数运行此文件。

  • 使用 SQL Server PowerShell 脚本中的 Invoke-Sqlcmd cmdlet 和 -QueryFromFile 参数运行此文件。

  • 使用 SQL Server 代理 Transact-SQL 作业步骤按计划的时间间隔或作为对系统事件的响应来运行脚本。

此外,还可以使用 SQL Server 生成脚本向导来生成 Transact-SQL 脚本。 可以在 SQL Server Management Studio 对象资源管理器中右键单击对象,然后选择“生成脚本”菜单项。 “生成脚本” 会启动向导,指导您完成创建脚本的过程。

数据库引擎脚本任务

任务说明 主题
介绍如何使用 Management Studio 中的代码和文本编辑器来以交互方式开发、调试和运行 Transact-SQL 脚本 查询和文本编辑器 (SQL Server Management Studio)
介绍如何使用 sqlcmd 实用工具从命令提示符运行 Transact-SQL 脚本,包括以交互方式开发脚本的能力。 sqlcmd 操作指南主题
介绍如何将 SQL Server 组件集成到 Windows PowerShell 环境中,然后生成 PowerShell 脚本以便管理 SQL Server 实例和对象。 SQL Server PowerShell
介绍如何使用“生成和发布脚本”向导创建从数据库重新创建一个或多个对象的 Transact-SQL 脚本。 生成脚本 (SQL Server Management Studio)

另请参阅

sqlcmd 实用工具
教程:编写 Transact-SQL 语句