使用VBScript自动化任务

作者Haidong Ji 翻译 GoodKid

维护一个平稳、高效的SQL Server的关键是做好主动预防。我们需要经常性的找出加强SQL Server的方法并不断改善性能。使用主动式监护,当我们看到任何不正常的行为信号时,我们应调研和找出什么是真正的问题。在问题找到我们之前,发现并解决它。也就是说,在萌芽状态消灭它。

主动监护的关键是自动化。如果我们能够自动化日常任务,我们则能够将主要精力集中在更正有的问题上。另外,作为一个忙碌的DBA,自动化也可以让你更悠闲,这样你还可以学习更多的东西并不断提升自己。

SQL Server可用的自动化工具包括 SQL Server Agent, SQL (存储过程Stored Procedures), DTS, ActiveX 脚本(VBScript), SQL Server 命令行工具(OSQL/ISQL), DOS 命令批处理文件,WMI, SQL Mail,等等,不一而足。它们具有各自的特点,在不同的情况下各有优缺点。

本篇中,我将主要介绍 VBScript。我将举出两个关于文件删除和FTP 传输文件的VBScript 的例子。希望让你能够了解在哪里和如何使用 VBScript。可以轻松的修改并应用这两个例子。

在以后的几周内,我将提供另外的自动化工具的介绍和实例,如 WMI, shell 命令和批处理文件,存储过程等。

什么是VBScript

对于更广泛的环境,Visual Basic Scripting Edition 带来了交互式脚本,像网页脚本编程,Windows 管理器,和 SQL Server 管理器等。不像 VB6或 VB7((谢天谢地 Microsoft 将放弃 .NET lingo, 我非常恨它。这意义重大。),它不是一个成熟和内容丰富的编程语言。VBScript 集合了VB6更多的内容。 如果你已经非常熟悉 Visual Basic或 VBA (Visual Basic for Applications),你学习VBScript将不会有太多麻烦。即时你是一个初学者,VBScript 也并不困难,并且网上有内容丰富的学习资源供你选择。 Andy Warren had an article a few months ago on SQL-DMO. ,在这篇文章中提出了许多方法和技术可以应用于一般的VBScript 编程当中。

VBScript 包含一个Variant的数据类型。Variant 是一个特别的数据类型,它可以包含不同的信息,这取决于不同的使用方式。一个 variant子类型是一个对象。当设计和初始化一个对象时 (FileSystemObject, File object,等),记住如何使用SET关键字。对于初学者来说,这是非常重要的。

在SQL Server中,你可以使用 VBScript 创建一个DTS中的 ActiveX 任务。你可以添加你的script到 SQL Server Agent 工作中作为一个step。仅仅需要记住选择 ActiveX Script 作为 step 类型。. 下面的两个例子可以用在两种方式中。

例子1: VBScript 删除一个文件夹中旧的文件

作为灾难恢复计划的部分,你可能需要从一个服务器向另一个服务器传输备份文件。然而,你可能不想积累下来的备份文件,它们可能导致超出你的备份服务器的空间。在这种情况下,你想删除几天(或几周)以前的旧文件。下面的VBScript 轻松搞定这个任务。你可以客户化这个代码,例如改变 iDaysOld 的数值,以满足你的需要。大部分的代码含义是浅显自明的。为了求得更多的磁盘空间管理, 我几周前的一篇文章。

例子2: VBScript 自动FTP 文件

我们许多的工作在不同的技术环境中进行。我们的环境可能需要我们从*nix 服务或框架中获得文件。下面的例子介绍通过FTP获得文件的技术,并假设你想获得的文件的命名方式是 YYYYMMDDData.csv。因为文件名是每日变化的,因此我们生成的脚本文件是变化的。其余的代码应该是含义自明的。



结论

本篇中,我主要介绍了VBScript 并提供了两个实例。希望它们能够给予你获得起步的充分技术。请继续关注我的关于SQL Server 自动化管理的更多文章。

<!-- end entry -->

<!-- google_ad_client = "pub-2416224910262877"; google_ad_width = 468; google_ad_height = 60; google_ad_format = "468x60_as"; google_ad_type = "image"; google_ad_channel = ""; // -->

你可能感兴趣的:(sql,编程,SQL Server,Google,VBScript)