昂捷论坛≡FAQ≡□-自由问答区 → 怎样让Sql Server数据库可以备份到另外一台机器上


  共有22270人关注过本帖树形打印

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

帅哥哟,离线,有人找我吗?
大脑袋
  1楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:少尉 帖子:142 积分:1797 威望:0 精华:0 注册:2005/10/25 10:51:44
怎样让Sql Server数据库可以备份到另外一台机器上  发帖心情 Post By: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编辑过]

使用IE9无法添加附件的解决方法 支持(0中立(0反对(0回到顶部
帅哥哟,离线,有人找我吗?
skybook
  2楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:上士 帖子:52 积分:757 威望:0 精华:1 注册:2005/10/26 11:01:51
  发帖心情 Post By: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,,再运行那个文件就行了。


使用IE9无法添加附件的解决方法 支持(0中立(0反对(0回到顶部
帅哥哟,离线,有人找我吗?
飞絮
  3楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:中校 帖子:594 积分:6649 威望:0 精华:56 注册:2005/10/21 18:45:15
  发帖心情 Post By: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


使用IE9无法添加附件的解决方法 支持(0中立(0反对(0回到顶部