我用这个备份的。/*
备份数据库:
@DatabaseName 需备份的数据库名
@Path 备份文件存放路径,可以是本机路径或网络上的路径(只需完全共享就行)
Usage:
Exec myBack 'DB_ERP01','\\TSQL\PSQLBack'
*/
create proc myBack @DatabaseName varchar(20),@Path varchar(20)
Asdeclare @fn varchar(100),@sql varchar(200)
set @fn = @Path +(case when right(@Path,1) <>'\' then '\' else '' end)
+@DatabaseName+'_'
+convert(char(8),getdate(),112)+'_'
+replace(convert(char(8),getdate(),108),':','')
+'.bak'
set @sql = 'backup database '+@DatabaseName + ' to disk = ''' + @fn + ''''
exec(@sql)
在作业中调度此存储过程即可。
备份数据库:
@DatabaseName 需备份的数据库名
@Path 备份文件存放路径,可以是本机路径或网络上的路径(只需完全共享就行)
Usage:
Exec myBack 'DB_ERP01','\\TSQL\PSQLBack'
*/
create proc myBack @DatabaseName varchar(20),@Path varchar(20)
Asdeclare @fn varchar(100),@sql varchar(200)
set @fn = @Path +(case when right(@Path,1) <>'\' then '\' else '' end)
+@DatabaseName+'_'
+convert(char(8),getdate(),112)+'_'
+replace(convert(char(8),getdate(),108),':','')
+'.bak'
set @sql = 'backup database '+@DatabaseName + ' to disk = ''' + @fn + ''''
exec(@sql)
在作业中调度此存储过程即可。
------------------------------------------------------------------------
先使用sp_addumpdevice存储过程将网络备份设备添加到 SQL Server。
例:
USE master
EXEC sp_addumpdevice 'disk', 'networkdevice',
'\\servername\sharename\path\filename.ext'
然后用BACKUP DATABASE { database_name | @database_name_var }
TO < backup_device > 命令备份数据库到远程设备。例:
BACKUP DATABASE [Hub] TO 'networkdevice'
执行不了
伺服器: 訊息 3201,層級 16,狀態 1,行 1
無法開啟備份裝置 '\\10.192.33.200\121\Hub_20050204_130556.bak'。裝置錯誤或裝置離線。請查看 SQL Server 錯誤記錄以取得更多細節。
伺服器: 訊息 3013,層級 16,狀態 1,行 1
BACKUP DATABASE 異常中止中。
参考下面的设置来做映射(假设A服务器上的数据库备份到B服务器)(限局域网内)::1.机器A,B创建一个同名的windows用户,用户组设置为administrators,并设置相同的密码,做为备份文件夹文件夹的有效访问用户,操作:
我的电脑
--控制面板
--管理工具
--计算机管理
--用户和组
--右键用户
--新建用户
--建立一个隶属于administrator组的登陆windows的用户2.在B机器器上,新建一个共享目录,做为备份文件的存放目录,操作:
我的电脑--D:\ 新建一个目录,名为: BAK
--右键这个新建的目录
--属性--共享
--选择"共享该文件夹"
--通过"权限"按纽来设置具体的用户权限,保证第一步中创建的用户具有对该文件夹的所有权限
--确定
3.设置 MSSQLSERVER 及 SQLSERVERAGENT 服务的启动用户
开始--程序--管理工具--服务
--右键 MSSQLSERVER
--属性--登陆--选择"此账户"
--输入或者选择第一步中创建的windows登录用户名
--"密码"中输入该用户的密码
--确定
--同样的方法设置 SQLSERVERAGENT4.在A机器上完成对B机器BAK目录的映射5.查询分析器中执行下面的语句,检验是否成功:
exec master..xp_cmdshell 'dir 映射的盘符'6.A服务器上做备份计划备注:创建一个新的用户只是为了让MSSQLSERVER服务的启动帐户与共享目录的有效访问同名且密码相同,这样才能通过验证(所以你也可以用其他有效的用户来代替,只需要满足用户名和密码相同,并且拥有足够的权限)
两台服务器在同一个网域内 不同的地方 我在测试环境中可以成功(相同的网域 不同的机器 就是物理位置上很近) 但是到正试环境中就是不行 显示"操作系统错误 无法写入"请问是什么原因啊??