SQL Server 2008 网络备份数据库
一台SQL Server的磁盘空间不够备份,想做日志传送,无法实现,在网上找了一个方法
原文URL:
http://blog.sina.com.cn/s/blog_4c8f1ac20100rz7z.html
sp_configure 'show advanced options', 1;
GO
RECONFIGURE;
GO
sp_configure 'xp_cmdshell', 1;
GO
RECONFIGURE;
GO
sp_configure 'show advanced options', 0;
GO
RECONFIGURE;
GO
远程访问权限: exec master..xp_cmdshell 'net use \\10.96.78.170\tool 登陆密码 /user:10.96.78.170\登陆用户'
GO
RECONFIGURE;
GO
sp_configure 'xp_cmdshell', 1;
GO
RECONFIGURE;
GO
sp_configure 'show advanced options', 0;
GO
RECONFIGURE;
GO
远程访问权限: exec master..xp_cmdshell 'net use \\10.96.78.170\tool 登陆密码 /user:10.96.78.170\登陆用户'
删除访问权限: exec master..xp_cmdshell'net use \\svctag-65c883x\SH_Log /delete'
declare @filename nvarchar(100),--文件名
@NowDay int --设置时间
set @filename='\\10.96.78.170\tool\'+convert(char(8),getdate(),112)+'.bak' --文件路径及文件名
Set @NowDay=Day(GetDate())
begin
BACKUP DATABASE INDB TO DISK = @filename WITH INIT,NOUNLOAD,NAME=N'i数据备份',NOSKIP,STATS=10,NOFORMAT
end
提示:
碰到 net报1219错误,原来做过共享网络磁盘,后面一直加不上。删除也删除不了。
后来执行 exec master..xp_cmdshell 'net use x: /del' 删除映射的x盘,其他盘类推
就可以了
create procedure [dbo].[BackupData_Day] as declare @filename nvarchar(200),--新文件名 @oldfilename nvarchar(200),--旧文件名 @NowDay int --设置时间 --今天备份文件路径及文件名 set @filename='D:\Db_Backup\Backup_day\DB_'+convert(char(8),getdate(),112)+'.bak' --要删除旧文件路径及文件名 set @oldfilename='D:\Db_Backup\Backup_day\DB_'+convert(char(8),getdate()-5,112)+'.bak' Set @NowDay=Day(GetDate()) begin print @filename BACKUP DATABASE DB TO DISK = @filename WITH INIT,NOUNLOAD,NAME=N'DB数据备份', NOSKIP,COMPRESSION,CHECKSUM,STATS=10,NOFORMAT end EXECUTE master.dbo.xp_delete_file 0, @oldfilename ;