SQLServer将本地数据库更新的数据定时上传到外网数据库

SQLServer将本地数据库更新的数据定时上传到外网数据库,第1张

在linux机器上写一个shell脚本:功能如下:1)远程连接内网的数据库导出到linux机器的目录里2)远程连接外网的数据库把刚导出的文件导入外网数据库3)成功导入后把文件删除把scripts放在crontab 里定时执行

企业管理器-》进入你使用的数据库界面-》管理-》数据库维护计划-》新建维护计划-》选中你的数据库-》下一步-》进行到指定数据库备份页面时,选择执行的时间-》下一步,选对保存的位置和方式。继续下一步直到完成。

注意 SQL server agent 服务必须运行,才会自动执行维护计划。你可以把 启动os时自动启动服务勾上。

通常,ASPNET无法实现自动备份,因为,在网站空闲时,web服务器会收回ASPNET进程,导致定时器失败(也有通过代码,让网站总是繁忙,这样web服务器就不会收回他的)。

但是,基本上推荐还是用windows服务或者exe实现数据库备份。

从技术上而言,本身,使用NET实现数据库备份非常简单。

    string db="XXX";

    string sql = " use " + db + "; backup database " + db + " to disk=@'c:\back\abcbak'";

只要使用SqlCommand对象执行上面SQL,即可备份数据库。

SQLServer的维护计划里面自带了备份数据库任务,但不会自动按日期命名,不方便,下面的方法是以存储过程来解决的,以sql2000为例:

首先要确认SQL Server Agent服务是在启动状态

下一步,我们来创建作业,在创建作业之前,我们需要创建备份数据库及命名的存储过程

比如是对TestDB *** 作,打开查询分析器,把下面的存储过程拷到里面执行下就行了,当然了,命名规则可以自动更改

View Code

这样就创建了一个BackupDatabase的存储过程

下面来创建作业吧

常规里添加名称,选择下分类就行了,下面的步骤很重要

添加步骤的时候,有点很重要,就是执行刚才我们创建的存储过程如图

use [TestDB]

exec BackupDatabase 'E:\SqlData\TestDB\'

最后设置下自动备份的时间,也就是调度下即可

这样我们就创建一个这样定时备份数据库,以时间命名的作业

到了指定的时间会自动执行备份数据库,其他的sql2005和sql2008和sql2000大同小异

manger studion连接到你的实例, 打开"对象资源管理器", 没有看到的话, 按F8

展开实例--管理--维护计划

右键"维护计划"--新建维护计划--输入维护计划名称--这样会出现创建维护计划的窗口然后, 在左边的工具箱中(没有的话, 按Ctrl+Alt+X), 将"备份数据库任务"拖到中间的**区域

双击拖出来的这个任务, 会出现设计属性的窗口

在数据库中, 选择你要备份的数据库,然后设置备份到那里, 并且设置备份的文件名

设计好后, 单击"确定", 你也可以单击"T-SQL", 看看sql大致会用什么样的语句来处理你的需求

单击"计划"后面的""按钮, 设置执行的时间计划

最后保存就可以了

把sql agent服务设置为自动启动

首先,假设你已经编写了通过手动运行一个程序,进行更新的方法。

接下来,你要编写一个带有时间(Timer)控件程序,将该程序运行,该程序利用Timer控件不断检查时间是否满足你说的定时,一到时间,就去运行前面说的手动更新的程序。

以上就是关于SQLServer将本地数据库更新的数据定时上传到外网数据库全部的内容,包括:SQLServer将本地数据库更新的数据定时上传到外网数据库、怎么让SQL数据库自动定时备份、ASP.NET网站能够实现数据库自动定时备份吗等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10160473.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存