在创建用户数据库时,应该预留足够大的空间,以便能够保留将来输入的所有数据。但是也不要把数据库定义得太大,以免在将来恢复数据时产生麻烦。究竟需要定义多大的空间才算合适,这需要数据库管理员多次试验才可以决定的。一个经验是- 低估一个数据库的大小比高估要好,如果数据库空间太小了,可以很容易的扩充数据库的空间,如果空间过大,则非常麻烦。这里,我们来修改一下前面创建的数据库的空间大小,过程如下:



1>    alter database mydatabase


2>    on userdev=”1024M”               //        由        50M        变成        1G


3>    log on logdev=”50M”                      //        由        10M        变成        50M


4>                    go

二、数据库的管理



设置数据库管理员密码 :在安装完 sybase ASE 数据库后,数据库管理员的默认管理员密码为空,基于安全考虑,必须为数据库管理员账号设置密码。先以账号 sybase 登录系统,然后启动 Sybase 数据库 , 用 isql 连接数据库服务器(操作过程如前面“创建数据库设备”一节),接着执行下面的操作:



1>                    sp_password null , "dr5623H"           //        设置新密码为“        dr5623H        ”


2>                    go

  在退出数据库,下一次客户端连接数据库时,提示用户输入密码。



   用户和授权 : sybase ASE 服务器提供一种严密的体系来保障数据的安全,并且使数据的保护级别达到非常精细的程度。在通常情况下,数据库服务器不是只给一个用户 sa 来使用,为了让数据库满足实际需求,需要在 sybase 数据库里添加账号 / 用户,为添加的用户分配适合的权限。这个操作分以下几步进行:



1 、   添加数据库系统的注册账号。执行存储过程 sp_addlogin 来完成数据库注册账号的添加,如 exec sp_addlogin sery , d7#W6g , mydatabase 表示添加一个注册账号 sery, 密码是“ d7#W6g ” , 登录到默认数据库为“ mydatabase ”。这个操作执行完毕后,将在 master 数据库的 syslogins 表中增加一行纪录。添加数据库系统注册账号属于服务器级的安全,换句话说就是这个账号只能连接数据库服务器,但没有访问用户数据库的权力。



2 、   添加数据库用户。执行存储过程 sp_adduser 将用户直接添加到数据库,添加数据库用户属于数据库级的安全,这时才可以以用户的身份访问用户数据库。这个操作执行完毕后,将在允许访问的数据库的 sysusers 表中添加纪录。



3 、   授权。能够访问数据库但并不意味可以访问其中的数据,有时需要具备单个数据库对象的相应许可,才可以选取、更改数据库所属表中的数据信息或执行一个存储过程。这是属于对象访问级的安全。授权的格式为: grant  < 权限列表 > on < 表名 >  to < 角色 / 用户 > 。这个操作执行完毕后,会向 sysprotects 表中添加纪录。



  接着,我们通过下面的事例来总结这 3 个步骤:



[sybase@sybase bin]$        ./isql –U sery –S SYBASE –P d7#W6g  //        以用户        sery        登录数


//        据库        mydatabase


1        >
[sybase@sybase sybase]$        cd ASE-12_5/install


[sybase@sybase install]$        ./startserver      /        /        启动        sybase        服务器


[sybase@sybase sybase]$        cd /OCS-12_5/bin


[sybase@sybase bin]$        ./isql –U sa –S SYBASE –P dr5623H


1>                    sp_addlogin sery , d7#W6g , mydatabase


2>                    go


1        > use mydatabase


2> go


1> sp_adduser sery


2> go


1> grant select ,insert, u        pda        te on custom to sery


2> go


1>    shutdown


2>    go
[sybase@sybase sybase]$        cd ASE-12_5/install


[sybase@sybase install]$        ./startserver      /        /        启动        sybase        服务器


[sybase@sybase sybase]$        cd /OCS-12_5/bin


[sybase@sybase bin]$        ./isql –U sa –S SYBASE –P dr5623H


1>                    sp_addlogin sery , d7#W6g , mydatabase


2>                    go


1        > use mydatabase


2> go


1> sp_adduser sery


2> go


1> grant select ,insert, u        pda        te on custom to sery


2> go


1>    shutdown


2>    go
[sybase@sybase bin]$        ./isql –U sery –S SYBASE –P d7#W6g  //        以用户        sery        登录数


//        据库        mydatabase


1        >
[sybase@sybase sybase]$        cd ASE-12_5/install


[sybase@sybase install]$        ./startserver      /        /        启动        sybase        服务器


[sybase@sybase sybase]$        cd /OCS-12_5/bin


[sybase@sybase bin]$        ./isql –U sa –S SYBASE –P dr5623H


1>                    sp_addlogin sery , d7#W6g , mydatabase


2>                    go


1        > use mydatabase


2> go


1> sp_adduser sery


2> go


1> grant select ,insert, u        pda        te on custom to sery


2> go


1>    shutdown


2>    go

  为了便于维护和管理数据库,最好让注册名和数据库用户名使用相同的名称。另外,注册用户的删除、数据库用户的删除以及授权的删除都是比较简单的了,请参照下面的操作:



1>                    revokeselect ,insert, update on custom from sery


2>                    go


1>    sp_dropuser sery


2>    go