Rss & SiteMap

昂捷论坛 http://www.enjoyit.com.cn

中国零售业界精英论坛!
共3 条记录, 每页显示 15 条, 页签: [1]
[浏览完整版]

标题:怎样让Sql Server数据库可以备份到另外一台机器上

1楼
大脑袋 发表于:2005/10/26 20:05:09

1)如果是用的操作系统用户administrator登陆的系统,需要在“管理工具--〉服务”里把
MSSQLSERVER的启动账户改为administrator
2)在要存放数据库备份文件的机器上建立一个共享目录,然后在Sql Server所在的机器上映射成一个驱动器,比如F
3)在数据库里建立一个登录,选择windows身份验证,选择administrator,使之具有系统管理的服务器角色,并且可以访问要备份的数据库
4)这时只要用Windows身份验证进入查询分析器,执行
backup database enjoy_shq to disk= 'f:\enjoy_shq_bak.bak'
就可以了

备份数据库到另外一台机器的潜在问题
1)网络不稳定,导致备份失败
2)修改操作系统administator的密码后,启动MSSQLSERVER 服务的地方也要更改密码
3)还没有仔细想怎么让机器自动执行备份到别的服务器,并且自动保留几个备份。

[此贴子已经被飞絮于2005-10-26 21:29:39编辑过]
2楼
skybook 发表于:2005/10/27 17:14:12

我们是做一个批处理文件执行的,,

就可以在WINDOWS下的计划任务里执行的, 时间和次数都可以选的,,

如要把本机E盘DATA目录下的BAK.DAT拷到计算机名为WORK1下的D盘下的DATABAK目录下,WORK1的当前操作系统下有个用户名为user,密码为user
命令为: @echo off
net use \\work1\ipc$ /user:user user
net use x:=\\work1\d\databak\ /user:user user
copy e:\data\bak.dat x:\ /y
net use x: /dele
net use \\work1\ipc$ /dele

关于NET USE 命令的格式,,可以参考一些文档,,并且记住用户名和密码之间有个空格的。
并且WIN98下的这个命令格式有些不一样的。

当然也可以建一个存储过程,,调用SQL的CMDSHELL,,再运行那个文件就行了。

3楼
飞絮 发表于:2005/10/27 22:28:05

大家一定要重视备份的问题,千万别侥幸。

下面是网上的一个例子,不过好象成功与否是跟连接的用户权限有关的

SQLServer中网络备份一例

/****************************************************************************************
* *
* FielName : backup.sql *
* Function : 自动备份 *
* Author : Yahong *
* Write Date : 2005-5-10 2005-5-19 *
* Version : 00 01 *
* *
*****************************************************************************************/

use master

declare @dir varchar(256),@dir_db varchar(256),
@verb varchar(256),@cmd varchar(256),
@backup_name varchar(256),@dynamic_name varchar(10),
@disk_name varchar(256)

--建立网络连接
exec xp_cmdshell 'net use K: /delete'
exec xp_cmdshell 'net use K: \\yahong1\backup backup /user:yahong1\backup '


--设定名字
set @dynamic_name=convert(varchar(10),getdate(),120)

set @dir='K:\'+@dynamic_name
set @dir_db=@dir+'ibm'
set @verb='mkdir '


--建立目录

--set @cmd=@verb+@dir
--exec xp_cmdshell @cmd

set @cmd=@verb+@dir_db
exec xp_cmdshell @cmd

--DgLifeng
set @backup_name= 'dglifeng_'+@dynamic_name
set @disk_name=@dir_db+'\'+@backup_name

EXEC sp_addumpdevice 'disk',@backup_name, @disk_name
BACKUP DATABASE Dglifeng TO @backup_name

exec sp_dropdevice @backup_name

--lifeng
set @backup_name= 'lifeng_'+@dynamic_name
set @disk_name=@dir_db+'\'+@backup_name

EXEC sp_addumpdevice 'disk',@backup_name, @disk_name
BACKUP DATABASE lifeng TO @backup_name
exec sp_dropdevice @backup_name


--lifengOA
set @backup_name= 'lifengOA_'+@dynamic_name
set @disk_name=@dir_db+'\'+@backup_name

EXEC sp_addumpdevice 'disk',@backup_name, @disk_name
BACKUP DATABASE lifengOA TO @backup_name
exec sp_dropdevice @backup_name

--mytopship
set @backup_name= 'mytopship_'+@dynamic_name
set @disk_name=@dir_db+'\'+@backup_name


EXEC sp_addumpdevice 'disk',@backup_name,@disk_name
BACKUP DATABASE Mytopship TO @backup_name
exec sp_dropdevice @backup_name


--同舟化工 ais001
set @backup_name= '同舟化工_'+@dynamic_name
set @disk_name=@dir_db+'\'+@backup_name

EXEC sp_addumpdevice 'disk',@backup_name,@disk_name
BACKUP DATABASE ais002 TO @backup_name
exec sp_dropdevice @backup_name


--同川化工 ais002
set @backup_name= '同川化工_'+@dynamic_name
set @disk_name=@dir_db+'\'+@backup_name

共3 条记录, 每页显示 15 条, 页签: [1]

Copyright © 2006-2010 EnjoyIT.com.cn
网友言论或观点与昂捷公司无关!涉及版权/著作权问题请与发帖者直接联系
Powered By Dvbbs Version 8.2.0
Processed in 0.17969 s, 2 queries.