使用VBScript自动化任务

来源:互联网 发布:sql update多个字段 编辑:程序博客网 时间:2024/04/29 22:38

 作者 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 自动化管理的更多文章。

<script type="text/javascript"><!--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 = "";// --></script><script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"></script>

  • 使用VBScript自动化任务
  • 通过对一个病毒源码的分析,了解VBS脚本语言的应用
  • Oracle驱动的比较–(2)
  • Oracle与SQL Server数据互易性(1)
  • CTDP linux 程序员手册 (4.2) Linux 测试条件
原创粉丝点击