Heim  >  Artikel  >  Datenbank  >  Sqlserver 2008 局域网异机备份方法

Sqlserver 2008 局域网异机备份方法

WBOY
WBOYOriginal
2016-06-07 15:51:441160Durchsuche

方法一简单的 --创建一个磁盘 exec master..xp_cmdshell 'net use z: \\10.10.10.102\d$ 123.com /user:10.10.10.102\administrator' --删除影射磁盘 exec master..xp_cmdshell 'net use z: /delete' --备份数据库 backup database TsingCloudDb to disk='z:

方法一简单的

   --创建一个磁盘
exec master..xp_cmdshell 
'net use z: \\10.10.10.102\d$ "123.com" /user:10.10.10.102\administrator'
--删除影射磁盘
exec master..xp_cmdshell 'net use z: /delete'  


--备份数据库
backup database TsingCloudDb to disk='z:\TsingCloudDb.bak' 

--自动执行

数据库--SQL server代理--作业 创建新作业---相关操作 时间关系不一一累述

--新建计划--把 exec master..xp_cmdshell 'net use z: /delete'   复制进去可以按照你的计划的时间执行了

------------------------------------------------------------------一下复制别人的 有空再修改-------------------------------------------------------------------------

--备份环境:把数据库服务器(192.168.1.8)的数据库(TEST)备份到(192.168.1.145)的C$下 
--首先,做一个与客户端的映射 
exec master..xp_cmdshell 
'net use z: \\192.168.1.145\c$ "密码" /user:192.168.1.145\administrator' 
/*--说明: 
z: 是映射网络路径对应本机的盘符,与下面的备份对应 
\\192.168.1.145\c$    是要映射的网络路径 
192.168.1.145\administrator    
192.168.1.145是远程的计算机名,administrator是登陆的用户名 
密码                        上面指定的administrator用户的密码 
--*/ 
--其次,进行数据库备份 
backup database TEST to disk='z:\Test.bak' 

--最后.备份完成后删除映射 
exec master..xp_cmdshell 'net use z: /delete' 
--以下代码放在作业里做调度,自动备份、自动删除4天前备份

--创建映射
exec master..xp_cmdshell 'net use w: \DatabaseBackup$  "password"/user:Roy',NO_OUTPUT
go
-----用游标:
declare @s nvarchar(200),@del nvarchar(200)
select  @s='',@del=''


declare datebak cursor for
select 
    [bak]='backup database  '+quotename(Name)+'  to disk =''w:'+Name+'_'+convert(varchar(8),getdate(),112)+'.bak''  with init',
    [del]='exec master..xp_cmdshell '' del w:'+Name+'_'+convert(varchar(8),getdate()-4,112)+'.bak'', no_output' 
from master..sysdatabases where dbid>4 --不备份系统数据库
open datebak


fetch next from datebak into @s,@del
while @@fetch_status=0
    begin
        exec (@del)
        exec(@s)
        fetch next from datebak into @s,@del
    end
close datebak
deallocate datebak
go
--删除映射
exec master..xp_cmdshell 'net use w: /delete'


go




--用JOB. 
--SQL SERVER2008为例 
数据库服务器—>SQL SERVER代理—>作业—>右键 选—>新建 

常规选项页—>输入作业名称—>选中所有者。 

步骤选项页—>新建—>输入步骤名—>类型 TSQL脚本—>选择需要执行的数据库—>在命令框里输入你的SQL 脚本: 

如:update tb set 状态= ...  where 日期........... 

你可以点左下角的【分析】按钮,分析一下语法,分析无误,按确定。 

调度选项页—>新建调度—>输入调度名称—>调度类型 你可以选择也可以点右下角的【更改】按钮进行更改,确定。 


任务栏 SQL SERVER服务器的小图标 双击 服务 选中 SQL SERVER AGENT,点【开始/继续】,选中当启动OS时,自动启动服务,就可以了。 

到你定的那个时间点,SQL SERVER会自动去执行你的脚本的。 

如果需要生成脚本的话,企业管理器—>数据库服务器—>管理目录—>SQL SERVER代理—>作业—>右键你刚完成的作业—>所有任务 

—>生成SQL脚本,即可生成你需要的脚本

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn