Windows DTS 包用于 SQL Server 2005 数据库备份






4.86/5 (25投票s)
自动化的 Windows DTS 包用于 SQL Server 2005 数据库备份。

引言
这是我第一篇关于 SQL Server 2005 的文章。该产品可以帮助用户备份 SQL Server 2005 数据库及其数据库备份日志文件,它使用一个由安装程序自动创建的作业。用户只需在安装 BackUpDatabaseUsingDTS
之前,解压缩并在数据库中安装 DTSPackage.zip。您可以在 BackUpDatabase.zip 中找到 BackUpDatabaseUsingDTS
的 MSI 安装程序。
背景
在上面的示例中,我输入了我的数据库用户名 "sa"、我的数据库密码 "xxxx",并且我选择了我的 SQL Server 2005 "(local)"。即使我们有选择网络数据库的选项,我仍然建议您在数据库服务器中安装该组件。选择服务器后,将列出数据库名称,从而成功完成安装。我们需要首先安装脚本(DTSPackage.zip)。我在名为 MeridiumCom
的数据库中执行了该脚本。成功安装后,我进入了 BackupDatabase.zip 中的 BackUpDatabaseUsingDTS
MSI 安装程序。请记住,用户应选择相同的数据库才能成功完成。用户可以选择数据库备份路径以及日志文件。当我们成功安装组件后,备份会自动安排在每天晚上 11:45 进行,没有结束日期,开始日期是 12/9/2006。计划类型是重复的。如果用户想要安排其他时间,那么他/她可以转到 SQL SERVER 2005 对象资源管理器 --> 转到 SQL Server 代理 --> 作业 --> 选择作业并右键单击 --> 属性 --> 从左侧面板单击“计划” --> 单击中间面板中的“编辑”按钮。
该组件启动 SQL SERVER AGENT(如果未启动)并创建一个新的 JOB。作业的名称将与用户选择的数据库非常相似。
Using the Code
添加一个 Installer
类并添加以下引用
//
// System.configuration.Install
//
默认情况下,安装程序将被该类继承。例如,我的组件被命名为 DatabaseBackUpInstaller
。用户需要添加 [RunInstaller(true)]
,这是强制性的。
//
// [RunInstaller(true)]
// public partial class DatabaseBackUpInstaller : Installer
//
让我详细介绍一下我在 DatabaseBackUpInstaller
中使用的方法
//
//GetConnectionString --> forms the database connection string
//ExecuteStoredProcedure --> executes the DTSPackage StoredProcedure with
//necessary information.
//public override void Install --> overrides Install
//StartSQLServerAgent --> Starts SQL Server Agent if it is stopped
//ExecuteSQLQuery --> finds the status of SQL Server Agent
//
让我详细介绍一下我在 InstallForm
中使用的方法
//protected override void OnLoad --> overrides onLoad event to get
//SQL Servers in the Network
//btnFinish_Click--> Validates the input textboxes.
//btnDBPath_Click --> As we know MSI installers are MTA Threaded
//ApartmentState. If we want to invoke FolderBrowserDialog, we need to go
//for STA Threaded ApartmentState. This event gets us the database backup path.
//The user can only select the folder.
//filename will be provided by the application.SQLServerLocator Class
//helps to get the network databases.
工作原理
- 用户需要在任何数据库(例如
MeridiumCom
)中执行StoredProcedure
- 用户需要安装应用程序。他/她不需要执行代码。这些代码仅用于理解目的。
关注点
- 我知道如何从 MTA 线程应用程序中调用
FolderBrowserDialog
SQLDMO
命名空间在 .NET 中的使用
历史
- 2007 年 7 月 4 日:首次发布
由于这是我的第一篇文章,用户需要手动执行 DTSPackage StoredProcedure
。我的下一个版本将完全自动化,并具有一些附加功能。
关于 Proteans 软件解决方案
Proteans 是一家外包公司,专注于 Microsoft 技术平台上的软件产品开发和业务应用程序开发。Proteans 与独立软件供应商 (ISV)、系统集成商和企业的 IT 团队合作开发软件产品。我们在软件产品开发方面的技术重点和丰富经验——设计、构建和发布世界一流的、健壮且可扩展的软件产品——帮助我们缩短上市时间、削减成本、降低业务风险并为我们的客户改善整体业务成果。Proteans 在开发方面的专业知识使用 Microsoft .NET 技术。