lowlydba.sqlserver.install_script 模块 – 针对数据库运行迁移脚本

注意

此模块是 lowlydba.sqlserver 集合(版本 2.3.4)的一部分。

如果您正在使用 ansible 包,您可能已经安装了此集合。它不包含在 ansible-core 中。要检查是否已安装,请运行 ansible-galaxy collection list

要安装它,请使用:ansible-galaxy collection install lowlydba.sqlserver。您需要进一步的要求才能使用此模块,请参阅 要求 了解详细信息。

要在 playbook 中使用它,请指定:lowlydba.sqlserver.install_script

lowlydba.sqlserver 0.11.0 中的新功能

概要

  • 使用模块 DBOps 对目标 SQL Server 数据库运行 Dbo-InstallScript

要求

执行此模块的主机需要满足以下要求。

参数

参数

注释

connection_timeout

整数

数据库服务器连接超时时间(以秒为单位)。仅影响连接尝试。不影响执行超时。

默认值: 30

create_database

布尔值

如果数据库不存在,将创建一个空数据库。

选项

  • false ← (默认)

  • true

database

字符串 / 必需

目标数据库的名称。

deployment_method

字符串

SingleTransaction - 将所有部署脚本包装到单个事务中,并在发生错误时回滚整个部署。

TransactionPerScript - 将每个脚本包装到单独的事务中;如果发生错误,则回滚单个脚本部署。

NoTransaction - 按原样部署。

AlwaysRollback - 回滚事务。

选项

  • "NoTransaction" ← (默认)

  • "SingleTransaction"

  • "TransactionPerScript"

  • "AlwaysRollback"

execution_timeout

整数

脚本执行超时。如果执行时间超过指定的秒数,脚本将被中止。

默认值: 0

match

字符串

使用提供的字符串针对提供的文件名运行正则表达式验证。

no_log_version

布尔值

如果设置,部署将不会在数据库中跟踪。这也意味着,无论之前的任何部署历史记录如何,都将部署该包中的所有脚本和所有构建。

选项

  • false ← (默认)

  • true

no_recurse

布尔值

仅处理目标路径的第一级。

选项

  • false ← (默认)

  • true

output_file

字符串

将输出日志记录到指定的文件中。

path

字符串 / 必需

存储目标 sql 脚本的目录。

schema_version_table

字符串

一个用于保存脚本执行历史记录的表。此表用于选择部署期间将运行的脚本,从而防止脚本被执行两次。

sql_instance

字符串 / 必需

要修改的 SQL Server 实例。

sql_password

字符串

用于 SQL 身份验证的密码。

sql_username

字符串

用于 SQL 身份验证的用户名。

属性

属性

支持

描述

check_mode

支持: 完全支持

可以在 check_mode 中运行,并返回更改状态预测,而无需修改目标。

platform

平台: 全部

可以对其进行操作的目标操作系统/系列。

示例

- name: Migrate a database
  lowlydba.sqlserver.install_script:
    sql_instance: test-server.my.company.com
    database: AdventureWorks
    path: migrations

返回值

常见的返回值记录在这里,以下是此模块特有的字段

描述

data

字典

来自 Install-DboScript 函数的修改后的输出。

返回:成功,但不在 check_mode 中。

作者

  • John McCall (@lowlydba)