WinForm实现文件夹及SQLServer数据库备份
最近接到任务,要做一个SQLServer数据库和文件夹的备份。
一、实现本地备份
SQLServer的本地备份只有两种:
1、运用SQL语句:backup database DB to disk='Path ' with init
2、运用SQLServer的组件:SQLDMO.dll
文件夹备份方法我采用的是:递归复制
protected static void FileCopy(string prePath, string newPath)//递归执行复制文件夹
{
if (!Directory.Exists(newPath))
{
Directory.CreateDirectory(newPath);
}
DirectoryInfo directoryInfo = new DirectoryInfo(prePath);
if (directoryInfo.GetDirectories().Length < 0)
{
FileInfo[] fileInfos = directoryInfo.GetFiles();
foreach (FileInfo fileInfo in fileInfos)
{
File.Copy(prePath + "\\" + fileInfo.Name, newPath + "\\" + fileInfo.Name, true);
}
return;
}
else
{
FileInfo[] fileInfos = directoryInfo.GetFiles();
foreach (FileInfo fileInfo in fileInfos)
{
File.Copy(prePath + "\\" + fileInfo.Name, newPath + "\\" + fileInfo.Name, true);
}
DirectoryInfo[] directoryInfos = directoryInfo.GetDirectories();
foreach (DirectoryInfo dirInfo in directoryInfos)
{
FileCopy(prePath + "\\" + dirInfo.Name, newPath + "\\" + dirInfo.Name);
}
}
}
二、远程备份(目前还在进行中。。。)
SQLServer数据库远程备份:在CSDN上找到的几种方法
1、你的机器administrator密码与服务器相同!你可以直接或你是98且完全共享了某个目录,你就可以:
exec xp_cmdshell 'copy c:\你的旧文件 \\你的机器名或ip\你的共享目录\新的文件 '
go
2、如果对方有web服务器把它考到iis的某个目录下,在ie里下载
3、exec xp_cmdshell 'net user mm 123 /add ' --添加一用户
exec xp_cmdshell 'net localgroup administrators mm /add ' --为用户添加管理员权限
再用\\对方机器\c$入侵
最后用 exec xp_cmdshell 'net user admin /delete '把用户给删除掉
改密码:
xp_cmdshell 'net user administrator "123 " '
4、--创建共享目录
exec master.dbo.XP_cmdshell 'md c:\bak '
exec master.dbo.XP_cmdshell 'net share bak=c:\bak '
exec xp_cmdshell 'copy c:\你的旧库的备份文件 c:\bak\你的旧库的备份文件 '
通过网上邻居拷贝后
--删除共享及共享目录
exec master.dbo.XP_cmdshell 'net share c:\txt /delete /y '
exec master.dbo.XP_cmdshell 'rd c:\txt '

浙公网安备 33010602011771号