sybase数据库服务器的安装与操作

时间:2024.4.8

第一单元  数据库服务器的安装与操作

 P  目标:

能够根据资料进行数据库服务器的安装与设置

掌握常用的数据库服务器检查方法

掌握常见的数据库服务器故障处理方法

掌握简单的SQL语句

一、数据库服务器的安装准备

数据库服务器是PSMS系统中的核心设备,当数据库服务器出现问题的时候,所有监控主机均上报中断,业务台也不能连接服务器,即不能运行,此时需要对数据库服务器进行维护。如果维护需要较长时间,可以安装一台临时服务器投入运行,如果熟练的话安装时间需要约2小时。

数据库服务器一般选用专用的服务器,也可能用一般的台式机代替。

二、数据库服务器的详细安装过程

1、  Sybase12.5.2数据库的安装

①    双击运行d:\Sybase12.5.2\Setup,选择“setup”,然后点击[下一步]。

②    选择“中华人民共和国(PRC)”,再选中“我同意适用于指定的安装地点的sybase许可证的条款”,点击(下一步 );

③      按默认安装目录c:\Sybase,点击[下一步],显示“该目录不存在。要创建吗?”,选“是”。

④      选中“定制(U)”点击[下一步],在弹出窗口中选中“ODBC,”再点击[下一步],系统开始安装。

⑤      稍等一会儿,点击[下一步]。

⑥      点击[下一步],点击[下一步],只选中“自定义配置新的Adaptive   Server”,点击[下一步],

⑦      Adaptive Server按默认命名为与计算机同名,端口号:5000,服务器页大小按选择为8K,将主设备大小为500M,使用大小为400M。存储过程设备为300M,使用大小为200M点击[下一步]。

⑧      点击[下一步],选择是,重新启动操作系统。

2、  设置数据库服务器

1)       打开“控制面板”,双击“管理工具”,双击“服务”,启动“Sybase SQLServer….”并将启动类型改为“自动”。

2)       点击[开始\程序\Sybase\Sybase Central Java edition],点击“工具\连接”,弹出用户登录对话框,“用户ID”中填入sa,“口令”为空,在Server name中选择相应的服务器连接名,然后点击[确定]。

3)       在该服务器名上单击右键,选择[配置],修改以下几项:

(1)设置最大的设备数

EXECUTE sp_configure 'number of device',100

GO

(2)禁止字符集转换

EXECUTE sp_configure 'disable character set conversions',1

GO

(3)设置最大内存(一般为系统物理内存的70%)。此处内存为480M,约为50000×2K=100M

EXECUTE sp_configure 'max memory',50000

GO

(4)设置服务器的CPU数目(设为服务器(CPU数-1),如服务器为4核)

EXECUTE sp_configure ' max online engines',1

GO

(4)设置最大连接数

EXECUTE sp_configure 'number of user connections',200

GO

(5)设置锁的数目(由于系统默认采用行锁,锁的数目应设置高一些)

EXECUTE sp_configure 'number of locks',10000

GO

(6)设置最大活动索引数目

EXECUTE sp_configure 'number of open indexes',5000

GO

(7)设置最大活动对象数目

EXECUTE sp_configure 'number of open objects',5000

GO

(8)设置最大活动分区(15.0以上版本才有该选项),本次安装版本为12.5,因此无此项。

EXECUTE sp_configure 'number of open partitions',5000

GO

4)       按后面的方法重新启动Sybase SQLServer,使以上设置生效。方法是在控制面板中双击“管理工具\服务”,选择“Sybase SQL Server_***” 项(***你的计算机名),并双击该项,点击[停止],稍后“服务状态”变为已停止,然后再点击[启动]即可。

5)       设置Sybase为自动启动。方法同上,将“启动类型”由手动改为自动;同样把Sybase BCKServer_***_BS也设置为自动。

6)   PSMS_SERVER:Sybase SQL数据库服务器,一般使用服务端口5000。

7)   PSMS_SERVER_BS:备份服务器

8)   PSMS_SERVER_MS:监视服务器

9)       PSMS_SERVER_XP:扩展过程服务器

3、  创建数据库设备

创建以下三个数据库设备。

具体创建方法如下:

①单击[开始\程序\sybase\sybase central Java 版]。

②点击“工具\连接”,弹出用户登录对话框,“用户ID”中填入sa,“口令”为空,在“服务器名”中选择相应的服务器名,然后点击[确定]。

③双击服务器名,然后双击“数据库设备”。

④双击右侧窗口中的[添加数据库设备],在出现的窗口中有两个输入行,下面一个输入行输入设备名,如psms439plusdata,上面输入设备的全路径名,如C:\Sybase\data\psms439plusdata.dat,单击[下一步]。

⑤将设备“大小”改为200MB,单击[下一步],再单击[下一步],然后单击[完成],稍等该设备即建好。

⑥重复前面的④⑤两步,建好另两个设备,注意物理名和大小不同。

  注意:

现场安装服务器时,一般data设备设置为2/5硬盘分区大小;log设备一般设置为1/5硬盘分区大小,且大于200M小于500M;temp设备一般设置为200M。为了加快速度,实习时请按200M、200M、50M设置,但不能小于这些值,否则系统可能装不成功。

4、  创建psms439plus数据库

创建psms439plus数据库。方法如下:

①②步同前(接上节,此处免)。

③双击左边(或右边)窗口的[数据库]。

④双击右侧窗口中的[添加数据库],在出现输入行中填写数据库名psms439plus,单击[下一步]。

⑤单击[添加],选中设备名“psms439plusdata”,将设备类型选为“数据”,将“大小”改为200M,单击[确定]。

⑥再次单击[添加],选中设备名“psms439pluslog”,将设备类型选为“事务日志”,将“大小”改为200M,单击[确定]。

⑦单击[下一步],再单击[下一步],选中[创建guest帐号] ,单击[下一步],单击[完成]。稍等(此处时间较长),数据库psms439plus即建立完毕。

以上的设置表明,PSMS的各种数据存放在数据库的psms439plusdata设备中,而日志信息存放在psms439pluslog设备中。数据库大小虽有400M,但只能存放200M数据。

5、  修改数据库psms439plus的属性

修改方法是:鼠标指向psms439plus并点右键,选择[属性],单击[选项],将下列括号中6个选项前都加上√。单击[确定]。(aborttran on log full;ddl in tran;no chkpt on recovery;no free space acctg;select into/bulkcopy/pllsort;trunk log on chkpt);这五项选择主要是使数据库可以被备份,并具有事务日志自动清除属性,数据库不会因为日志不断增加而导致服务器性能下降或死机,具体情况参见教材)。

6、  扩充sybsystempdb数据库

扩充sybsystempdb数据库的方法是:鼠标指向sybsystempdb数据库并点右键,选择[属性],选择[设备],单击[添加],选择设备sybtemp,将“大小”改为200M,单击[确定],选中[创建日志或者数据碎片(以覆盖方式)],然后单击[确定]。(sybsystempdb大小为300M以上)

&  说明:

最后一个选择含义为数据和日志都写在一个设备中。Sybase数据库管理系统需要合适大小的临时数据库存放临时数据和日志。如果临时数据库空间不足,数据库查询速度受到影响。sybsystempdb大小为200M以上

7、  扩充master数据库

扩充master数据库的方法是:鼠标指向master数据库并点右键,选择[属性],选择[设备],选中[master],单击[编辑],在“增加空间”中填入400MB,单击[确定],再单击[确定]。(master大小为500M以上)

8、  设置临时数据库

双击临时数据库,双击组视图,双击default,右键tempdb,见下图,点击属性,点击设备,增加“tempdata”和“templog”两设备,方法同创建“psms439plus”数据库

9、  在Sybase中创建用户。sybase用户分配如下

注意

在创建Psms439plus系统的数据库用户时,必须勾选所有的复选框。

10、     设置ODBC,请注意在ODBC设置界面中的Network Address一栏中一定要填入“服务器的计算机名,5000(如A01,5000)”而不使用IP地址,Database Name中必须输入“数据库名”。Dsedit不用设置,你可以运行Dsedit查看为什么不需要设置该项。Dsedit中的内容与在客户端上设置的不一样,一定不要删除或改写任何内容,否则可能给服务器带来极大的麻烦。

11、     安装sybabase12.5.2补丁,安装位置:D:\sybase12.5.2\Sybase12.5.2补丁,运行setup.exe,安装完成后重新启动计算机。

12、     增加登陆用户名并予以角色授权。

13、     利用ServerInstall.exe工具顺序执行:

 TABLE_439Plus_SS.sql         (表)

PROCEDURE_439Plus_SS.sql(存储过程)

TRIGGER_439Plus_SS.sql(触发器)

至此,服务器安装设置完毕,可以投入运行。


第二篇:Sybase数据库系统常用操作


Sybase数据库系统常用操作 目录

附录 D Sybase数据库系统常用操作

D.1 Sybase数据库系统常用操作 D-1

D.1.1 isql D-1

D.1.2 bcp D-3

D.1.3 showserver D-4

D.1.4 startserver D-5

D.1.5 shutdown D-5

D.2 T-SQL语言 D-6

D.2.1 数据定义语句(DDL) D-6

D.2.2 数据操作语句(DML) D-7

D.2.3 数据控制语言(DCL) D-8

D.3 Sybase数据库的备份与恢复 D-12

D.3.1 系统软件故障恢复 D-12

D.3.2 备份数据库及其事务日志 D-12

D.3.3 恢复数据库 D-13

D.3.4 监控事务日志空间大小方法

D-1 D-14

附录 D Sybase数据库系统常用操作 本附录介绍Sybase系统常用操作、T-SQL语言、Sybase数据库的备份与恢复,方便用户在维护过程中进行查询。

D.1 Sybase数据库系统常用操作

Sybase数据库系统为用户的管理、维护和访问SQL Server提供了下面几种常用的操作:

? isql

? bcp Sybase数据库提供的标准接口,也常用于批处理程序的执行 用于SQL Server表和操作系统文件之间的数据的引入和引出

? showserver

? startserver

? shutdown 查看SQL Server是否启动(若没有启动,可以用下面的命令startserver来启动SQL Server;若想关闭,可以用命令shutdown来关闭SQL Server) 启动SQL Server 关闭SQL Server

D.1.1 isql

isql是Sybase数据库系统的一个前台工具,是基于字符的最基本的访问SQL Server数据库服务器的实用程序。能够实现与服务器的连接,向服务器发送T-SQL命令。所有的SQL查询语言和系统存储过程都必须在isql下执行,并可在屏幕上显示返回的结果信息。

1. 启动

[简要说明] isql

在Unix操作系统的命令行下可以启动isql。

[命令格式]

isql [选项]

[选项说明]

-U username

-P password

-S Server 允许用户访问SQL Server的一个登录帐号 允许用户访问当前SQL Server的口令 允许用户指定与其连接的SQL Server的名称

输入文件

输出文件 -i inputfile -o outputfile

-w column_width 为输出设置屏幕列宽

[使用实例]

以sa为用户名启动isql,访问当前SQL Server的口令为1234: $ isql -Usa -P1234

1>

或:

$ isql -U sa

Password:密码不回显

1>

? 说明:

? 上例中,-U和-P后的用户名和密码不用空格也可以。例如:isql -Usa -P1234。

? 当正常启动isql后,isql也会像操作系统一样,提供一个isql工具环境提示符“1>”。此处的“1” 表示即将输入的为一个命令的第一行,当命令分为多行输入时,只要没有提交Sybase数据库系统执行,将会出现“2>”、“3>” 等提示符。当一个命令输入完毕,需要用命令go来结束输入,此时Sybase数据库系统开始执行该命令并显示输出结果或将结果输出到指定的输出文件中。命令执行完毕后,isql工具环境提示符自动复位为“1>”。若在输入时输错了命令,也可以用命令reset清除查询缓冲,回退到“1>”的环境提示符状态。

? 能够正常启动isql,也表明Sybase数据库服务器正常启动。当然,导致isql不能正常启动的原因是多方面的,一方面可能是Sybase服务器未启动,另一方面可能是用户名与密码不符。

2. 退出

[简要说明] isql

退出isql,只需在isql环境提示符下输入命令quit 或exit 即可。 [命令格式]

quit(或者exit)

[使用实例]

退出isql环境:

1> quit

$

或:

1> exit

$

D.1.2 bcp

[简要说明]

批拷贝命令bcp以用户指定的形式,将数据库表拷贝到操作系统文件中,或从操作系统文件中拷贝一个数据库表,该命令提供了在数据库表和操作系统文件之间传递数据的一种快速的方法。

[命令格式]

bcp [[数据库.]所有者.] 数据库表 {拷贝方向 in|out} 数据文件 [选项] [选项说明]

-f formatfile 表明用户存有一个上次使用bcp处理同一表时得到的格式文件(扩展名为.fmt),并提供完整的路径名

-U username 允许用户连接服务器时指定一个注册名(缺省值是由用户环境标识的用户名)

-P password 允许用户指定登录当前SQL Server的口令(若未使用此选项,系统将提示输入一个口令)

-S Server 允许用户指定与其相连的SQL Server的名称(若没有提供服务器名,该选项使用$DSQUERY值;若$DSQUERY值不存在,则使用SYBASE)

-c

[参数说明] 文件类型(如c-char 、t-text 、i-int等)

数据库

所有者 表所在的数据库 欲拷贝的数据库表的所有者

欲拷贝的数据库表 数据库表

拷贝方向 in|out 拷贝方向(in表示从文件到数据库表的拷贝;out表示从数据库表到文件的拷贝)

数据文件 源数据文件或目标数据文件(由拷贝方向是in或out来决定),包含完整的路径名和文件说明

[使用实例]

将数据库warn中的表history备份成history.dat文件,文件类型为char: $ bcp warn.. history out history.dat -U sa -P 1234 -c

Sybase数据库系统常用操作

Starting copy...

注意:

若将上述命令中的拷贝方向out改为in,则表示恢复数据库表。命令bcp主要用于备份与恢复数据库中某一个表,后面我们将介绍使用命令dump与命令load来对数据库进行备份与恢复操作。

D.1.3 showserver

[简要说明]

showserver可显示当前本机上正在运行的SQL Server ,查看其是否启动,但要注意的是该用户必须是Sybase用户。

[命令格式]

showserver

[使用实例]

显示当前本机上正在运行的SQL Server:

$ showserver

UID PID PPID C STIME TTY TIME CMD

sybase 204 203 1 Feb 19 ? 944:19 /home1/sybase/bin/dataserver -ssybserver -d/dev/rdsk/c0t0d0s4 -e/home1/sybase/i

sybase 208 206 0 Feb 19 ? 0:00 /home1/sybase/bin/backupserver -Ssybserver_back -e/home1/sybase/install/sybserv

如上内容显示主备数据库服务器均已启动。

Sybase数据库系统常用操作

注意:

若SQL Server已启动,运行该命令后,系统将打印如上有关SQL Server的信息;若SQL Server没有启动,则只打印标题信息。

D.1.4 startserver

[简要说明]

startserver用于启动SQL Server。

[命令格式]

startserver [选项]

[选项说明]

-f run_serverfile 指定一个运行服务器文件(每次重启SQL Server时,以此文件为参考,在实际机器上该文件名为RUN_sybserver或

RUN_sybserver_back)

-m 以单用户方式启动SQL Server ,用于恢复master数据库

D.1.5 shutdown

[简要说明]

系统管理员可用命令shutdown关闭SQL Server或Backup Server,此命令在isql环境下使用。

[命令格式]

(1) 关闭SQL Server

shutdown [选项]

(2) 关闭Backup Server

shutdown 备份服务器 [选项]

[选项说明]

with {wait|nowait} 系统是否立即关闭(若为with nowait则跳过

checkpoint操作,立即关闭系统,此时重启服务器的自动恢复工作量将大大加大;否则相反)

[参数说明]

备份服务器

? 说明: Backup Server名称

? 关闭数据库服务器时,必须注意关闭顺序,即必须先关闭备份服务器,然后再关闭主服务器。

? shutdown后若没有给出服务器名称时,将关闭正在使用的SQL Server。当发出shutdown命令时,SQL Server会执行如下操作:

禁止登录,系统管理员除外。

对每个数据库执行checkpoint操作,将改动过的页从内存刷新到磁盘。

等待当前正在执行的SQL Server语句或过程完成。

以此种方法关闭SQL Server,会使重新启动SQL Server时必须做的自动恢复工作量减到最小。

? 关闭Backup Server时,选项缺省为with wait,因此在Backup Server进程终止之前,进行中的任何转储或装载都将完成。系统一旦发出shutdown命令,将不能再在Backup

Server上进行新的转储或装载会话。

D.2 T-SQL语言

T-SQL (Transact-SQL)是一种增强性型的标准结构化查询语言SQL(Structured Query Language)语言,它不仅与IBM的SQL语言以及其它绝大多数的SQL语言兼容,而且还在SQL语言的基础进行了扩展,增加了许多新的功能,最大限度的降低了用户对编程语言的依赖性。

标准的SQL语言最初被认为是一种查询和执行语言,而不是发展成熟的编程语言。T-SQL对SQL进行了扩展,增加了程序流控制结构、局部变量和允许DBA创建存储过程、触发器等功能。

标准的SQL语言包括数据定义语句(DDL),数据操作语句(DML)和数据控制语句(DCL)。本节内容主要介绍数据定义语句(DDL)和数据操作语句(DML)。

D.2.1 数据定义语句(DDL)

数据定义语句DDL(Data Definition Language)主要用来创建、更改和删除数据库对象。

1. 创建对象——create

这里只介绍表和索引的创建。

(1) 创建表

create table table_name(column_1 datatype,…,column_n datatype)

例如:创建名为teachers的一张表,该表包括三个字段,分别为teacher_name(字符型,长度为18)、phone(字符型,长度为12)和salary(浮点型)。 1> create table teachers(teacher_name CHAR(18),phone CHAR(12), salary FLOAT)

2> go

(2) 创建索引

create index index_name on table_name(column_1,…,column_n) 例如:创建表teachers中teacher_name字段的索引文件names。

1> create index names on teahers(teacher_name)

2> go

2. 删除对象——drop

这里只介绍表和索引的删除。

(1) 删除表

drop table table_name

例如:删除上述新建表teachers。

1> drop table teachers

2> go

(2) 删除索引

drop index table_name.index_name

例如:删除上述新建表teachers 的索引文件names。

1> drop index teachers.names

2> go

3. 清空表内容——truncate

命令truncate只是清空表内容,但保留表结构。注意与命令drop相区别。 truncate table table_name

D.2.2 数据操作语句(DML)

数据操作语句DML(Data Manipulation Language)包括对数据的查询、插入、修改和删除等操作。下面分别对上述操作依次进行介绍。

1. 查询记录——select

用命令select可以查询数据库中的表记录,此命令在isql下执行。

例如:查询数据库warn中表history的记录信息。

1> use warn

2> go

1> select * from history

2> go

2. 增加新记录 ——insert

用命令insert可以向数据库的表中增加新的数据(记录),此命令在isql下执行。

例如:向表teachers中增加一个新记录。

1> insert into teachers(teacher_name,phone,salary) values ('wangjie','3340546',3000)

2> go

3. 更新记录 ——update

用命令update可以更新数据库的表中已有记录的指定字段的值,此命令在isql 下执行。

例如:将表teachers中zhanglin的电话号码更新为3356789。

1> update teachers set phone='3356789' where teacher_name='zhanglin'

2> go

4. 删除记录——delete

用命令delete可以删除数据库的表中的指定记录,此命令在isql下执行。 例如:删除表teachers中wangjie的记录。

1> delete teachers where teacher_name='wangjie'

Sybase数据库系统常用操作

2> go

注意:

where条件子句在上述命令中作用很大,例如要在students 表中查询年龄不到20岁的女生姓名可以使用如下命令:

1> SELECT name FROM students WHERE age<20 AND sex=F

2> go

D.2.3 数据控制语言(DCL)

数据控制语言DCL(Data Control Language)主要对数据库进行监视、管理、控制访问权限等操作,用于数据库系统中权限的授予和收回。数据库系统中,可以授予和收回的权限包括:

(1) 系统管理员

系统管理员可以授予其他用户create database的权限,使其他用户可以成为数据库所有者(DBO)。

(2) 用户数据库所有者DBO

用户数据库所有者(DBO)在其所拥有的数据库中,可以授予其他用户的操作权限如所示。 表D-1 DBO可授予其他用户的操作权限

表D-1 DBO可授予其他用户的操作权限

Sybase数据库系统常用操作

(3) 数据库对象所有者

数据库对象所有者可以授予其他用户的操作权限如

表D-2 数据库对象所有者可授予其他用户的操作权限 表D-2 数据库对象所有者可授予其他用户的操作权限所示。

Sybase数据库系统常用操作

1. 授权——grant

用户授权操作分为两种:一种是对数据库对象的操作进行授权,这些操作包括select、insert、update、delete、execute和reference;另一种是对命令操作进行授权,这些命令包括create database、create procedure、create rule、create view、dump database和dump transaction等。下面分别进行介绍。 ? 对数据库对象操作的授权格式如下:

grant {all | permission_list}

on {table_name [(column_list)]|

view_name [(column_list)]|

stored_procedure_list}

to {pubic | name_list}

[with grant option]

在上述命令中,选择参数all时,将把所有权限都赋予指定的用户或用户组;参数permission_list可以是数据库对象允许的操作的任意组合(各操作命令间用逗号隔开)。

on子句用于指定具体的授权数据库对象,可以是表、视图或列以及存储过程等。对不同的数据库对象允许进行的操作授权如所示。 表D-3 不同数据库对象允许进行的操作授权

表D-3 不同数据库对象允许进行的操作授权

Sybase数据库系统常用操作

to子句后选择参数public时,将把相应的权限赋予public组中的所有用户;而选择参数 name_list时,指定的既可以是组名,也可以是用户名。

选择参数with grant option时,允许被授权用户将相应授权再转授给其他用户。 ? 对命令操作的授权格式如下:

grant {all | command_list}

to {public | name_list}

在上述命令中,参数command_list可以是下列数据库所有者允许的操作的任意组合(各命令间用逗号隔开)。

? create database

? create procedure

? create rule

? create view

? dump database

?

Sybase数据库系统常用操作

dump transaction

注意:

因为只有系统管理员才可对命令create database进行授权,所以只有系统管理员才可选择参数all。

例如:授予用户bob,john在数据库表teachers上读取的权限。

1> grant select on teachers to bob,john

2> go

2. 收回授权——revoke

收回授权与授权操作是相互对应的,也分为收回数据库对象操作授权和收回命令操作授权两种,下面分别进行介绍。

? 收回对数据库对象操作的授权的格式如下:

revoke [ grant option for ]

{all | permission_list}

on {table_name [(column_list)]|

view_name [(column_list)]|

stored_procedure_list}

from {pubic | name_list}

[cascade]

在上述命令中,参数grant option for用于收回授权用户转授的相应操作权,如果用户已将授权转授其他用户,则还应选择参数cascade,这时系统把转授的权限同时收回。

? 收回对命令操作的授权的格式如下:

revoke {all | command_list}

from {public | name_list}

例如:收回用户组public在数据库表teachers上的所有权限。

1> revoke all

2> on teachers

3> from public

4> go

D.3 Sybase数据库的备份与恢复

Sybase数据库提供了两种不同类型的数据库恢复功能:一种是系统自动完成的恢复;另一种是人工完成的恢复。

? 系统自动恢复功能是防止系统失败的一种保护措施,每次SQL Server重启时,都要运行自动恢复机制。自动恢复机制确保在系统瘫痪前完成的事务都写到数据库设备上,而未完成的事务都被回退(删除)。

? 人工恢复功能是通过备份命令(dump)和恢复命令(load),从其它地方装入数据库完成的。在Sybase数据库中,备份通常称为转储,恢复通常称为加载,这是由备份与恢复的命令名得来的。

Sybase数据库系统常用操作

注意:

在Sybase中进行数据库的备份和恢复操作,必须保证备份服务器处于运行状态。

D.3.1 系统软件故障恢复

系统自动恢复功能是指在系统软件出现故障的情况下,通过重新启动SQL Server而进行的数据库恢复操作。

系统自动恢复首先从master数据库开始,然后是model数据库,再是temporary数据库,最后是用户数据库。在每个数据库上,恢复机制都要观察事务日志。如果事务日志已写入比数据库更近的数据,恢复机制则向前恢复数据库,以使它与日志保持一致;如果事务日志尚未完成,则要回退(删除)。

? 说明:

问:什么是事务日志?

答:对任一数据库的每次修改,都可被自动记录于一个系统表中,这个系统表就叫做事务日志(Transaction log)。 事务日志记录更新(update)、插入(insert)和删除(delete)等语句操作。任何修改总是先记录日志,然后才做实际的修改。 事务日志保证了在系统软件出现故障时可以将数据恢复到出错前的状态。

D.3.2 备份数据库及其事务日志

备份是保证数据库可以恢复的最简单容易的方法,不进行备份可能会导致重要数据的丢失,而进行备份可以防止表或数据库的损坏、介质故障和用户错误等情况而产生的数据丢失。为了得到有效的数据,应根据需要尽量频繁地进行备份操作。 备份操作建议在系统比较空闲的时候进行,这样容易保证备份数据的正确性和可用性。

备份数据库的命令格式如下:

dump database database_name to filename | device

例如:将数据库aaa直接备份到操作系统中的文件aaabak中。

1> dump database aaa to aaabak

2> go

备份事务日志(增量备份)的命令格式如下:

dump transaction database_name to filename | device [with truncate_only | with no_log | with no_truncate]

参数with truncate_only和with no_log都表示删除事务日志,其作用是相同的;参数with no_truncate表示不删除事务日志,即备份整个事务日志(从上一次dump transaction以来发生的一切事务)。

例如:备份数据库aaa的事务日志到文件aaalog中。

1> dump transaction aaa to aaalog with no_truncate

Sybase数据库系统常用操作

2> go

注意:

? 在备份数据库前的所有事务日志备份都是没有意义的。一般情况下,不需要经常备份数据库,但需要经常备份事务日志,这是因为备份事务日志比备份数据库需要更少

的时间和存储空间。

? 恢复事务日志只能在数据库恢复之后才能进行。恢复数据库后,就可以恢复一个或多个事务日志了,但恢复数据库日志的顺序必须按它们被卸出的顺序进行。SQL Server

会检查每个恢复数据库以及每个事务日志的时间戳以确定次序是否正确。

D.3.3 恢复数据库

要恢复被破坏的数据库,可以按如下步骤进行:

(1) 用带参数no_truncate的dump transaction命令卸出用户数据库事务日志;

(2) 用drop database命令删除被破环的数据库;

(3) 用与被破坏的数据库同样的结构建立一个新的数据库(对于OMC Server数据库来说,OMC Server提供重建数据库的程序,不必用create命令建立一个新的数据库);

(4) 用load database命令重新装入数据库;

(5) 用load transaction重新装入事务日志。

装入数据库的命令格式如下:

load database database_name from file_name | device 装入事务日志的命令格式如下:

load transaction database_name from file_name | device 例如:用上述备份的数据库文件和事务日志文件恢复数据库aaa。 操作步骤如下:

(1) 数据库恢复

1> load database aaa from aaabak

2> go

(2) 数据库恢复后,必须运行命令online,使其进入正常工作状态

1> online database aaa

2> go

(3) 事务日志恢复

1> load transaction aaa from aaalog

2> go

(4) 删除事务日志

1> dump transaction aaa with truncate_only

Sybase数据库系统常用操作

2> go

注意:

? 如果总用命令dump transaction with no_truncate,事务日志将不会被删除,因而会变得非常庞大。因此对于一般的数据库,每次运行命令dump database与命令dump transaction with no_truncate之后,应当运行命令dump transaction with truncate_only来删除日志。

? 命令load仅当该数据库没有被其他用户占用时才起作用.如果有其他用户正在使用该数据库,则命令load执行不成功。

? 恢复数据库比备份数据库所花的时间将更长。

D.3.4 监控事务日志空间大小方法

1. 使用系统存储过程sp_helpdb

例如:监控数据库warn的事务日志空间大小。

1> sp_helpdb warn

2> go

name db_size owner dbid

created

status

------------------------ ------------- ------------------------

--------------

--------------------------------------------------------

------------------------------

warn 200.0 MB sa 6

Mar 12, 2001

trunc log on chkpt, ddl in tran, allow nulls by default

(1 row affected)

device_fragments size usage free kbytes

------------------------------ ------------- ------------------

data_dev1 100.0 MB data only

89392

log_dev1 100.0 MB log only

102384

2. 使用系统存储过程sp_spaceused

命令格式如下:

sp_spaceused tablename

例如:查询数据库warn中的表history占用空间的大小。 1> use warn

2> go

1> sp_spaceused history

2> go

name rowtotal reserved data index_size unused

-------------------- ----------- --------------- --------------- --------------- ---------------

history 35423 11604 KB 9414 KB 2040 KB 150 KB

(0 rows affected)

(return status = 0)

3. 使用dbcc命令

命令格式如下:

dbcc checktable (tablename) 例如:查询表history的信息。 1> dbcc checktable(history)

2> go

Checking history

The total number of data pages in this table is 4707.

Table has 35437 data rows.

DBCC execution completed. If DBCC printed error messages, contact a user with

System Administrator (SA) role.

更多相关推荐:
英国论文Essay参考文献知识辅导—优越论文

英国论文Essay参考文献知识辅导—优越论文在每次辅导过后,英国优越论文的老师都会总结学生们的问题,本次总结中,优越论文老师发现有的学生在写作论文时很不注重参考文献,总是觉得没必要。很多学生在写完论文之后就觉得…

英国论文Essay写作注意事项指导——留学论文宝

英国论文Essay写作注意事项指导——留学论文宝在英国留学的同学可都是知道的,国外论文写作可不像国内的大学这么松松垮垮,国外的管理是非常严格的,在学术上导师可是绝对追求质量的,因此不仅在选题上有价值,资料数据上…

WM-会计品质-ESSAY-范文

wordsunny.com|顶尖的留学文书写作机构|DIY留学Whatqualitiesdoyouhavethatwillmakeyouagoodaccountant?Nowadaystheinternatio…

英国essay范文

要写出一篇漂亮的命题小essay可不是那么容易内容技巧以及格式都不可小视尽量做到全面和细节如果哪一点出了错误录取官很容易认为该学生大意不注重细节学生的形象也许就会打折扣了一些学生的小文章没有通过有共同的地方也有...

essay范文

Essay由introductionmainbodyconclusionreference四部分组成下面以这篇文章为例教你如何写作一篇符合格式的essay全文统一用timesnewroman字体小四15倍行距文...

美国高中申请essay范文

美国高中申请essay范文Essay在国外被称为话题作文或论文也可以看作是说明文在申请高中时都要写Essay每年一到招生季美国学校就会收到大量申请如何让校方对你留下深刻印象如何让你的申请在激烈竞争中脱颖而出除了...

分享一篇申请哈佛大学成功的留学文书(Essay)范文

分享一篇申请哈佛大学成功的留学文书Essay范文Sameer在美国的底特律长大高中时他的随着家人移居加拿大Sameer有色盲和音盲这两个题目他在他的申请短文时解释为什么对于他来说他在烹饪的创造表现能力是有限的他...

How to write essay

HowtowriteessayManyfriendsofmineaskmeabouttherightwayofwritinganessayTherearecertainstepsonemustfollowtomakeagoodes...

英语记叙文--Narrative essay

NarrativeessayIfyouaskmetosharemybestexperienceduringmyuniversityIwillfirsttellyouthisexperiencethatIactedasamanage...

申请国外大学的优秀essay

美国留学部分大学会要求学生写Essay尤其是名校几乎是都会有所要求其实这也是一个有力的展现自己的途径所以如果要申请名词靠前的学校还是多多练习一下Essay文章的写作Sameer在美国的底特律长大高中时他的随着家...

Persuasive Essay 英语专业写作 原创范文(议论文)

Kimi胡劼No0210650123010PersuasiveEssayRevisedLifeinCitiesisofMoreQualityinChinaInrecentyearspeoplehavepaidc...

Process Essay

AistodescribehowsomethingisdonehowsomethingoperatesknownasaProcessThefirstthingtodowhenwritingaProcessEssayis1deter...

essay(40篇)