情况如下:
1.有一台数据库服务器A,安装了sql server。此服务器仅有一块硬盘。
2.另一台服务器B,未安装sql server。
问题是:
考虑到安全问题,数据库服务器仅有一块硬盘,万一硬盘发生问题,所有资料全没。目标是能够进行数据的备份,是否能将数据库服务器A中的数据定期(每天)备份到服务器B的硬盘当中。在需要的时候再从B恢复到A中。
是否能够做到?如何做到?需要再购买一套sql server吗?价格多少?
1.有一台数据库服务器A,安装了sql server。此服务器仅有一块硬盘。
2.另一台服务器B,未安装sql server。
问题是:
考虑到安全问题,数据库服务器仅有一块硬盘,万一硬盘发生问题,所有资料全没。目标是能够进行数据的备份,是否能将数据库服务器A中的数据定期(每天)备份到服务器B的硬盘当中。在需要的时候再从B恢复到A中。
是否能够做到?如何做到?需要再购买一套sql server吗?价格多少?
解决方案 »
- sql统计2个表中数据个数 并相加
- 一些简单的问题
- 请教个问题,sql2000倒入的时候varchar默认是8000,sql2005倒入varchar默认是50左右,怎么修改这个默认值呢?谢谢
- 如何把数据库备份到局域网的另一台电脑
- 关于SQLSERVER内存设置的问题
- 问一个关于mssql连接数量的问题
- SQL中的日期类型
- sql server 遇到的非常头疼的问题
- 怎样恢复sql server7数据库?
- 急,各位大侠怎样创建一个能Insert,UPDATE,DELETE的视图。
- 两表关联,求唯一的数据
- 装了sql server 2005 express,可是右下角没有服务器图标,如何知道是否已经启动?
-------------------------------------------------------------------------------------------------------------------
可以做到,添加网络备份设备,通过存储过程实现备份操作并交由作业(JOB)调度,不需要另外购买SQL Server。
--只要做好网络映射即可!
--备份数据库方法很多--有完全备份、差异备份、日志备份、文件组的备份--不同的备份方式可以恢复到不同的时间点数据。看你对备份的需求有多严格。--以下为完全备份方式.-- ====================================================
-- 备份某个实例上的所有数据库
-- ====================================================
DECLARE @BkPath nvarchar(256), @sql nvarchar(4000)
-- 设置备份目录
SET @BkPath=N'E:\'
+CAST(SERVERPROPERTY(N'ServerName') as sysname)
+N'\'SET @sql=N'md '+QUOTENAME(@BkPath, N'"')
EXEC master.dbo.xp_cmdshell @sqlSET @sql=N'
IF N''?'' = N''tempdb''
RETURN
RAISERROR(N''Backup Database: ?'',10,1) WITH NOWAIT
BACKUP DATABASE [?] TO DISK=N'
+QUOTENAME(@BkPath+N'?.bak',N'''')
+N' WITH FORMAT, STATS=10'
EXEC sp_msforeachdb @sql
1.在B服务器建共享目录如Backup.给这个目录everyone读写的权限.2.让A服务器的启动帐户为Administrator(不能用本地系统帐户)3.建立一个Job.每天运行如下备份代码:
declare @filepath varchar(8000)
declare @strsql varchar(8000)
set @filepath='\\服务器B\backup\basic_full_'+convert(char(10),getdate(),120)+'.bak'
set @strsql='backup database basic to disk='''+@filepath+''''
exec(@strsql)--这样每天会生成一个basic_full_日期.bak的备份文件.
SQL Server实现远程自动备份远程备份的关键是权限,既
实际例子:
环境:
机器A: Windows 2000+SQL Server 2000 (IP地址为:192.168.0.3)
机器B: Windows 2000 (IP地址为:192.168.0.4)
要求:
每天8:00,将SQL Server上的数据库northwind备份到机器B上准备工作:
在机器B上建立共享文件夹back,注意赋予EveryOne组改写的权限
步骤:
为了交流的方便,我写了一个尽量简单的备份存储过程,读者可以按需要完善
declare @url varchar(256),@user varchar(256), @password varchar(256)
set @url='\\192.168.0.162\back'
set @user='ee'
set @password='121314'declare @str varchar(8000)
set @str='master..xp_cmdshell ''net use '+@url+' '+@password + ' /user:'+@user+''''
print @str
--使用net use 建立与远程机器的连接
exec('master..xp_cmdshell ''net use '+@url+' '+@password + ' /user:'+@user+'''')
能否简单一点,比如一个sql server自带的工具就可以实现?
本人对sql server的知识还非常浅薄。
1.网络并不能保证安全,所以共享可能会产生安全问题
2.数据库内容每天增加量比较大,如果每天生成一个全部数据库的映像,没几天就会把硬盘装满。
declare @filepath varchar(8000)
declare @strsql varchar(8000)
set @filepath='\\服务器B\backup\basic_full_'+convert(char(10),getdate(),120)+'.bak'
set @strsql='backup database basic to disk='''+@filepath+''''
exec(@strsql)--这样每天会生成一个basic_full_日期.bak的备份文件
这个真是太好了,简直是救了我。
我栽就栽在使用了系统账户来启动。
谢谢发光的星星!