sybase安全和优化Word下载.docx
- 文档编号:16779748
- 上传时间:2022-11-26
- 格式:DOCX
- 页数:47
- 大小:46.13KB
sybase安全和优化Word下载.docx
《sybase安全和优化Word下载.docx》由会员分享,可在线阅读,更多相关《sybase安全和优化Word下载.docx(47页珍藏版)》请在冰豆网上搜索。
(2)赋予角色权限:
grant
(3)设置登录帐户的角色权限:
sp_role
格式:
sp_role“grant”|”revoke”,角色名,登录帐号名
这里的“grant”|”revoke”是指对角色权限是授予还是撤消。
三、服务器的帐户管理
要想成为Sybase系统的一个用户,首先必须拥有自己的登录帐户。
通过这一帐户连同自己的口令向服务器注册后,才能使用Sybase系统中的一些资源,每一个这样的登录帐户在系统中被赋予Server级的标识SUID。
1.添加登录
sp_addlogin登录名,口令[,缺省的数据库]
如果不指定缺省的数据库,则该帐户的缺省数据库为master库。
2.更改登录属性
◇更改口令;
◇锁定帐户;
◇期限设置;
◇赋予角色。
Sybase
四、数据库用户管理
通过某一个帐户注册到服务器后,要想使用某一个数据库,必须成为该数据库的一个用户。
通过建立登录与用户之间的联系来管理对数据库的访问。
1.组的概念
组(group)是数据库用户的集合。
属于某个组的用户,他自动获得该组所拥有的权限。
Sp_addgroup组名
◇将一个用户加入某个组:
(1)改变用户属性;
(2)创建新用户时指定。
◇所有用户自动属于public组,即使这个用户已经属于其他组了。
2.创建新的用户
sp_adduser登录名,用户名[,组名]
3.别名用户
Sybase的别名机制可以使得多个帐户对应于同一个数据库用户,这样使不同的登录在数据库中拥有同样的权限。
这在审计系统中是一种控制责任的一种手段。
Sp_addalias登录名,数据库中的用户名
别名——相当于给某个用户配一把别人的钥匙(登录)。
五、用户的权限管理
控制用户对数据库对象的访问,有两类权限:
命令权限和对象权限。
1.命令权限
CreateDatabase
CreateTable
CreateView
CreateProcedure
CreateRule
Createdefault
命令权限授权与收权:
Grant命令权限组合to组名|用户名|角色
Revoke命令权限组合from组名|用户名|角色
2.对象权限
Select
Update
Insert
Delete
Reference
Execute
对象权限授权与收权:
Grant对象权限组合on数据库对象topublic|组名|用户名|角色
[WithGrantOption]
Revoke对象权限组合on数据库对象topublic|组名|用户名|角色
Frompublicpublic|组名|用户名|角色
[Cascade]
授权与收权举例:
◇GrantInsert,DeleteonEmployee
touser_1,Group_1
◇GrantExecuteonPro_culculate
topublic
◇GrantSelectonEmployee(emp_id,emp_name)
touser_3
◇GrantAllonEmployee
touser_4
◇RevokeupdateonEmployee(emp_id,emp_name)
fromuser_5
◇RevokeCreateTable,CreateRule
fromuser_6
数据库的备份与恢复
数据库的备份与恢复是SQLServer保障数据安全的一种重要手段,为防止意外,数据库管理员必须定期和经常制作数据库的备份。
一旦系统出现故障,数据能够得到及时的恢复。
一、基本概念
1.事务处理及其日志
SQLServer使用事务来跟踪所有数据库变化。
事务是SQLServer的工作单元。
一个事务包含一条或多条作为整体成功或失败的T_SQL语句。
每个数据库都有自己的事务日志,即系统表syslogs,事务日志自动记录每个用户发出的每个事务,它饮食了每个事务足够多的信息,以确保数据能够被恢复。
2.检查点(CheckPoint)
服务器在何时更新数据?
——在检查点。
在服务器发出一个检查点时:
(1)更新数据;
(2)在日志中记录下执行检查点的标记。
检查点可把所有“脏页”写到数据库设备上,“脏页”是指从上一次检查点以来,在内存中修改、但没有在磁盘上修改的页。
SQLServer的自动检查点机制保证了被完成的事务修改的数据页有规律地从内存中的缓冲区写到数据库设备上。
二、数据库备份
若硬件介质出现故障(如磁盘损坏),当且仅当事先已对数据库及其事务日志作了备份,才能恢复数据库。
注意:
绝对不要使用操作系统的拷贝数据库设备,把这样一个拷贝装入SQLServer将导致大量数据库受损。
备份的类型:
完全备份()
增量备份——备份事务处理日志
说明:
(1)只有把事务日志放在单独的设备上,才能进行增量备份;
(2)备份事务日志会截断日志,因此备份的内容是自上次备份以来的事务处理。
(3)备份之前要启动备份服务器,并最好创建转储设备。
命令语法:
dumpdatabase数据库名
to转储设备名/物理文件名
dumptransaction数据库名
{with{truncate_only|no_log}
[withNo_truncate]
Truncate_only与no_log选项用于删除事务处理而不作拷贝。
Truncate_only截断日志;
在事务处理日志完全满时用no_log,它不为数据库建立检查点。
两个选项都会丢掉日志。
当使用了这两个参数后,应及时备份整个数据库。
No_truncate拷贝日志但不截断日志,在出现介质错误时使用该选项。
图形界面的选项与命令参数的对应关系:
(1)dumptransaction
(2)dumptransaction……withno_truncate
(3)dumptransaction……withtruncate_only
(4)dumptransaction……withno_log
三、数据库的恢复
使用loaddatabase加载备份到现有数据库,数据库可以是用于创建转储的数据库,也可以不是。
语法为:
loaddatabase数据库名from转储设备名/物理文件名
loadtransaction数据库名from转储设备名/物理文件名
●利用备份恢复数据库举例:
某数据库数据和日志分别存储在两个独立的磁盘上,正常运转时的执行的备份计划如下,每天的17:
00执行整个数据库的备份,每天的10:
00、12:
00、14:
00、16:
00点执行增量备份:
周一17:
00磁带1(100M)周二10:
00磁带2(30M)周二12:
00磁带3(30M)周二14:
00磁带4(30M)周二16:
00磁带5(30M)周二17:
00磁带6(30M)
DumpdatabaseDumptransactionDumptransactionDumptransactionDumptransactionDumpdatabase
若数据磁盘在周二的下午六点损坏,可以采用如下步骤恢复数据库:
(1)使用dumptransactionwithno_truncate获得当前的事务日志转储,磁带7;
(2)使用loaddatabase转载最新的数据库转储,磁带6;
(offline)
(3)使用loadtransaction提交最新的事务日志转储,磁带7;
(4)使用onlinedatabase把数据库状态设置为online。
若数据磁盘在周二的下午4:
50损坏,恢复过程如下:
(3)使用loadtransaction依次装载磁带2、3、4、5上的事务日志;
(4)使用loadtransaction提交最新的事务日志转储,磁带7;
(5)使用onlinedatabase把数据库状态设置为online。
四、制定备份与恢复的策略
由于事务日志在恢复数据库中的特殊作用,应定期备份数据库及其事务日志,而且事务日志的备份要更频繁一些。
如:
数据库每周备份一次,事务日志每天备份一次。
USEmaster
go
EXECsp_addlogin'
song'
'
PASSWORD'
learndb'
us_english'
"
songxudong"
null,6,null
EXECsp_role'
grant'
sso_role'
EXECsp_modifyloginsong,'
adddefaultrole'
sso_role
IFSUSER_ID('
)ISNOTNULL
PRINT'
<
CREATEDLOGINsong>
>
'
ELSE
FAILEDCREATINGLOGINsong>
USElearndb
EXECsp_adduser'
public'
USEtest
USEtestrole
EXECsp_changedbowner'
Go
song001'
master'
song001"
CREATEDLOGINsong001>
FAILEDCREATINGLOGINsong001>
与其他数据服务器不同,ASE使用逻辑设备而不是物理设备来存储和管理数据库空间。
逻辑设备只是一个简单的映射到磁盘上物理区域的名称,由文件名来标识。
在UNIXX系统中,该文件名可以是原始设备名,也可以是一个常规文件名。
NT系统允许使用原始设备名,但NTFS文件系统是最好的选择。
因为数据库并不是直接绑定到某一个文件,所以使用逻辑设备为我们提供了对数据库和对象位置的更多的可管理性和灵活性。
一个数据库可以跨越多个设备,并且多个数据库可以共享一个设备。
每一个数据库由一个或多个分段(物理存储的一块连续分配空间)组成,每一个分段映射为一个逻辑设备的某个部分或全部
[数据库技术]->
[Sybase]数据库学习(微笑)
一、Sybase数据库简介
1.版本
1984年,MarkB.Hiffman和RobertEpstern创建了Sybase公司,并在1987年推出了Sybase数据库产品。
SYBASE主要有三种版本,一是UNIX操作系统下运行的版本,二是NovellNetware环境下运行的版本,三是WindowsNT环境下运行的版本。
对UNIX操作系统目前广泛应用的为SYBASE10及SYABSE11forSCOUNIX。
2.Sybase数据库的特点
(1)它是基于客户/服务器体系结构的数据库
一般的关系数据库都是基于主/从式的模型的。
在主/从式的结构中,所有的应用都运行在一台机器上。
用户只是通过终端发命令或简单地查看应用运行的结果。
而在客户/服务器结构中,应用被分在了多台机器上运行。
一台机器是另一个系统的客户,或是另外一些机器的服务器。
这些机器通过局域网或广域网联接起来。
客户/服务器模型的好处是:
●它支持共享资源且在多台设备间平衡负载
●允许容纳多个主机的环境,充分利用了企业已有的各种系统
(2)它是真正开放的数据库
由于采用了客户/服务器结构,应用被分在了多台机器上运行。
更进一步,运行在客户端的应用不必是Sybase公司的产品。
对于一般的关系数据库,为了让其它语言编写的应用能够访问数据库,提供了预编译。
Sybase数据库,不只是简单地提供了预编译,而且公开了应用程序接口DB-LIB,鼓励第三方编写DB-LIB接口。
由于开放的客户DB-LIB允许在不同的平台使用完全相同的调用,因而使得访问DB-LIB的应用程序很容易从一个平台向另一个平台移植。
(3)它是一种高性能的数据库
Sybase真正吸引人的地方还是它的高性能。
体现在以下几方面:
●可编程数据库
通过提供存储过程,创建了一个可编程数据库。
存储过程允许用户编写自己的数据库子例程。
这些子例程是经过预编译的,因此不必为每次调用都进行编译、优化、生成查询规划,因而查询速度要快得多。
●事件驱动的触发器
触发器是一种特殊的存储过程。
通过触发器可以启动另一个存储过程,从而确保数据库的完整性。
●多线索化
Sybase数据库的体系结构的另一个创新之处就是多线索化。
一般的数据库都依靠操作系统来管理与数据库的连接。
当有多个用户连接时,系统的性能会大幅度下降。
Sybase数据库不让操作系统来管理进程,把与数据库的连接当作自己的一部分来管理。
此外,Sybase的数据库引擎还代替操作系统来管理一部分硬件资源,如端口、内存、硬盘,绕过了操作系统这一环节,提高了性能。
3.Sybase数据库的组成
Sybase数据库主要由三部分组成:
(1)进行数据库管理和维护的一个联机的关系数据库管理系统SybaseSQLServer;
SybaseSQLServer是个可编程的数据库管理系统,它是整个Sybase产品的核心软件,起着数据管理、高速缓冲管理、事务管理的作用。
(2)支持数据库应用系统的建立与开发的一组前端工具SybaseSQLToolset;
ISQL是与SQLServer进行交互的一种SQL句法分析器。
ISQL接收用户发出的SQL语言,将其发送给SQLServer,并将结果以形式化的方式显示在用户的标准输出上。
DWB是数据工作台,是SybaseSQLToolset的一个主要组成部分,它的作用在于使用户能够设置和管理SQLServer上的数据库,并且为用户提供一种对数据库的信息执行添加、更新和检索等操作的简便方法。
在DWB中能完成ISQL的所有功能,且由于DWB是基于窗口和菜单的,因此操作比ISQL简单,是一种方便实用的数据库管理工具。
APT是Sybase客户软件部分的主要产品之一,也是从事实际应用开发的主要环境。
APT工作台是用于建立应用程序的工具集,可以创建从非常简单到非常复杂的应用程序,它主要用于开发基于表格(Form)的应用。
其用户界面采用窗口和菜单驱动方式,通过一系列的选择完成表格(Form)、菜单和处理的开发。
(3)可把异构环境下其它厂商的应用软件和任何类型的数据连接在一起的接口SybaseOpenClient/OpenServer。
通过OpenClient的DB-LIB库,应用程序可以访问SQLServer。
而通过OpenServer的SERVER-LIB,应用程序可以访问其它的数据库管理系统。
二、SYBASE有关概念
SybaseSQLServer是一个多库数据库系统。
这些数据库包括系统数据库和用户数据库。
而不论是系统数据库还是用户数据库,都建立在数据库设备上。
1.数据库设备
所有的数据库都创建在数据库设备上。
所谓数据库设备,不是指一个可识别的物理设备,而是指用于存储数据库和数据库对象的磁盘原始分区或操作系统文件。
增加一个新的数据库设备时,必须对这些设备“初始化”。
初始化的过程就是将物理磁盘、磁盘分区或操作系统文件变为SYBASE数据库可以识别的设备。
初始化数据库设备使用DISKINIT命令:
DISKINIT
NAME=设备名,
PHYSNAME=物理设备名,
VDEVNO=虚拟设备号,
SIZE=块数
其中,NAME指数据库设备名,此名将用于CREATEDATABASE和ALTERDATABASE命令。
PHYSNAME是原始磁盘分区或操作系统文件名。
VDEVNO是数据库设备的标识号,在SQLServer中,它必须是唯一的。
SIZE的单位是2K的块,对于新创建的数据库,最小的SIZE是model数据库的尺寸,即1024个2K的块(2M)。
例如:
/*将/dev目录下400M的物理设备初始化为SYBASE的数据库设备tele114_log01*/
1>
diskinit
2>
name=“tele114_log01”,
3>
physname=“/dev/rtelelog”
4>
vdevno=4
5>
size=204800/*2Kbyte*204800=400Mbyte*/
6>
go
2、段
数据库设备从逻辑上被划分为数据库段以允许将某一特定的对象放置在指定的段上(创建对象时指定),一数据库设备可拥有多达192个段,一段可使用255个逻辑设备上的存储空间。
当用户创建一个数据库时,SQLSERVER会自动在该数据库中创建三个段:
SYSTEM、LOGSEGMENT、DEFAULT,这三个段分别用来存储数据库的系统表、事务日志和其他数据库对象
在数据库中创建段的步骤是:
x先用Diskinit初始化物理设备
x通过使用Createdatabase和alterdatabase的on子句,使数据库设备对数据库可用,于是新设备自动增加到数据库的default和system段。
一旦数据库设备存在并对数据库可用,使用存储过程Sp_addsegment定义数据库的段。
语法如下:
Sp_addsegment段名,数据库名,设备名
3、系统数据库
安装Sybase数据库时自动生成的下列系统数据库:
●主数据库master;
●模型数据库model;
●系统过程数据库sybsystemprocs;
●临时数据库tempdb。
也可选择下列数据库:
●安全审核数据库sybsecurity;
●示例数据库pubs2;
●命令语法数据库sybsyntax。
(1)master数据库
包含许多系统表和系统过程,从总体上控制用户数据库和SQLServer的操作,构成了SYBASE系统的数据字典。
MASTER数据库主要记录信息为:
●登录帐号(SQL服务器用户名);
syslogins,sysremolelogins
●正在执行的过程;
sysprocesses
●可修改的环境变量;
sysconfigures
●系统错误信息;
sysmessages
●SQL服务器上每个数据库的信息;
sysdatabases
●每个数据库占用的存储空间;
sysusages
●系统上安装的磁带及磁带信息;
sysdevices
●活动锁信息;
syslocks
(2)model数据库
提供了新用户数据库的初型。
当我们每次用CREATEDATABASE命令时,SQLServer都产生一个model数据库的拷贝,然后把它扩展到命令要求的尺寸。
如果我们修改了model数据库,那么以后新创建的数据库都将随它而改变。
下面是几个通常用到的对model数据库的改变:
●增加用户数据库类型、规则或缺省;
●可存取SQLServer上所有数据库的用户用sp_adduser增加到model数据库上;
●缺省权限(特别是guest帐号)可在model中建立;
●诸如selectinto/bulkcopy那样的数据库选项可在model中设置。
这些设置反映到所有新创建的数据库中。
它们在model中最原始的值是关(off)。
在一般情况下,大多数用户无权修改model数据库,又没被授权读取。
因为model中所有内容已拷贝到新数据库中,授权读model没什么意义。
usemodel
go
sp_help
NameOwnerObject_type
----------------------------------------------------
sysalternatesdbosystemtable
syscolumnsdbosystemtable
syscommentsdbosystemtable
sysconstraintsdbosystemtable
sysdependsdbosystemtable
sysgamsdbosystemtable
sysindexesdbosystemtable
syskeysdbosystemtable
syslogsdbosystemtable
sysobjectsdbosystemtable
sysproceduresdbosystemtable
sysprotectsdbosystemtable
sysreferencesdbosystemtable
sysroles
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- sybase 安全 优化