① sql如何实现异地增量备份
1、创建链接服务器
2、参考这个;
参考:
if exists (select * from dbo.sysobjects where id = object_id(N '[dbo].[p_db] ') and OBJECTPROPERTY(id, N 'IsProcere ') = 1)
drop procere [dbo].[p_db]
GO
/*--数据库数据复制
将一个数据库中的数据复制到另一个数据库
如果某列在目标数据库中为标识列,将不会被复制
适用范围:数据库结构发生了变化,想将旧数据库进行升级
这样就可以根据新的数据库结构创建一个空库,然后
将旧数据库的所有数据复制到新库中
--邹建 203.10--*/
/*--调用示例
exec p_db 'bns_aa ', 'bns_new '
exec p_db 'acc_五医 ', 'acc_演示数据8 '
--*/
create proc p_db
@o_dbname sysname, --要复制数据的数据库--源数据库
@n_dbname sysname --接收数据的数据库--目标数据库
--@cleardb bit=0 --清空目标数据库
as
declare @sql nvarchar(4000)
--禁用约束/触发器,防止复制时的数据冲突
set @sql= 'declare #tbc cursor for select name
from '+@n_dbname+ '..sysobjects where xtype= ' 'U ' ' and status> =0 '
exec(@sql)
declare @tbname sysname
open #tbc
fetch next from #tbc into @tbname
while @@fetch_status=0
begin
set @sql= 'alter table '+@n_dbname+ '..[ '+@tbname+ '] NOCHECK CONSTRAINT ALL '
exec(@sql)
set @sql= 'alter table '+@n_dbname+ '..[ '+@tbname+ '] disable trigger ALL '
exec(@sql)
fetch next from #tbc into @tbname
end
close #tbc
--复制数据
declare @sql1 varchar(8000)
set @sql= 'declare #tb cursor for select a.name from '
+@o_dbname+ '..sysobjects a inner join '
+@n_dbname+ '..sysobjects b on a.name=b.name
where a.xtype= ' 'U ' ' and b.xtype= ' 'U ' ' '
exec(@sql)
open #tb
fetch next from #tb into @tbname
while @@fetch_status=0
begin
select @sql1= ' '
,@sql= 'select @sql1=@sql1+ ' ',[ ' '+a.name+ ' '] ' ' from(
select name from '+@o_dbname+ '..syscolumns where id in
(select id from '+@o_dbname+ '..sysobjects where name= ' ' '+@tbname+ ' ' ')
) a inner join (
select name from '+@n_dbname+ '..syscolumns where status <> 0x80 and id in
(select id from '+@n_dbname+ '..sysobjects where name= ' ' '+@tbname+ ' ' ')
) b on a.name=b.name '
exec sp_executesql @sql,N '@sql1 nvarchar(4000) out ',@sql1 out
select @sql1=substring(@sql1,2,8000)
exec( 'insert into '+@n_dbname+ '..[ '+@tbname+ ']( '+@sql1
+ ') select '+@sql1+ ' from '+@o_dbname+ '..[ '+@tbname+ '] ')
if @@error <> 0
print( 'insert into '+@n_dbname+ '..[ '+@tbname+ ']( '+@sql1
+ ') select '+@sql1+ ' from '+@o_dbname+ '..[ '+@tbname+ '] ')
fetch next from #tb into @tbname
end
close #tb
deallocate #tb
--数据复制完成后启用约束
open #tbc
fetch next from #tbc into @tbname
while @@fetch_status=0
begin
set @sql= 'alter table '+@n_dbname+ '..[ '+@tbname+ '] CHECK CONSTRAINT ALL '
exec(@sql)
set @sql= 'alter table '+@n_dbname+ '..[ '+@tbname+ '] enable trigger ALL '
exec(@sql)
fetch next from #tbc into @tbname
end
close #tbc
deallocate #tbc
go
② SQL数据库异地备份
1、你公司的这台服务器应该和其他服务器是同一个域里面的吧,这样可以把你服务器里面的一个文件夹设置成可读写共享,然后在其他服务器上设置维护计划,目标盘就设置到你的这台服务器的共享目录下(注意权限一定要设置好)。这样就跟普通的维护计划一样了,只不过目录设置到网络上的共享盘而已
2、在你这台服务器上建立没个客户的数据库。使用数据库复制(发布、订阅)将客户服务器上的数据库定时的同步到你这台服务器上建立的数据库中。
③ 如何实现sql server数据库异地备份
操作步骤:
一、在备份电脑和主电脑上中创建一个账户liuxh和密码123(自定义)
二、在备份电脑中创建备份用的文件夹backfile并将其共享给指定用户liuxh。
如图:
1.选择用户
2.分配权限
三、在主电脑上为SQLservice设置登录用户
打开“管理”在“服务”中选择“SQL Server (MSSQLSERVER)”右键属性选择“登录”如下图:
1.选择SQL Server (MSSQLSERVER)”
2.选择用户liuxh输入正确的密码
四、在主电脑上打开SQLservice2008创建维护计划。
在数据中的管理目录下选择“维护计划”右键选择“维护计划向导” 创建维护计划,步骤如下图:
1. 第一步
2.下一步
名字可以自定义设置。在计划中,根据计划进行设置。点击“更改”如下图
3.点击确认,点击下一步选择“备份数据库(完整)”
4.点击下一步
5.点击下一步,选择要备份的数据库,和异地备份的路径。
这里备用电脑的IP是192.168.1.148备份文件夹是backfile。所有路径为\\192.168.1.148\backfile(更加实际情况填写)
注:在点击下一步的时候,可能出现无法解析文件夹的错误如下图
原因:你的备用电脑的共享文件没有设置好,请仔细查看原因。
6.点击下一步到完成
④ 如何对远程sql数据库进行本地备份
首先你得知道远程MSSQLIP用户名密码,步骤如下:
1、在本地MSSQL企业管器里新注册远程数据库(新建一个sqlserver注册)
2、在本地新建一数据库,在新建数据库中执行新生成的SQL脚本,注意脚本中的所属用户一般敏扒全部替换为[dbo]然后全部执行。
3、然后在新建数据库中点右键所有任务导入数据,先填源数据库,也就是远程数据库,后填目的数据库,也就是新数据库最后确定。
另外无法通过映射远程磁盘到本地,进行数据库的备份,因为不管是文件备份还是设备备份,备份的时候都无法找到映射的磁盘
注:除了本地备份外保证数据不丢失,还可以用“多备桥源昌份”这样的工具把SQL数据库备裂简份到多个云盘,满足异地容灾备份需要
⑤ 怎样做sql server数据库的异地备份
直接备份到本机有点困难,可以尝试以下两种方法:
一种是,在你本机的sqlserver2005中建一个同名的数据库,然后右键单击该数据库名称->任务->复制数据库方式将远程的数据库拷到本机上,然后在备份(注,使用这个功能,得确保sqlserver是运行状态的)
另一种方法是你先备份到服务器上,然后通过远程登录或者是网上邻居将备份文件拷到你机子上(不过这种方式比较慢)
⑥ 怎样实现sQl2000数据库异地备份
1.在SQL服务器上,配置SQL客户端工具使SQL服务器允许你在异地计算机要能访问到他。 2.通过使用SQL连接工具或查询分析器或企业管理器,连接SQL服务器,使用SQL语句,或企业管理器中的备份功能,备份数据库信息
⑦ 怎样自动并且异地备份重要的数据库文件
步骤/方法
1
首先,我们在平台服务器上必须设置好自动备份。如果我们用的是SQLServer,可以用数据库维护计划来操作,MySQL应该也有相应的程序或软件。这里不再赘述,这篇文章主要介绍的是自动异地备份,本地备份必须先做好。
2
其次,FTP软件要装好,可以用IIS自带的,也可以用Serv-U之类的FTP软件。然后设置一个FTP用户名和密码,指向数据库备份目录。
3
在备份数据库上,建立一个bat的批处理文件,内容如下:
"D:\wget.exe" -x -c -T 5 -w 0 -N -r -l inf -nH –ftp-user=mybackup –ftp-password=mybackup -P E:\BackUp\ "ftp://11.11.11.11"
其中wget.exe这个文件类似于Linux下的wget命令,Windows中也有相应的程序,网上可以下载到。比如我们把它放到D盘,路径就是D:\wget.exe了,mybackup是FTP用户名密码,E:\Backup\是备份服务器上的备份存储路径,最后是主站服务器的IP或域名。
4
把这个bat文件添加到备份服务器的计划任务中,让他定期执行。非常重要的数据库可每天执行一次到两次,注意观察执行结果,确保完全自动。
步骤阅读