总结工作中的Sybase数据库(三)

[b]sybase数据库简单操作命令[/b]


1、 备份数据库

dump database database_name to dump_device

说明:database_name 是要卸出的数据库名称,dump_device 是卸出设备的名称。用系统过程 sp_helpdevice 可以获得设备的信息。


2、 备份事务日志

dump transaction database_name [to dump_device] [with truncate_only|with no_log|with no_truncate]

说明:其中 database_name 是要备份事务的数据库名称,dump_device 是备份设备名称,仅当包含了 with truncate_only 或 with no_log 子句时,才可以备份到设备。

注意:如果总是用 dump datebase (备份数据库及其日志),而不用 dump tran ,事务日志将不会刷新,而变得非常庞大。对于 master 数据库和小型数据库每次运行 dump datebase 之后应当运行 dump transaction 命令刷新日志 。

二、万一系统失败时恢复数据库系统

如果用户数据库存储的设备失效,从而数据库被破坏或不可存取,通过装入最新的数据库备份以及后来的事务日志备份可以恢复数据库。假设当前的事务日志存在于一个并没有毁坏的设备上,带着 with no_truncate 选项的 dump transaction 命令卸出它。

要恢复数据库按如下步骤去做:

1、如果日志存在于一个分离的设备上,用带着 no_truncate 选项的 dump transaction 命令卸出被毁坏的或者不可存取的用户数据库事务日志。

2、用下面的查询检查设备分配已毁坏数据库的设备使用情况。必须为同一目的赋同样的空间块。

下面的查询显示了分配给数据库 mydb 设备使用和尺寸情况:

select segmap,size from sysusages where dbid =( select dbid from sysdatabases where name = “mydb”)

3、 检查查询的输出。在 segmap 列的 ‘3’代表数据分配,‘4’代表日志分配。size 列代表 2k 数据块的数目。注意此信息的次序、使用和尺寸部分。例如,输出为:

Segmapsize

4、用 drop database 命令删除毁坏设备上的数据库。如果系统报错,用dbcc dbrepair 命令的 dropdb 选项。

5、删除数据库后,用 sp_dropdevice 删除毁坏了的设备。

6、用 disk init 初始化新的数据库设备。

7、重建数据库。用 create database 命令从老的 sysusages 表拷贝所有的行,并包含第一逻辑设备。

对上例,命令为:

create database mydb on datadev1=20,datadev2=10 log on logdev1=10

8、用 alter database 命令重建其余入口。在此例中,在datadev1上分配更多的空间,命令为:

alter database mydb on datadev1=2

9、用 load database 重新装入数据库,然后用 load tran 装入前面卸出的日志。

load database 命令语法是:

load database database_name from dump_device

load transaction 命令的语法是:

load transaction database_name from dump_device

卸出数据库和事务日志的缺省权限归数据库所有者,且可以传递给其他用户;装载数据库和事务的权限也归数据库所有者,但不能传递。

四、保证系统数据安全,周期更改用户口令;

为保证系统数据的安全,系统管理员必须依据系统的实际情况,执行一系列的安全保障措施。其中,周期性的更改用户口令是比较常用且十分有效的措施。更改用户口令是通过调用系统过程sp_password 来实现的。sp_password 的语法为:

sp_password caller_password,new_password [,loginame]

其中caller_password 是登录口令(老口令),new_password是新口令,loginame是登录名称。

删除数据库表格

在SQL语言中使用drop table命令删除某个表格以及该表格中的所有记录。Drop table命令的使用格式为:

drop table tablename;

例如:

drop table employee;

如果用户希望将某个数据库表格完全删除,只需要在drop table命令后输入希望删除的表格名称即可。Drop table命令的作用与删除表格中的所有记录不同。删除表格中的全部记录之后,该表格仍然存在,而且表格中列的信息不会改变。而使用drop table命令则会将整个数据库表格的所有信息全部删除。

如果用户希望一次查询多个字段,可以将所要查询的字段名称依次加入SELECT关键字之后,中间用“,”隔开即可。

DISTINCT

SELECT关键字支持用户查询数据表中指定字段的所有数据,但是这样有时就会不可避免的出现重复信息。如果用户希望只查询那些具有不同记录值的信息的话,可以使用SQL语言的DISTINCT关键字。语法格式如下:

SELECT DISTINCT "column_name" FROM "table_name"

例如,我们可以使用以下命令查询Store_Information数据表具有不同记录值的所有记录。

SELECT DISTINCT Store_Name FROM Store_Information

查询结果如下:Store_Name Los Angeles San Diego Boston

SQL功能与特性
  其实,在前面的文章中,已经提及SQL命令的一些基本功能,然而,通过SQL命令,程序设计师或数据库管理员(DBA)可以:
  (一)建立数据库的表格。(包括设置表格所可以使用之空间)
  (二)改变数据库系统环境设置。
  (三)针对某个数据库或表格,授予用户存取权限。
  (四)对数据库表格建立索引值。
  (五)修改数据库表格结构。(新建、删除或是修改表格字段)
  (六)对数据库进行数据的新建。
  (七)对数据库进行数据的删除。
  (八)对数据库进行数据的修改。
  (九)对数据库进行数据的查询。
  这几项便是通过SQL命令可以完成的事情,看起来是不是比起“查询”两个字所代表的功能要多的多了呢?

你可能感兴趣的:(Sybase,工作,数据结构,SQL)