Devart:如何通过跨多个数据库自动执行数据库脚本来节省时间和减少错误

描述

 

随着企业的增长,它们的数据库也在增长。随着需要处理的数据量不断增加,管理多个数据库并在所有数据库中执行脚本可能会变得难以应付。这可能导致错误和低效率,浪费宝贵的时间和资源。

 

幸运的是,自动化可以为这些问题提供解决方案。通过跨多个目标自动执行数据库脚本,企业可以节省时间、减少错误并提高工作效率。本指南将探讨自动化数据库脚本执行的好处,并提供关于如何在组织中实现自动化的实用技巧。在本文结束时,您将清楚地了解自动化如何简化数据库管理并改进业务操作。

 服务器

 

 

 

内容

方法1:使用dbForgeStudio和命令行对多个数据库执行多个脚本

  • 准备好环境

  • 创建.bat文件

  • 执行.bat文件

方法2:从dbForgeStudio的接口执行针对多个数据库的脚本

结论

 方法1:使用dbForgeStudio和命令行对多个数据库执行多个脚本  

步骤1:准备环境

这一步涉及创建两个文本文件。第一个将包含执行脚本所需的连接和数据库列表,而第二个将存储需要针对这些数据库执行的SQL脚本列表。

 

创建一个databases.txt文件

 

1.1启动第三方文本编辑器,如记事本。

1.2输入源服务器名称、数据库名称、用户名和密码,以“,”分隔。该列表可以根据需要包含任意数量的服务器和数据库。下面是一个你可以使用的模板:

 

服务器

 

1.3使用合适的名称和文件扩展名保存文本文件,例如“Target_Databases.txt”。

 

服务器

创建一个scripts.txt文件

 

1.4打开第三方文本编辑器(如记事本)。

1.5输入您希望执行的SQL脚本的路径,以及它们各自的编码,用逗号分隔。您可以根据以下模板向列表中添加任意数量的脚本。

 

服务器

 

1.6保存文本文件。

 

步骤2:创建一个.bat文件

接下来,我们需要用脚本创建一个.bat文件,该脚本将启动dbForgeStudio for SQLServer,针对Target_Databases.txt文件中指定的数据库执行SQL_files.txt文件中指定的脚本。

 

2.1打开文本编辑器,如“记事本”。

 

2.2输入针对多个数据库执行多个SQL脚本的脚本,并根据需要进行调整。下面的例子显示了脚本结构:

 

服务器

 

脚本中:

 

Target_Databases.txt是列出目标服务器、数据库和要连接到它们的凭证的文件的名称。

SQL_files.txt是存储要执行的SQL脚本列表的文件名。

请注意

“SetRuntool”为dbForgeStudio for SQL Server的默认安装路径。如果您更改了它,您将需要指定工具的.com文件的正确路径。

 

2.3保存为“。bat”文件。

 

步骤3:执行.bat文件

现在,您所需要做的就是运行.bat文件。

 

服务器

 

 

正如您所看到的,已经针对我们指定的数据库成功执行了脚本。令人惊讶的是,如此大规模的惊人结果只需要如此少的准备。

 方法2:从dbForgeStudio的接口跨多个目标执行脚本  

dbForgeStudio for SQL Server允许您快速有效地跨多个数据库执行脚本。为此,只需右键单击SQL文档中的任意位置并选择RunOn Multiple Targets。

 

服务器

 

 

将打开RunOn Multiple Targets向导。

 

服务器

 

让我们针对选定的数据库执行脚本。

 

服务器

 

脚本已经成功执行,并且已经在目标数据库中创建了Users表。如果使用dbForgeStudio for SQL Server对多个数据库运行脚本,该工具将为每个数据库打开单独的SQL文档。这允许您确认查询完成状态。

 

在这里,您可以指定数据库服务器连接并提供脚本文件的路径,或者直接从SSMSSQL文档执行脚本。您还可以选择要对其执行脚本的数据库,为方便起见隐藏系统数据库,并选择以串联或并行方式执行脚本。

 

但是,重要的是要注意,只有当数据库位于同一数据库服务器上时,才能在一个执行操作中对多个数据库执行脚本。如果数据库位于不同的服务器上,则需要通过在向导中切换连接来分几个步骤执行脚本。

 结论  

在本文中,我们演示了两种针对多个数据库执行SQL脚本的方法。第一种方法涉及在.bat文件中创建一个自定义脚本,该脚本允许针对多个数据库运行多个脚本。这种方法在指定要执行的脚本和数据库方面提供了灵活性,使其成为复杂场景的理想解决方案。第二种方法涉及使用dbForgeStudio接口,该接口允许对驻留在一台服务器上的多个数据库执行一个脚本。当处理位于同一服务器和单个脚本上的数据库时,此方法非常有用。

 

两种方法都有各自的优点和缺点,选择合适的方法取决于手头任务的具体要求。现在,您已经完全具备了针对多个数据库高效执行SQL脚本的能力,这可以潜在地为您节省大量管理和维护SQLServer数据库的时间和精力。

 


审核编辑 :李倩

 


打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分