美国Sybase公司研製的一种关係型资料库系统,是一种典型的UNIX或WindowsNT平台上客户机/伺服器环境下的大型资料库系统。 Sybase提供了一套应用程式编程接口和库,可以与非Sybase数据源及伺服器集成,允许在多个资料库之间複製数据,适于创建多层套用。系统具有完备的触发器、存储过程、规则以及完整性定义,支持最佳化查询,具有较好的数据安全性。Sybase通常与SybaseSQLAnywhere用于客户机/伺服器环境,前者作为伺服器资料库,后者为客户机资料库,採用该公司研製的PowerBuilder为开发工具,在我国大中型系统中具有广泛的套用。
Adaptive Server Enterprise (ASE) 是 Sybase 的旗舰式 RDBMS 产品,一直致力于以最低的系统总拥有成本 (TCO) 为企业提供一个高性能的数据和事务处理系统。最新版 ASE12.5.1/12.5.2 在继续保持以前版本的关键业务性能和高效计算的同时,在易用性、系统性能和支持新应用程式方面进行了增强和改进, 并进一步提高了系统安全和 Linux 的可扩展性。Sybase Adaptive Server Enterprise 12.5.1 完善和扩展了 ASE 产品系列
基本介绍
- 中文名:关係型资料库系统
- 外文名:sybase
- 公司:美国Sybase
- 平台:WindowsNT
公司历史
Sybase公司成立于1984年11月,总部设在美国加州的Emeryville(现为美国加州的Dublin市)。作为全球最大的独立软体厂商之一,Sybase公司致力于帮助企业等各种机构进行套用、内容及数据的管理和发布。Sybase的产品和专业技术服务,为企业提供集成化的解决方案和全面的套用开发平台。Sybase作为享誉全球的跨国公司,在63个国家设立了分支机构,拥有4万多家客户,主要集中在金融服务业、政府部门、电信、医疗保健和媒体服务业。Sybase 公司是全球领先的企业集成解决方案供应商,不仅拥有业界最完整的企业数据管理系统、领先的企业门户产品以及移动与无线解决方案,还致力于整合各种套用平台、资料库和套用软体。作为全球最大的独立软体厂商之一,Sybase解决方案将企业信息流转换成经济效益,便于企业在恰当的时间把準确的信息提供给合适的人群,使企业从数据资产中获取最大利益。

Sybase公司一向认为:软体的价值在于套用。在“用户第一,市场第二;服务第一,销售第二”的市场发展策略指导下,Sybase与用户共担风险,共同前进,稳步发展。如今,Sybase在中国的员工总数近200人,成为Sybase公司发展最快的海外分支机构之一。为了更好地给国内用户提供一流的技术支持和服务,Sybase已陆续在上海、成都、广州等地设立了办事处,合作伙伴更是遍布全国各地。
自进入中国以来,Sybase一直致力于同国内外套用软体提供商、国内教育、科研部门的合作,积极引入符合国情的套用软体,并大力扶植代理商和集成商,为中国的用户架起通向互联经济的桥樑。
Sybase公司一直面向电信、证券、金融、政府、交通与能源等领域稳步发展。尤其是在电信行业一直在同行业中处于领先地位。该季度中屡获殊荣的Sybase资料库产品先后博得了北京、云南、山东、河北、江苏等省市地区电信、移动及联通公司的青睐,并且在云南、河北等省7号信令网管系统项目中力拔头筹,一举中标。另外,山东电信在本地网管升级改造项目中,全省17个地市再次选用了Sybase产品作为资料库软体平台。并在成功赢得中国联通全国91个城市VOIP的接入项目的基础上,又获得了三期工程32个城市的资料库定单。在交通能源领域,中远货柜运输有限公司在其构建的IRIS-2系统项目中与Sybase签定了280万美金的契约。
在此期间,Sybase公司还推出了最新的旗舰资料库产品Adaptive Server Enterprise12.5、业界着名的开发工具PowerBuider8.0、新型企业门户产品EP2.0、针对金融行业的解决方案FFS及行业数据仓库IWS等产品。由于新品均适应于当前及未来的企业电子商务套用,故在短时间内便受到了业界的关注和客户的好评,为未来业绩的赢收奠定了良好的基础。
在刚刚踏入2002年之际,Sybase公司凭藉性能卓越的产品技术和睿智而富有个性的解决方案,先后在中国人民银行、南京地税、本地网计费等领域中大展宏图,从而为2002年业绩的广为发展奠定了牢固的基础,稳坐同行业的领先地位。展望未来,Sybase公司除了致力于中国电子商务的建设和发展,还将进一步加强在中国投资。Sybase公司将同中国不同行业的合作伙伴建立合资公司、合作解决方案的提供以及同中国的大学进行教育合作和培训的项目。
资料库,虽然没有oracle、db2名气响,但是国内许多大企业都使用它,尤其金融企业。
Adaptive Server Enterprise (ASE) 是Sybase 的旗舰式RDBMS 产品,一直致力于以最低的系统总拥有成本(TCO) 为企业提供一个高性能的数据和事务处理系统。最新版ASE12.5.1/12.5.2 在继续保持以前版本的关键业务性能和高效计算的同时,在易用性、系统性能和支持新应用程式方面进行了增强和改进, 并进一步提高了系统安全和Linux 的可扩展性。
Sybase Adaptive Server Enterprise 12.5.1 完善和扩展了ASE 产品系列,使其成为用于各种平台(从基于 Linux 的Intel 系统到来自Sun 或HP 的基于RISC 的64处理器平台) 的理想资料库系统。当今的企业需要一个更易于使用、资源效率更高、更可靠,而且可以与企业级套用轻鬆集成的企业基础架构技术,以有效控制和降低成本。Sybase ASE 12.5.1 专门设计用于增强这些功能。
最新推出的 ASE12.5.2 继续遵循ASE12.5.1 提出的降低套用整体TCO 的技术策略,并进一步发展和完善了实时数据服务,动态数据归档等扩展功能,以期达到帮助用户进一步降低TCO的关键目标。
现在,如果採用 SybaseRTDS实时数据服务包,Sybase 的ASE 最新版可以通过JMS讯息汇流排为高性能的实时讯息服务提供集成资料库的支持。用户可以将它用于关键业务信息系统中,Sybase ASE 实时讯息服务功能可以提供实时报警和通知,并且用户可以直接获得这些改变。
Sybase ASE 确保最高的操作有效性和各种平台上的吞吐量,从32/64 位Linux/Intel 到各种大规模的SMP 系统。
ASE 帮助您的企业:
* 降低运行成本- 自我管理功能提高系统运行的可伸缩性— 这个功能可以在人员和系统资源较少的情况下实现更高的性能。
* 降低开发成本- 增强的Web 服务和XML 功能可以更快地、更容易地开发、提交和维护新的业务套用。
* 降低硬体成本- ASE 支持大规模数据集,能够提高各种平台上的数据量,包括32 和64 位的Linux/Intel系统。
目前版本 - ASE 12.5.3 Interim Release 具有新的功能,包括跨平台Dump 和Load,便于系统迁移。
资料库
版本
1984年,Mark B. Hiffman和Robert Epstern创建了Sybase公司,并在1987年推出了Sybase资料库产品。SYBASE主要有三种版本,一是UNIX作业系统下运行的版本,二是Novell Netware环境下运行的版本,三是Windows NT环境下运行的版本。对UNIX作业系统目前广泛套用的为SYBASE 10 及SYBASE 11 forSCO UNIX。
特点
(1)它是基于客户/伺服器体系结构的资料库
一般的关係资料库都是基于主/从式的模型的。在主/从式的结构中,所有的套用都运行在一台机器上。用户只是通过终端发命令或简单地查看套用运行的结果。而在客户/伺服器结构中,套用被分在了多台机器上运行。一台机器是另一个系统的客户,或是另外一些机器的伺服器。这些机器通过区域网路或广域网联接起来。
客户/伺服器模型的好处是:
1)它支持共享资源且在多台设备间平衡负载
2)允许容纳多个主机的环境,充分利用了企业已有的各种系统
注释:什幺是客户/伺服器体系结构
从硬体角度看,客户/伺服器体系结构是指将某项任务在两台或多台机器之间进行分配,其中客户机(Client)用来运行提供用户接口和前端处理的应用程式,伺服器机(Server)提供客户机使用的各种资源和服务。
从软体角度看,客户/伺服器体系结构是把某项套用或软体系统按逻辑功能划分为客户软体部分和伺服器软体部分。客户软体部分一般负责数据的表示和套用,处理用户界面,用以接收用户的数据处理请求并将之转换为对伺服器的请求,要求伺服器为其提供数据的存储和检索服务;伺服器端软体负责接收客户端软体发来的请求并提供相应服务客户/伺服器融合了大型机的强大功能和中央控制以及PC机的低成本和较好的处理平衡。客户/伺服器为任务的集中/局部分布提供了一种新的方法,这种体系能够使用户对数据完整性、管理和安全性进行集中控制。在缓解网路交通和主机负荷以及满足用户需要方面,客户/伺服器体系提供了良好的解决方案。
总之,客户/伺服器的工作模式是:客户与伺服器之间採用网路协定(如TCP/IP、IPX/SPX)进行连线和通讯,由客户端向伺服器发出请求,伺服器端回响请求,并进行相应服务。
(2) 它是真正开放的资料库
由于採用了客户/伺服器结构,套用被分在了多台机器上运行。更进一步,运行在客户端的套用不必是Sybase公司的产品。对于一般的关係资料库,为了让其它语言编写的套用能够访问资料库,提供了预编译。Sybase资料库,不只是简单地提供了预编译,而且公开了应用程式接口DB-LIB,鼓励第三方编写DB-LIB接口。由于开放的客户DB-LIB允许在不同的平台使用完全相同的调用,因而使得访问DB-LIB的应用程式很容易从一个平台向另一个平台移植。
(3)它是一种高性能的资料库
Sybase真正吸引人的地方还是它的高性能。体现在以下几方面:
1)可程式资料库
通过提供存储过程,创建了一个可程式资料库。存储过程允许用户编写自己的资料库子例程。这些子例程是经过预编译的,因此不必为每次调用都进行编译、最佳化、生成查询规划,因而查询速度要快得多。
2)事件驱动的触发器
触发器是一种特殊的存储过程。通过触发器可以启动另一个存储过程,从而确保资料库的完整性。
3)多线索化
Sybase资料库的体系结构的另一个创新之处就是多线索化。一般的资料库都依靠作业系统来管理与资料库的连线。当有多个用户连线时,系统的性能会大幅度下降。Sybase资料库不让作业系统来管理进程,把与资料库的连线当作自己的一部分来管理。此外,Sybase的资料库引擎还代替作业系统来管理一部分硬体资源,如连线埠、记忆体、硬碟,绕过了作业系统这一环节,提高了性能。
访问过程
1)建立客户与伺服器之间的连线,包括网路连线、客户进程与伺服器进程之间的连线;
2)客户端通过网路传送SQL语句给伺服器,用来查询或操作伺服器中的数据或资料库对象
3)伺服器接收到SQL语句后,对其进行语法分析、最佳化和编译后执行;
4)如果执行的语句产生一个结果集,伺服器通过网路把结果集返回给客户
5)客户端对收到的结果作相应的处理。
在客户/伺服器体系,有两种资料库引擎结构,即多进程资料库引擎和单进程、多执行绪引擎结构。多进程结构即多个可执行程式同时运行。每当用户登录到资料库系统时实际上都启动了资料库引擎的一个独立实例。存在起协调作用的进程协调进行之间的通讯以保证当多用户访问相同数据时数据的完整性。多进程资料库引擎一般用在大型机资料库上。单进程多执行绪资料库引擎在原理上和多进程资料库引擎类似,不同的是多执行绪资料库引擎自己负责调度各应用程式占用CPU的时间,而不依赖于作业系统。这样,多执行绪资料库引擎自我保护的能力更强。
Sybase资料库管理系统採用的是单进程多执行绪的引擎结构。
产品介绍
软体组成
Sybase软体可划分为三个部分:
1)进行数据管理与维护的在线上关係资料库管理系统Sybase SQL Server
2)支持资料库套用系统的建立和开发的一组前端工具软体Sybase SQL Tools
3)把异构环境下其他厂商的套用软体和任何类型的数据连线在一起的接口软体Open Client/Open Server。
SQL Server是个可程式的资料库管理系统(DBMS),它是整个Sybase产品的核心软体,起着数据管理、高速缓冲区管理、事务管理的作用。
ISQL是与SQL Server进行互动的一种SQL句法分析器。ISQL接收用户发出的SQL语言,将其传送给SQL Server,并将结果以形式化的方式显示在用户的标準输出上。lset的一个主要组成部分,它的作用在于使用户能够设定和管理SQL Server上的资料库,并且为用户提供一种对资料库的信息执行添加、更新和检索等操作的简便方法。在DWB中能完成ISQL的所有功能,且由于DWB是基于视窗和选单的,因此操作比ISQL简单,是一种方便实用的资料库管理工具。
APT是Sybase客户软体部分的主要产品之一,也是从事实际套用开发的主要环境。APT工作檯是用于建立应用程式的工具集,可以创建从非常简单到非常複杂的应用程式,它主要用于开发基于表格(form)的套用。其用户界面採用视窗和选单驱动方式,通过一系列的选择完成表格(form)、选单和处理的开发。
通过Open Client的DB-LIB库,应用程式可以访问SQL Server。而通过Open Server的SERVER-LIB,应用程式可以访问其它的资料库管理系统。
基本特徵
SQL Server具有如下一些基本特徵:
1)SQL Server可以放在若干个磁碟设备上,初始安装时所需的磁碟空间至少要17MB。
2)SQL Server支持多库结构,也就是说Sybase系统中可以有多个资料库。Sybase可以管理多个资料库。
3)SQL Server可以编译和运行T-SQL语句,并可返回客户程式所要求的结果。T-SQL语句是标準SQL的扩充,它除了有数据定义语句、数据操纵语句和数据控制语句之外,主要增加了流程控制语句。
4)SQL Server可以管理多个用户并具有较高的事务吞吐量和较低的事务回响时间。客户的应用程式可以存取Server中某一个或几个资料库的数据。
主要内容
Sybase SQL Server是一个多库结构的RDBMS,安装Sybase资料库时自动生成的系统资料库体系结构大致如下:
1)主资料库master
2)模型资料库model
3)系统过程资料库sybsystemprocs
4)临时资料库tempdb。
也可选择下列资料库:
5)安全审核资料库sybsecurity
6)示例资料库pubs2
7)命令语法资料库sybsyntax
1.2.3.1 系统资料库
伺服器自身所使用的资料库,也可以说是管理伺服器和用户资料库的资料库。Sybase在安装时,自动创建了四个系统资料库:
master、model、tempdb、sybsystemprocs
(1) master资料库
它是管理和控制用户资料库以及维护伺服器正常运行的核心资料库,它包含许多系统表和系统过程,从总体上控制用户资料库和SQL Server的操作,构成了SYBASE系统的数据字典,它保存了大量的系统信息,如伺服器配置、用户、设备等。
在master资料库中不允许普通用户在其中创建资料库对象,否则会使得master资料库的事务日誌很快变满。如果事务日誌用尽,就无法使用dump transaction命令释放master资料库中的空间。
master资料库主要记录信息为:
1)登录帐号(SQL伺服器用户名);syslogins,sysremolelogins
2)正在执行的过程;sysprocesses
3)可修改的环境变数;sysconfigures
4)系统错误信息;sysmessages
5)SQL伺服器上每个资料库的信息;sysdatabases
6)每个资料库占用的存储空间;sysusages
7)系统上安装的磁带及磁带信息;sysdevices
8)活动锁信息;syslocks
(2)model资料库
它是为创建用户资料库而提供的模板。它提供了新用户资料库的初型。当我们每次用CREATE DATABASE命令时,SQL Server都产生一个model资料库的拷贝,以此作为新用户资料库,然后把它扩展到命令要求的尺寸。如果我们修改了model资料库,那幺以后新创建的资料库都将随它而改变。
Model资料库中包含每个用户资料库所要求的系统表。Model资料库可以被修改以便定製新创建的。
下面是几个通常用到的对model资料库的改变:
增加用户资料库类型、规则或预设
可存取SQL Server上所有资料库的用户用sp_adduser增加到model资料库上
预设许可权(特别是guest帐号)可在model中建立
诸如select into/bulkcopy那样的资料库选项可在model中设定。这些设定反映到所有新创建的资料库中。它们在model中最原始的值是关(off)。
在一般情况下,大多数用户无权修改model资料库,也没被授权读取。因为model中所有内容已拷贝到新资料库中,授权读model没什幺意义。
(3)tempdb资料库
它是个临时资料库,为伺服器运行与处理提供一个共享的存储区域,如group by和order by的中间结果就存放在这里。Tempdb的空间为伺服器中所有资料库的所有用户所共享。
每次重启SQL Server,伺服器的一个自动进程都拷贝model资料库到tempdb资料库,并清除tempdb中原来的内容。因此tempdb中的用户表都是临时的。临时表分为两类:可共享的和不可共享的。不可共享的临时表在由create table中将符号#置于表名之前创立;可共享的临时表通过create table中指定表名前缀tempdb..而创立。不可共享的临时表SQL Server自动为其添加数字后缀名,且它只存在于当前会话中。
(4)sybsystemprocs资料库
它是专门用来保存系统命令(存储过程)的资料库,如sp_help、sp_configure、sp_helpdevice等。当任一资料库用户运行以sp_开头的存储过程时,SQL Server按照以下顺序查找:当前资料库、sybsystemprocs资料库、master资料库。
其他可选资料库:
(5)安全审核资料库sybsecurity
资料库中保存系统的安全审核信息,它可跟蹤记录每个用户的操作情况,为维护系统安全提供控制手段。
(6)示例资料库pubs2
为用户提供一个学习SYBASE的资料库模型。
(7)命令语法资料库sybsyntax
库中保存SYBASE资料库的命令语法及支持的语言库。
1.2.3.2 用户资料库
用户资料库是我们使用Sybase伺服器的真正目的。要管理用户数据,必须在Sybase中创建自己的资料库,是指用create database命令创建的资料库。所有新的用户资料库都要在master资料库中创建,也就是说,不能存取master资料库的用户是无权创建新的资料库的。SA可以将创建资料库的许可权授予其他用户。新建资料库中存在一些系统表,在sysusers表中至少有一条记录,既该资料库的创建者。资料库创建时,创建者即为该资料库的 owner, 当然创建者可以将这一地位或这一所有权用系统过程授予别的用户。
资料库中的主要内容——资料库对象:表、视图、临时表、索引、主键、外键、预设值、规则、存储过程、触发器等
基础知识
Sybase安装
安装建立SQL Server以后,要建立放置资料库、日誌和索引的逻辑磁碟设备。资料库、日誌和索引的配置应注意以下原则:
1)不要把任何用户对象安装在master资料库中。
2)日誌应该保存在与资料库分离的磁碟上。
3)可以通过跨越多个设备分配工作最佳化I/O性能。
2.1.1 Sybase 的初始配置需要做的内容:
1)更改sa的登录口令
2)命名伺服器;
3)修改档案名称(保证Sybase Central正常启动)
4)更改预设设备;
5)增加tempdb的空间。
6)创建用户资料库(创建资料库设备,设备大小以页(2K)为单位)
系统管理
1)物理资源的管理
2)用户及其许可权管理
3)资料库的备份与恢复
4)SQL Server的配置参数
伺服器配置是系统管理员的职责,正确的配置对系统性能有重大的影响。有两个系统表存储配置信息:sysconfigures和syscurconfigs;sysconfigures是永久性的,一旦系统运行,sysconfigures的信息就拷贝到syscurconfigs中。显示配置和改变配置使用系统过程sp_configure。
有两种配置值:动态的和静态的,动态值一旦改变立即生效,静态值要在系统重启动后才起作用。
启动和关闭
2.3.1 启动SQL Server
套用SQL Server安装程式(sybinit)创建SQL Server或Backup Server, 默认档案名称为RUN_SYBASE 和RUN_SYB_BACKUP,放在$SYBASE/INSTALL目录下。Startserver 用来启动SQL Server 或Backup Server:
可以通过showserver查看SQL Server 和Backup Server是否已经启动。
SQL Server的启动过程:master资料库启动-- Sybsystemproces资料库启动--tempdb--model --用户资料库。
启动SQL Server的单用户模式:如果要恢复一已被损坏的master资料库,则必须要启动SQL Server的单用户模式。单用户模式下仅允许一个系统管理员向SQL Server注册。
Startserver -f RUN_SYBASE -m
2.3.2 关闭伺服器
关闭SQL Server可以在isql中使用T-SQL命令:
关闭SQL备伺服器:shutdown SYB_BACKUP
关闭SQL主伺服器:shutdown [with nowait]
存储空间管理
初始安装SQL Server时,安装程式和脚本初始化主设备,并建立master、model、tempdb和sybsystemprocs资料库。系统资料库、预定义设备和段按下列默认方式组织:
1)master、model、tempdb资料库安装在主设备master上;
2)sybsystemprocs资料库安装在安装时选择的设备上(sysprocsdev)
3)为每个资料库创建三个预定义段:system、default和logsegment;
4)所有用户创建资料库的默认设备是master设备
5)如果选择安装了审计资料库sybsecurity,它位于自己的设备上。
2.4.1 设备与存储管理考虑的主要问题
(1)恢复问题
物理磁碟崩溃时,磁碟镜像或在单独的物理设备上保存日誌为资料库恢复提供了两种机制。
(2)性能问题
磁碟读写速度是I/O操作的瓶颈,正确地把资料库对象放置到物理设备上有利于改进性能;把日誌和资料库对象置于单独的设备上可以提高系统性能;把表放在一个硬碟上而把索引放在另一个硬碟上,由于把工作分置于两个硬碟驱动器上,所以可以确保物理读写速度加快;磁碟镜像会降低磁碟写的速度。
2.4.2 设备(Device)
Sybase SQL Server是一个多库资料库系统。这些资料库包括系统资料库和用户资料库。而不论是系统资料库还是用户资料库,都建立在资料库设备上。即Sybase将资料库中的所有数据存放在设备上。删除设备前必须删除其上的所有资料库,删除设备的命令是:sp_dropdevice。
2.4.2.1 设备的概念
设备是Sybase预先配置的专门存放资料库的一块连续的磁碟空间,并且它被映射到一作业系统档案或一原始磁碟分区上。即它不是指一个可识别的物理设备,而是指用于存储资料库和资料库对象的磁碟原始分区或作业系统档案。它有两个对应的名称:逻辑名和物理名。NT仅支持设备映射到档案。所有的资料库都创建在资料库设备上。增加一个新的资料库设备时,必须对这些设备“初始化”。初始化的过程就是将物理磁碟、磁碟分区或作业系统档案变为SYBASE资料库可以识别的设备。初始化资料库设备使用DISK INIT命令。
设备与资料库之间的关係:多对多关係。一个资料库可以被创建或扩充到多个设备上,一个设备也可以被用来存放多个资料库。不同的设备作业系统可以对其并行地读写,因此我们可以人为地将一个资料库放置到多个资料库设备上。
设备的分类:Database Device和Dump Device。资料库设备存放资料库和事务日誌,转储设备用来存放资料库或日誌的备份。
2.4.2.1.1 默认设备
在没有指定设备的情况下,用户创建的任何数据对象自动存放在默认设备上。初始安装后,系统的主设备master被预指定为默认设备,因此要儘快创建自己的默认设备。确保系统主设备安全,指定仅被日誌使用的设备不是默认设备。
Sp_diskdefault 设备名[,DefaultOn|DefaultOff]
2.4.2.2磁碟镜像
磁碟镜像是出于资料库安全性的考虑,当介质失败时,磁碟镜像能提供不间断恢复。磁碟镜像是磁碟上的数据的绝对拷贝。如果某一硬碟事故发生,则该被损坏的拷贝就自动变成离线状态,因而所有的读写都被引向未被损坏的拷贝。
Sybase的磁碟镜像是在设备级上进行的,因此磁碟镜像实质上是设备镜像。当对某一设备进行镜像操作时,Sybase自动创建一个附加设备,由镜像处理程式将原设备上的所有数据拷贝到镜像设备上。
如果要使某一资料库成为镜像,被分配给该资料库的每一设备都必须成镜像。Master设备在伺服器中地位特殊,如果它损坏了,SQL Server将崩溃。因此,如果有可能总是要镜像Master设备(在另一磁碟上)。
2.4.3 创建与使用段
段(Segment)是资料库设备上磁碟空间的逻辑组合,它可以看作是指向一个或多个资料库设备的标籤。利用段可以控制资料库对象的存放位置,可以将资料库对象分类存放到不同的段上。
设备与段之间的关係:多对多关係。一个设备上可以创建多个段,一个段也可以覆盖多个设备。
资料库设备从逻辑上被划分为资料库段以允许将某一特定的对象放置在指定的段上(创建对象时指定),一资料库设备可拥有多达192个段,一段可使用255个逻辑设备上的存储空间。当用户创建一个资料库时,SQL SERVER 会自动在该资料库中创建三个段?用来存储资料库的系统表、事务日誌和其他资料库对象
2.4.3.1 使用段的优点
1)控制空间的使用:放在一个段上的资料库对象不会在段外增长;
2)提高性能:处于不同磁碟设备上的段可以并行地读写
3)处理大表:利用段,可以将一个大表分段放在独立的物理设备上,如将一个表的文本或图象数据存储另外的一个段上。
两个资料库放在同一设备的不同段上,它们不会相互影响;当资料库增加空间时,增加的空间会自动分配到它的每一个段上
使用阈值管理
阈值(Threshold)管理是一种自动监控资料库自由空间的机制,Sybase的阈值管理允许用户为资料库的某个段上的自由空间设定阈值并定义相应的存储过程。当该段上的自由空间低于所置头阈值时,Sybase自动运行相应的存储过程。
在一个实际运行的资料库中,日誌的增长速度一般要高于数据的增长,一旦日誌段的自由空间用尽,SQL Server在默认情况下会挂起所有数据操纵事务,客户端应用程式停止执行。
在每个分离的段上存储其事务日誌的资料库均自动设定有最后机会阈值(Last Chance Threshold),其阈值是备份事务日誌所需的自由空间的估计值。当该段上的自由空间低于所置阈值时,Sybase自动运行名为sp_thresholdaction的存储过程。该过程的名称及参数由系统预定义,内容由用户编写。
事务日誌
通常用户资料库由系统管理员创建,它的默认属主是dbo。系统过程sp_changeddbowner可改变资料库的属主关係,它必须由资料库管理员在要改变属主关係的资料库中执行。
日誌档案是用来记录资料库每一次修改活动的档案。SQL Server中的每一个资料库都有自己的日誌档案,即系统表syslogs,也称为事务日誌。事务日誌是撤消事务和出现故障时恢复事务的依据。在某些情况下,事务日誌比数据本身更为重要。
资料库的修改是以事务为单位进行的。一个事务就是一个操作序列,这些操作要幺全做,要幺全不做,它是一个不可分割的工作单位。任何一个事务具备如下特徵:
1)执行的原子性(Atomic)
2)保持数据的一致性(Consistency);
3)彼此的隔离性(Isolation)
4)作用的持久性(Durability);
上述事务的四个特徵被称为事务的ACID準则。
事务在运行过程中,SQL Server把事务开始、事务结束以及对资料库的插入、删除和更新等每一个操作作为一个日誌记录存放到事务日誌中。事务中的更新操作首先在资料库缓冲区(记忆体)中进行,缓冲区分别有用来记录操作活动的数据页(data page)和日誌页(log page)。当运行到commit tran时,日誌页首先从缓冲区写到磁碟上,而后数据页从缓冲区写到磁碟上,即遵循“先写日誌(write_ahead log)”的原则,这样保证出现故障的情况下,通过日誌能够得到最大限度的恢复。恢复必须撤消发生故障时还未提交的事务,已完成的事务若仍有未从缓冲区写到资料库设备中,还要重新运行该事务。
用户管理
资料库的安全性是指保护资料库以防止不合法的使用所造成的数据泄露、更改或破坏。SQL Server的安全管理是一种基于角色(role)的管理方法,位于不同许可权层次(或角色)的用户具有不同的用户许可权。
规定用户许可权有三个因素:用户、数据对象和操作,即什幺用户在哪些数据对象上可以执行什幺操作。
访问SQL Server中数据的四道屏障:
1)作业系统——作业系统登录
2)Sybase伺服器——伺服器登录
3)Sybase资料库——资料库用户登录
4)资料库对象——对象授权
2.7.1 用户管理概述
在SYBASE资料库中,用户管理是系统管理的一个重要组成部分,但其重要性却往往被人忽视。许多时候,运算元据库的命令不成功常与用户管理有关,而许多误操作命令的发生也可以通过用户管理来避免。因此,弄清用户管理的一些基本概念,对成功进行资料库系统管理有重要的作用。
2.7.1.1 SQL SERVER注册用户和资料库用户
刚接触到这两个概念的时候,可能会有所混淆,但只要了解SYBASE SQL SERVER的结构后,就会清楚。SYBASE SQL SERVER为一进程,进程本身可管理多个资料库。而有些资料库是相互独立的,有些资料库是可以共用的,如tempdb和sysbsystemprocs资料库。SQL SERVER与本身资料库的关係犹如城市与其中楼房的关係,当进入某一城市时需某一合法的身份,但进入城市的人并非每个楼房都可进入,即使允许进入也不能干某些事。SQL SERVER注册用户与资料库用户关係即是如此。当SQL SERVER创建注册用户后,该用户就能合法进SQL SERVER,该注册用户信息会放在master资料库中的 syslogins表中。但只有注册用户成为某一资料库用户,并且对该用户赋予某些许可权时,该注册用户才能在限制条件下使用资料库中的表。
2.7.1.2 SQL SERVER资料库用户分类
在SQL SERVER中用户一般分为以下四种:
1)sa用户。
2)资料库属主
3)资料库对象属主。
4)资料库普通用户。
sa用户在SQL SERVER中为最高等级用户,SQL SERVER中所有命令都可执行。
资料库属主(dbo)用户可对本资料库中所有对象(如表、视图、存储过程等)进行操作,一般有三种途径创建:
a.为系统管理员的用户
b.系统管理员的用户将创建资料库的许可权赋予某个SQL SERVER中注册用户,由该用户进行资料库的创建后,自然形成资料库属主
c.系统管理员的用户创建资料库后,将某个SQL SERVER中注册用户变为资料库的属主。
资料库对象属主为创建该对象的用户,在实际的资料库的管理中,一般为资料库属主。
资料库普通用户必须在资料库属主对本资料库中某些对象(如表、视图、进程等)赋予某些许可权时,才可对本资料库中某些对象进行允许的操作。
几者的关係是相互包含的:系统管理员的用户在进入某个资料库后,自然成为该资料库的属主,资料库属主可看作为特殊的资料库普通用户。
2.7.2 别名(aliases)与组(group)
别名(aliases)与组(group)在资料库管理中是经常用到的,它能简化资料库用户管理,方便对用户的监控。
所谓别名(aliases)即将SQL SERVER中的注册用户以同一个资料库用户的身份来访问资料库,并具有与该用户相同的许可权。也就是说,在资料库中只要建立一个资料库用户,对该资料库用户各种操作定义好,并使SQL SERVER 中已经定义好注册用户成为该资料库用户的别名用户后,即拥有与该用户相同的许可权。这样一来,注册用户不必成为资料库的用户即可访问资料库,对所有别名用户的许可权的控制只需通过对一个资料库用户的控制达到。如:有一SQL SERVER名为TEST.SER,有一名为EXAMPLE的资料库,其中有一名为OK的表,当系统管理员为TEST.SER创建名为JOHN和KATE的注册用户,EXAMPLE的资料库中有一名为OK_SELECT的资料库用户,该资料库用户有对OK表的查询许可权。将JOHN和KATE这两个注册用户变为OK_SELECT的别名后,JOHN和KATE即可进入资料库,并拥有与OK_SELECT的资料库用户相同的许可权。
组(group)为资料库用户的集合,即通过对组(group)的许可权的控制达到对该组中资料库用户的控制,但也可对该组中资料库某些用户进行格外的许可权控制。在上例中的EXAMPLE的资料库中有一OK_INSERT的组,它对OK的表有插入的许可权,资料库中有两个用户:MARRY和KITY,当这两个用户加入到OK_INSERT组后,MARRY和KITY就有对OK表的插入的权??的控制可得。而使MARRY对OK表有查询许可权,仅对MARRY用户赋权即可。而别名则不行。
2.7.3 SYBASE SQL SERVER的角色
一般在管理分工较细的资料库系统中,sa用户往往被分为三种角色:系统管理员角色(SA role)、系统安全员角色(SSO role)和操作员角色(OPER role)。
sa用户往往被锁住,其权力被以上三种角色所瓜分。这三种角色将分别用不同的资料库注册用户承担。
角色是许可权的集合。系统预定义角色:一个真正的资料库管理员应该是整个伺服器及其资料库的拥有者,具有管理伺服器及其资料库的所有许可权。在一个大的系统中,资料库管理员往往不只由一人承担,而是将管理任务进行功能划分,每人提当不同的责任。系统预定义角色就是为适应这种要求而设计的。
1)系统管理员(sa_role)
sa_role角色拥有执行与资料库具体套用无关的管理许可权:
a.安装与更新SQL Server
b.管理伺服器的物理存储
c.配置系统设定参数
d.创建用户资料库
e.授予SQL Server用户许可权
2)系统安全管理员(sso_role)
a.sso_role用来实施安全上敏感的操作,执行有关安全性的任务:
b.建立伺服器登录帐户
c.管理口令
d.授予除sa_role之外的任何角色
e.管理审计系统
3)操作员(oper_role)
a.oper_role执行全伺服器範围的资料库操作,如备份与恢复任意资料库等:
b.转储资料库与日誌
c.转载资料库与日誌
备份与恢复
资料库的备份与恢复是SQL Server保障数据安全的一种重要手段,为防止意外,资料库管理员必须定期和经常製作资料库的备份。一旦系统出现故障,数据能够得到及时的恢复。
2.8.1 基本概念
(1)事务处理及其日誌
SQL Server使用事务来跟蹤所有资料库变化。事务是SQL Server的工作单元。一个事务包含一条或多条作为整体成功或失败的T_SQL语句。每个资料库都有自己的事务日誌,即系统表syslogs,事务日誌自动记录每个用户发出的每个事务,它影射了每个事务足够多的信息,以确保数据能够被恢复。
(2)检查点(CheckPoint)
伺服器在检查点发生时更新数据。在伺服器发出一个检查点时:
1)更新数据。
2)在日誌中记录下执行检查点的标记。
检查点可把所有“髒页”写到资料库设备上,“髒页”是指从上一次检查点以来,在记忆体中修改、但没有在磁碟上修改的页。SQL Server的自动检查点机制保证了被完成的事务修改的数据页有规律地从记忆体中的缓冲区写到资料库设备上。
2.8.2资料库备份
若硬体介质出现故障(如磁碟损坏),若且唯若事先已对资料库及其事务日誌作了备份,才能恢複数据库。
注意:绝对不要使用作业系统的拷贝资料库设备,把这样一个拷贝装入SQL Server将导致大量资料库受损。
备份的类型:
1)完全备份
2)增量备份——备份事务处理日誌
说明:
a.只有把事务日誌放在单独的设备上,才能进行增量备份
b.备份事务日誌会截断日誌,因此备份的内容是自上次备份以来的事务处理。
c.备份之前要启动备份伺服器,并最好创建转储设备。
备注:truncate_only与no_log选项用于删除事务处理而不作拷贝。Truncate_only截断日誌;在事务处理日誌完全满时用no_log,它不为资料库建立检查点。两个选项都会丢掉日誌。当使用了这两个参数后,应及时备份整个资料库。no_truncate拷贝日誌但不截断日誌,在出现介质错误时使用该选项。
2.8.3资料库的恢复
使用load database载入备份到现有资料库,资料库可以是用于创建转储的资料库,也可以不是。
由于事务日誌在恢複数据库中的特殊作用,应定期备份资料库及其事务日誌,而且事务日誌的备份要更频繁一些。如:资料库每周备份一次,事务日誌每天备份一次。
SQL Server提供了两种不同类型的恢复:一类是系统自动完成的恢复;另一类是人工完成的恢复。
1)系统自动恢复
系统自动恢复是在系统软体出现故障的情况下通过重新启动SQL Server进行恢复。
自动恢复从master资料库开始,然后是model资料库,再是temporary资料库,最后是用户资料库。在每个资料库上,恢复机制观察事务日誌。如果日誌写入比资料库更近的数据,则向前恢複数据库。如果事务尚未完成,则要回退它们。
2)介质故障的恢复
一旦介质发生故障,只有通过以前备份的资料库和事务日誌才能恢複数据库,为此我们需要经常备份资料库和事务日誌。备份资料库和事务日誌我们使用dump命令,而恢複数据库和事务日誌我们使用load命令。
与创建资料库需要一个资料库设备类似,我们备份资料库和事务日誌也需要一个卸出设备。增加卸出设备可以通过系统过程sp_addumpdevice来实现。卸出设备可以是磁碟、磁带或作业系统档案。
在备份资料库前的所有事务日誌备份都是没有意义的。我们一般不经常备份资料库,但我们要经常备份事务日誌。这是因为备份事务日誌比备份资料库需要更少的时间和存储空间。
3)恢复用户资料库
要恢复已被破坏的资料库,可以按如下步骤进行:
a.用带no_truncate选项的dump命令卸出用户资料库事务日誌。
b.用和被破坏的资料库的同样的结构建立一个新的资料库。
c.用load命令重新装入资料库和事务日誌。
T-SQL语言
关係资料库以关係模型为基础,它由以下三部分组成:
1)数据结构——模型所操作的对象、类型的集合
2)完整性规则——保证数据有效、正确的约束条件
3)数据操作——对模型对象所允许执行的操作方式
关係(Relation)是一个由行和列组成的二维表格,表中的每一行是一条记录(Record),每一列是记录的一个栏位(Field)。表中的每一条记录必须是互斥的,栏位的值必须具有原子性。
2.9.1 SQL语言概述
SQL(结构化查询语言)是关係资料库语言的一种国际标準,它是一种非过程化的语言。通过编写SQL,我们可以实现对关係资料库的全部操作。
1)数据定义语言(DDL)——建立和管理资料库对象
2)数据操纵语言(DML)——用来查询与更新数据
3)数据控制语言(DCL)——控制数据的安全性
T-SQL语言是Sybase对SQL92标準的一种扩展,主要在它的基础上增加了三个方面的功能:自己的数据类型/特有的SQL函式/流程控制功能。
T-SQL中的标识符使用说明:标识符由1-30个字元或数字构成,但首字元必须为字母。临时表的表名以#开头,长度不能超过13个字元。
乱码问题
搭建测试Sybase资料库伺服器时,遇到乱码问题,之前没有遇到是因为开发资料库伺服器是早就安装好并设定好字元集的,因此些问题在部署测试环境时才出现,当已经将资料库配置完毕,并且所有的初始化脚本都已经执行完毕,工程也已经成功部署在WebLogic上,打开IE,运行程式,却发现所有从资料库中读取出来的都是乱码,这种情况下就需要设定字元集进行解决乱码问题。设定字元集的过程:
1、 安装完Sybase后,如果要想设定字元集为CP936,就必须先安装该字元集,因为Sybase默认的字元集表中并没有该字元集,安装步骤如下:(这里SYBASE的安装路径为c:\sybase)
1.c:\>;cd \sybase\charsets\cp936
2.c:\sybase\charsets\cp936>; charset -Usa -Psa_pass -Sserver_name binary.srt cp936通过上述命令就成功将CP936字元集安装表Sybase的系统字元集表中,但必须重启Sybase服务两次才能看到结果,可以通过查看master资料库中的syscharsets表查看是否已经安装成功,我们可以看到已经安装成功了:1002,171,0,1,'cp936','CP936 (Simplified Chinese).',’…’
2、看到CP936的编号为171,我们需要在Sybase的属性中设定系统字元集为该ID,如下图所示:如果设定完字元集成出现错误,是因为master资料库的表空间默认只分配几百K的空间,导入新的数据后已经没有足够的空间了,所以要对master资料库设定大一些的表空间,点击master资料库右键属性,选择表空间的tab页,对原有的表空间编辑重新分配大小,将master所有的表空间都分配了就可以解决该问题。

3、 设定好字元集后就可以执行初始化脚本了。
中国市场
sybase公司于1991年12月进入中国大陆,经过一段时间的本地技术人才积蓄与市场开拓后,在1993年投资230万美元正式建立Sybase在中国的公司,注册名称为赛贝斯软体(中国)有限公司。
经过十几年的发展,sybase公司赢得了大量的市场,拥有遍及金融、电信、政府、製造、零售、交易、教育、铁路、电力、水利、环保、军事、外贸等行业超过1000家的用户。拥有雄厚技术实力与产品魅力、一贯坚持“走有特色的中国之路”的sybase中国公司衷心地愿为广大国内用户开启未来的成功之门。sybase公司拥有经验丰富的技术专家和工程人员,为用户提供一流的技术支持与服务,包括系统选型、方案论证、业务分析、系统设计和套用开发等,从而多角度全方位地满足不同用户、不同套用系统的不同需求。
sybase公司在中国有员工近300人,其中技术人员数量占到公司总人数的85%。sybase中国公司除北京总部外,在上海、成都、广州等地设立了办事处,并在北京、上海、西安等地设立了研发中心,与合作伙伴一道为客户就近提供服务与支持。为全力提升既定市场的领导地位,sybase于2002、2003年相继在北京、上海成立“解决方案中心”,加强与客户、合作伙伴的协作关係并提供最完善的技术顾问。
自90年代初起,sybase已占稳中国市场,随着中国加入世贸及北京成功申办2008年奥运,亚太趋势必享有策略性的优势。CCID报告指出,sybase在中国电信业已取得45%的市场占有率,并以36.2%的份额占据中国铁路资料库市场绝对的领导地位。sybase公司凭藉优异的服务质量,连续三年荣获CCID颁发“最佳用户服务满意度奖”;更荣膺2002年中国资料库软体市场年度成功企业殊荣。IDC调查报告显示,sybase公司在中国软体市场的占有率名列第四,目前已占据着国内软体市场的主导地位。
技术着作
sybase技术在中国推广以来,已经培养了大量的用户和上万名相关工程技术人员。同时,与Sybase相关的技术着作也不断推出,例如下面的两套Sybase 相关技术丛书:
Sybase资料库在UNIX、Windows上的实施和管理
Sybase全套技术支持资料
这些技术着作满足了用户对Sybase产品的理解,提高了用户的Sybase套用能力,对Sybase的发展产生着深远影响!
2010年05月13日,SAP公司以58亿美元收购软体製造商Sybase。