转)简易SQL Server 备份方案
引:现在一些中小企业都广泛使用MS Windows NT 为网络操作系统平台,SQL Server 为后台数据库构建企业内部的各种管理系统,该成熟技术的普及,能有效地帮助企业对内部数据进行管理。这类应用中,对数据库的备份是很重要的一项工作,其重要性不必多言。
其备份的方法很多,如:在一些规模较大、资金雄厚的企业,往往是采用双机冗余备份机制,即在同一个NT域使用两台服务器,一个是主域控制器,另一个是备份域控制器,两台服务器上都有SQL Server,在程序的运行过程中,不断地将主域控制器中的SQL数据库新数据更新到备份域控制器的SQL 数据库中。这种方案的缺点是,设备投资昂贵,对人员要求较高,不适合小型企业;SQLServer 系统本身也提供了备份手段,但使用起来很不方便,并且备份恢复时间较长,非专业人员很难使用;备份问题突出,利用第三方软件解决这个问题手段较多,但由于软件的投资、安全、版权等等诸多问题,而且常常是软件越多,兼容性越差,出现的问题越多,所以专业人士都建议,在条件允许的情况下尽可能不采用这些方法。
我在1998 年就开始使用SQL Server数据库编制公司的营业管理数据库系统,根据我公司的具体情况采用一套简洁实用的备份体制,效果比较理想。我根据公司当时现状,制定了数据备份方案。这个方案不用增加软件投资,利用SQL Server提供的功能即可,硬件要求不高,只需一台或两台低档服务器(视具体情况而定),或者使用普通PC 机也可以,只要能够装Windows NT 和SQL Server 即可(内存最好256MB 以上)。
在制定方案中,依据以下几个原则:
1.本地备份和异地备份相结合,防止一个地方出现恶性意外,造成当地数据灾难;
2.采用多台备份服务器,可防止惟一备份出现问题;
3.两台本地服务器相互交错、隔日备份,防止软件出现逻辑错误,给业务人员留出一定反应时间,增加人为更改的机会;
4.备份服务器装载全部数据库系统,每日只做动态数据库的覆盖性的增量备份,可以节约数据网上传输时间,减少备份出错的几率,增加备份的可靠性。
备份方案的前提条件:
1. 每一个工作日中,有某一段时间内数据库处于休眠状态,没有人工操作发生;
2. 数据库的操作在可控范围内,对数据操作有据可查,并依此可对备份进行操作,完成数据更新。
这些条件的目的是利用SQL Server2000的复制功能,对于备份可以接受略微过时(非实时)的数据情况下,则复制数据时不需要分布式事务开销,可确保所
相关文档:
Student(S#,Sname,Sage,Ssex) 学生表
Course(C#,Cname,T#) 课程表
SC(S#,C#,score) 成绩表
Teacher(T#,Tname) 教师表
问题:
1、查询“”课程比“”课程成绩高的所有学生的学号;
SELECT a.S# from (SELECT s#,score from SC WHERE C#='001') a,
(SELECT s#,score fr ......
数据库备份实例/**
**数据库备份实例
**朱二 2004年5月
**备份策略:
**数据库名:test
**备份文件的路径e:\backup
**每个星期天凌晨1点做一次完全备份,为保险起见,备份到两个同样的完全备份文件test_full_A.bak和test_full_B.bak
**每天1点(除了星期天)做一次差异备份,分别备份到两个文件test_df_A.bak和test_df ......
SQL分类:
DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE)
DML—数据操纵语言(SELECT,DELETE,UPDATE,INSERT)
DCL—数据控制语言(GRANT,REVOKE,COMMIT,ROLLBACK)
首先,简要介绍基础语句:
1、说明:创建数据库
CREATE DATABASE database-name
2、说明:删除数据库
drop database db ......
DECLARE
TYPE list IS TABLE OF t_stu.project%TYPE INDEX BY BINARY_INTEGER;
project_list list;
v_pro_num NUMBER;
sql_str VARCHAR(255);
t_stu
SID SUBJECT SCORE
1 数学 &n ......
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO
CREATE proc pGetInsertSQL (@TableName varchar(256))
as
begin
set nocount on
declare @sqlstr varchar(4000)
declare @sqlstr1 varchar(4000)
declare @sqlstr2 v ......