数据库引擎脚本
适用于:SQL Server
Azure SQL 数据库
Azure SQL 托管实例
Azure Synapse Analytics
Analytics 平台系统(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。 这用于运行与 sqlcmd 实用工具一起执行的数据库引擎查询脚本。
SQL Server 提供了用于运行 PowerShell 的这些功能:
可以将 sqlps PowerShell 模块导入到 PowerShell 会话中,然后该模块会加载 SQL Server 管理单元。您可以交互式运行即席 PowerShell 命令。 可以使用诸如 . 之类的命令运行脚本文件。\MyFolder\MyScript.ps1。
PowerShell 脚本文件可用作 SQL Server 代理 PowerShell 作业步骤的输入,这些作业步骤按计划间隔运行脚本或响应系统事件。
sqlps 实用工具,用于启动 PowerShell 并导入 SQL Server 模块。 然后,您可以执行模块支持的所有操作。 可以在命令提示符下启动 sqlps 实用工具,也可以右键单击 SQL Server Management Studio 对象资源管理器树中的节点并选择 启动 PowerShell。
数据库引擎查询
数据库引擎查询脚本包含三种类型的元素:
Transact-SQL 编程语言语句。
XQuery 语言语句
sqlcmd 实用工具中的命令和变量。
SQL Server 提供三个用于生成和运行数据库引擎查询的环境:
可以在 SQL Server Management Studio 中的数据库引擎查询编辑器中以交互方式运行和调试数据库引擎查询。 可以在一个会话中编写和调试多个语句,然后将所有语句保存在单个脚本文件中。
sqlcmd 命令提示符实用工具允许以交互方式运行数据库引擎查询,并运行现有的数据库引擎查询脚本文件。
数据库引擎查询脚本文件通常使用数据库引擎查询编辑器以交互方式在 SQL Server Management Studio 中编码。 稍后可以在以下其中一个环境中打开该文件:
使用 SQL Server Management Studio 中的 “文件”/打开“”菜单,以在新的“数据库引擎查询编辑器”窗口中打开该文件。
使用 -iinput_file 参数,利用 sqlcmd 实用工具运行文件。
使用 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 环境中,然后生成用于管理 SQL Server 实例和对象的 PowerShell 脚本。 | SQL Server PowerShell |
介绍如何使用 生成和发布脚本 向导创建 Transact-SQL 脚本,以便从数据库重新创建一个或多个对象。 | 生成脚本(SQL Server Management Studio) |