SQL Server 2000非域环境下数据库异机备份

文/流年  出处/赛迪网

这篇文章着重介绍了SQL Server 2000非域环境下数据库的异机备份,详细内容请参考下文:

问题:

一个客户的sql server 2k数据库想备份到另外一台服务器上,SQL Server 中可以将sql server及代理服务 的服务帐户设置为域用户,就可以在备份时将备份文件写入指定的网络路径下。但用户在使用域用户运行SQL Server时,反映系统运行不稳定,还是用系统帐户,这样网络备份就无法实现了。

方案:

以前有同事试验用在本机指定网络驱动器,然后将备份文件写入网络驱动器,实现了异机备份。

环境说明:

硬件环境:数据库服务器 192.168.1.5;备份服务器 192.168.1.3

操作系统:都是Win 2k ad +sp4

其他:备份服务器 192.168.1.3,有c:;d:;E:三个硬盘

具体做法:

1、在备份服务器的设置备份目录及共享该目录

1.1 备份服务器上创建了一个本地用户:DBBak ,密码:12345

1.2 在备份服务器的E:下创建一个目录backup ,下有子目录 \complete ;\log;\dif

1.3 共享 backup目录,共享名为backup,权限只有用户DBBak可以完全控制,everyone只读

2、在数据库服务器上

设定一个备份任务,备份的脚本如下:

/********

--任务执行的脚本

********/

/* --在数据库服务器上将\\192.168.1.3\backup\ 映射为本地驱动器 Y:

具体命令见window帮助:

语法:

net use [{DeviceName | *}] [\\ComputerName\ShareName[\volume]] [{Password | *}]] [/user:[DomainName\]UserName] [/user:[DottedDomainName\]UserName] [/user:[UserName@DottedDomainName] [/savecred] [/smartcard] [{/delete | /persistent:{yes | no}}]


net use [DeviceName [/home[{Password | *}] [/delete:{yes | no}]]


net use [/persistent:{yes | no}]


*/

Exec Xp_Cmdshell 'net use Y: \\192.168.1.3\backup 12345 /user:192.168.1.3\DBBak'

备份方法有两种:

一、直接备份在本地硬盘,然后将备份文件压缩,然后将压缩后的文件直接移动到备份服务器上,适用于本地硬盘空间充裕的情况下

--备份完成后,将备份文件压缩,压缩完成后,删除原文件

C:\Progra~1\Winrar\Rar A -Df -Ep Log2006.rar Y:\log\*.*

若在sql中执行见:

declare @sql varchar(100)

declare @Filepath varchar(50)

set @filePath ='D\backup\test'

backup database pubs to disk =@filePath+'pubs.bak'

Set @Sql = 'C:\Progra~1\Winrar\Rar A -Df -Ep ' + @Filepath + ' ' + @Filepath + '\*.*'

Exec Xp_Cmdshell @Sql,No_Output

Set @Sql = 'rd /S /Q ' + @Filepath

Exec Xp_Cmdshell @Sql

Exec Xp_Cmdshell net use Y: \\192.168.1.3\backup 12345 /user:192.168.1.3\DBBak''

Exec Xp_Cmdshell 'Move /Y d:\dbbak\*.rar Y:\'

Exec Xp_Cmdshell 'Net Use z: /delete'

二、直接将备份文件放到备份服务器上

--执行如下存储过程,以备份开始日期为目录,将数据库日志的备份文件放到备份服务器上,如:\\192.168.1.3\e$\backup\servername\log\200601091200\ *.trn

exec s_Sys_Backup 'Y:\log','log',2

 感谢原创者的辛勤劳动,希望对您有所帮助,转载请注明原出处。
 您可能对 [SQL Server] 的这些文章也感兴趣:

保护 SQL Server 2005 Express Edition Server(1)
应用事件探查器优化SQL Server系统
SQL Server 7.0 入门(四)
如何在SQL Server中恢复数据
选择MySQL还是SQL Server
sql server关于函数中如何使用Getdate()
Microsoft SQL Server 2000 的国际化功能(2)
SQL Server 2005 数据转换服务的常见设计问题
在Linux下访问MS SQL Server数据库
分离数据库后导致CPU使用率增加