文档库 最新最全的文档下载
当前位置:文档库 › Sybase数据库教程

Sybase数据库教程

Sybase数据库教程
Sybase数据库教程

系统维护员培训手册 1

第一章 Sybase概述

第一节 C/S简介

CS(Client/Server)结构是传统的网络集中共享式数据库的扩充。在CS结构中,应用程序(客户)在工作站上运行应用程序进行数据处理,服务器程序运行于服务器上以响应客户的请求并维护数据的一致性。CS结构可以显著减少不必要的网络数据传输。

一、CS和文件服务器的区别是:

文件服务器没有计算能力,它不了解数据本身的任何东西,它仅仅用于存储数据,文件服务器可以想象成一台用很长的电缆(网络)与用户计算机相连的硬

盘驱动器。CS的工作方式是客户端发出一个请求(命令),通过网络传送到服务

器,服务器根据这个命令进行计算,把计算后的结果传送给客户端。而文件服务

器的工作模式是工作站从服务器上取得应用程序运行,进行数据处理时到服务器

取数据,然后从所有的数据记录中找到要处理的内容,进行运算,最后才得出结

果。

二、客户/服务器模型的主要特点如下:

●客户进程和服务器进程可以由LAN或广域网(WAN)联结。它们都可以在同

一台计算机上运行。

●用于在客户和数据库服务器之间通信的基本语言是通过结构化的查询语言

(Structured Query Language)实现的。

三、发展过程

C/S结构是数据库发展的一个过程,跟随计算机的计算机系统结构由集中式主机系统发展到客户/服务器系统以及现在分布式的多层网络系统,数据库系

统的体系结构也大体经历了三种发展形式:

●集中式的主机/终端结构

主机/终端系统中主机运行DBMS及数据库应用,终端仅提供数据显示。

●两层的客户/服务器结构

在这种结构中,服务器执行数据库的存储逻辑和事务逻辑,客户端执行应用逻辑并提供用户界面。他们从系统上进行划分,均衡负载。

●三层(或多层)体系结构

这种体系可以看作是客户/服务器结构和Internet(国际互联网络)以及Intranet应用体系结构相结合的产物,它是对客户/服务器的继承和发展。

Internet应用是浏览器/WEB服务器/数据库服务器的三层体系结构。

四、Client/Server模式概述

2国强财务软件系统维护员培训手册

90年代以来,随着计算机技术、网络技术和数据库技术的发展,计算机使用方式和体系结构从单一体系结构、宿主体系结构、PC-LAN体系结构发展到目前最新的Client/Server体系结构。

Client/Server模式尚未有严格定义。从技术上看,Client/Server结构本身是一种软件结构,它是将一个计算机应用的大任务适当分解为多个子任务,利用计算机网络,把这些子任务分配到组成网络的各类计算机资源上去完成,从而可实现最佳的计算机资源的分配和利用。

在此过程中,多个子任务间存在多种交互关系,其中最基本的关系为“服务请求/服务响应”关系。客户向服务器提出对某种信息或数据的请求,服务器针对请求完成处理,将结果作为响应返回给客户。

基于Client/Server模式的应用通常包含如下三个部分。

●客户

是一个面向最终用户的接口设备或应用程序。它向另一个设备或应用程序请求信息,然后将信息显示给用户。客户初始化、与服务器的通信、用户输入和最终输出都是在客户平台上实现的。

●服务器

通常,服务器包含并管理数据库和通信设备。它为请求过程提供所要求的服务,这些服务可概括为应用、文件、数据库、打印、传真、图像、通信、安全系统管理和网络管理。

●连接支持

客户与服务器之间的连接总是通过硬件来实现的,这便是网络连接。而对Client/Server应用来说,此种连接更多地是一种软件通信过程,如网络协议、应用接口等。对于应用开发人员来说,客户与服务器之间的连接主要是指他所能使用的软件工具的编程函数。

第二节 Sybase的组成和结构特征

Sybase是一种客户/服务器结构的数据库系统,是目前比较流行的数据库系统之一。它是由美国Sybase公司研制的。目前流行的Sybase主要有三个版本,一是在UNIX 操作系统下运行的版本,二是在Novell Netware环境下运行的版本,三是在Windows NT 环境下运行的版本,在此我们主要以Windows NT环境下的Sybase为主进行讲解。

Sybase数据库软件有三部分组成,一是进行数据库管理和维护的一个联机(ON –line)关系型数据库管理系统Sybase SQL Server;二是支持数据库应用系统的建立与开发的一组前端工具软件Sybase SQL Toolset;三是用于实现与其他数据库连接接口的Open Client/Open Server工具。

SQL Server是个可编程的数据库管理系统,它是整个Sybase产品的核心软件。

系统维护员培训手册 3

第三节 Sybase的特殊用户

SQL Server由三种类型的特殊用户管理和控制着,他们是:

系统管理员

用户数据库所有者

数据库对象的所有者

一、系统管理员

系统管理员管理着系统的资源和安全,担负着与应用无关的管理任务。系统管理员不一定是某一个人,只要知道系统管理员的口令的人都可以起到系统管理员的作用。

●系统管理员的任务:

安装SQL Server;

管理磁盘存储;

在SQL Server上设置用户帐号;

对SQL Server用户授权;

创建用户数据库,并授予所有者特权;

备份数据;

监视SQL Server的自动恢复过程;

调节系统配置参数,以使SQL Server达到最佳性能;

系统管理员是master数据库的所有者,系统管理员的注册名是sa,他是一种“超级用户”,SQL Server不对他做任何权限检查,sa 是任何数据库的所有者。

二、数据库所有者

数据库的创建者就是数据库的所有者,sa用Grant命令授予用户创建数据库的权限。

●数据库所有者的任务

数据库所有者可完成的工作

运行存储过程sp_adduser允许其他SQL Server 用户存取此数据库;

授权其他用户在数据库中创建目标和执行命令;

用sp_addgroup 和sp_dropgroup 设置组(有了组,授权和收回授权就变得容易多了)。每个用户缺省的组是public。

●数据库所有者名及口令

数据库所有者以他设置的用户名和口令注册。在其他数据库中,所有者是按通常的注册名标识的。在所有者自己的数据库中是dbo,他被认为是dbo。

●数据库所有者的权限

数据库所有者对他拥有的数据库具有所有的权力。

三、数据库对象所有者

数据库对象表、索引、视图、触发器、规则以及存储过程。数据库所有者必须首先授权给用户创建特定的对象,然后用户才能创建。

4国强财务软件系统维护员培训手册数据库对象所有者的任务是,创建对象,然后对其他用户授权。

第四节 Sybase数据库的基本构成

SQL Server安装时,它有四个数据库:master数据库,model数据库, sybsystemprocs 数据库和tempdb数据库。Master,Model和Tempdb都放在Master设备上。

一、master数据库

master数据库从总体上控制用户数据库和SQL Server 的操作。它保留着用户帐号(在syslogins中),可设置的环境变量(在sysconfigures中),系统错误信息

(在sysmessages中)。在SQL Server上的数据库(在sysdatabases中),给每个数

据库分配的存储空间(在sysusages中),装入系统的磁带和磁盘(在sysdevices 中),

以及动态锁(在syslocks中)的轨迹。另外,系统过程是在SQL Sserver安装时用

buildmaster程序创建的。它是存储在master中的。

只有在master数据库中才能用create database、或alter database ,disk init等命令。

往master数据库设备上增加用户目标是可能的,但不好,在master数据库上创建目标的目的应该是从总体上管理系统。应该在master数据库上对用户设置权

限,以使大多数用户不能在那里创建目标。

每次改变master数据库时最好用dump database 备份它,如果master数据库被破坏,恢复它的方法与恢复用户数据库不同。

二、model 数据库

model 数据库也是随SQL Server一起提供的。它提供了新用户数据库的雏型,每次用create database 命令时,SQL Server都产生一个model 数据库的拷贝,然

后把它扩展到命令要求的尺寸。

Model数据库中包含着数据库需要的系统表。它可以修改成新创建数据库的结构——对model 数据库的任何修改都会在每个创建的数据库中反映出来。下面

是几个通常用到的对model数据库的改变:

增加数据类型、规则或缺省;

可存取SQL SERVER上所有数据库的用户用sp_adduser增加到model数据库上;

诸如select into/bulk copy那样的数据库选项可在model中设置。这些设置会反映到新创建的数据库中。它们在model中最缺省值是false。

三、临时数据库

SQL Server提供了一个临时数据库(tempdb)。该库为临时表和其他临时工作存储提供了一个存储区域。

不管是什么数据库,所有临时表都存放在tempdb中。然而,可以从tempdb 或创建临时表的数据库来查询临时表。如果查询tempdb..sysobjects,则系统会告

系统维护员培训手册 5

诉你在临时表名上加了一个后缀。仅当从tempdb使用临时表时,sp_help才工作

于临时表上。

Tempdb是SQL Server上所有数据库共享的工作空间。每当用户退出SQL Server或系统从失败中恢复时,用户的临时表从tempdb删除。存储过程退出时,

它的临时表也被删除。在应用结束前,临时表也可被显示的drop掉。

Tempdb缺省的尺寸是2M字节,在财务软件中,由于用到的临时表很多,根据实际的情况,可以把它扩充到80~100M或更多。

第二章 Sybase的安装

第一节服务器端的安装

以Sybase SQL Server for Windows NT(SYSTEM 11.5)在WINDOWS NT 4.0上安装为例:

一、安装步骤

1、将光盘插入光驱中,在WINDOWS NT的资源管理器中双击光驱SYBASE11.5

目录下的SETUP应用程序。

2、稍等片刻,屏幕上出现一“Welcome”窗口,单击下一步。

3、稍等片刻,系统提示选择安装类型:

有两种安装licensed products和open client

runtime

选择licensed products 进行安装,单击下一步。

4、指定SYBASE安装路径,默认为:c:\sybase,单击下一步。

5、选择程序文件夹:select program folder,窗口中显示系统中已经存在的文件夹。

将要安装的文件夹默认为SYBASE,即安装完成后在开始菜单的程序菜单中出

现SYBASE项。

6、product select 选择要安装的产品。

在想要安装的产品选项右边打上标记,单击下一步。

7、显示installation summary窗口,其中显示了上一步所做的选择,确认正确后点

击install,开始拷贝文件,进度条显示安装进度,这步需要较长时间。

8、SQL INI Dialog 共三个选项:

Ignore for now(现在忽略)

Run sqledit to edit your SQL.ini(运行SQLEDIT编辑SQL.INI)

Import an existing SQL.ini(转入一个已存在的SQL.ini)

SQL.INI文件是服务器与客户之间的配置文件,如果不为网络上的其它服务器增

6国强财务软件系统维护员培训手册

加连接,可选择Ignore for now,并单击continue,因为默认的服务器配置由安装程序来完成,而且安装完毕后还可以对它进行修改。

9、create an Adaptive SERVER 创建SQL SERVER

Adatpive Server :缺省为服务器计算机名如:XCZC,但不应该含有汉字,如果有应该将其更改掉。

Master device file:主设备文件路径默认为:

C:\SYBASE\DA TA\MASTER.DAT 大小为:30M

系统存储过程设备路径及大小:C:\SYBASE\DATA\SYBPROCS.DAT 45M

一般按缺省即可,不用更改,设置好后单击create 按钮。

10、显示status窗口

系统开始创建主设备(MASTER.DA T)、安装系统存储等,该过程需要较长的一段时间。

11、installation complete

安装结束,系统提示重新启动计算机,即可将SQL SERVER启动起来。

二、其他设置

●启动与停止SQL SERVER

安装完成后只有将SQL SERVER启动,系统才能提供数据库服务,启动方法如下:在WIN NT控制面板中选择服务选项进入服务对话窗口,在列表中将光标移到

SYBASE条目:XCZC,单击开始按钮,即可启动SQL SERVER,同时在这里还可以设置SQL SERVER的启动类型,单击启动按钮,在弹出的对话窗中将启动类型设为自动,这样在每次启动WIN NT服务器时,同时启动SQL SERVER而不需要用户再手工来启动SQL SERVER。

通常,在启动SQL 服务器时,最好也启动BACKUP服务器,这样,当需要作备

份时,就不必担心BACKUP SERVER是否已启动。

●配置SYBASE的使用内存

在实际应用中可根据接入的站点数,适当修改系统分配给SYBASE的内存,以提高运行速度。步骤如下:

在程序菜单中单击SYBASE中的SQL Advantage,进入SQL Advantage窗口,在主菜单中选择SERVER中的connect项显示如图所示窗口。选择SQL服务器名

XCZC;

输入login 名:sa,单击connect,即可与master数据库建立连接。在session 1下输入sp_configure ”total memory”右击鼠标,在弹出菜单中选择execute query即可执行该存储过程,出现result 1 from session 1显示SYBASE占用的内存值。

要改变其值,可在sp_configure命令行的最后写上欲分配给SYBASE的内存值,注意:此处的值是以2K为单位。例如

sp_configure ”total memory”,10240

系统维护员培训手册7

go

reconfigure

go

即要分配给SYBASE的内存为20M。

●将字体改为汉字字体

在SQL Advantage窗口中,只要把菜单中的EDIT--→FONT改为汉字字体即可,例如宋体或选择语系中的CHINESE_GB2312。

欲使设置有效,要在控制面板中停止SQL SERVER,再重新启动。

第二节客户端的安装

运行网络版财务软件时,无论是哪一种网络环境,客户端必须安装Sybase Open Client 端,数据库才能正确连接。

一、安装步骤:

1、将光盘插入光驱中,在工作站的资源管理器中双击光驱SYBASE 11.5目录下的

SETUP应用程序,运行安装程序。

2、稍等片刻,系统提示选择安装类型:

有两种安装licensed products和open client

runtime

3、如果您打算在工作站上管理SYBASE数据库,请选择licensed products 进行安

装,单击下一步。

如果您不打算在工作站上管理SYBASE数据库,请选择open client 进行安装,

单击下一步。

4、以下各步与SERVER端的安装类似,只是没有创建数据库的步骤,参见Sybase SQL

SERVER 11.5的安装步骤。

5、在SQL.INI Dialog中选择Ignore for now后安装完成。先不要选择重新启动

计算机,等配置好与服务器的连接后再启动。

二、建立客户端与服务器的连接

1、在程序菜单中单击SYBASE中的Dsedit图标弹出配置窗口。

2、在左边SERVER下的空白区域右击鼠标,在其弹出菜单中选择ADD选项,在对话

窗中输入SERVER name如:SYBASE,确认退出,再在右边区域的SERVER ADDRESS

处右击鼠标,选择Modify Attribute,点击Add:

●如果使用NAME PIPE协议进行联接,则:

Protocol:NLMSNMP

Network Address:\\xczc\pipe\sybase\query

●如果使用TCP/IP协议进行联接,则:

Protocol:NLWNSCK

8国强财务软件系统维护员培训手册

Network Address:200.200.200.1,5000

点击OK,关闭SERVER ADDRESS窗口。

3、在属性窗口区域点击右键,选择Ping Server,提示联接成功则表示配置正确。

3、重新启动机器。

用户帐号的管理

安装完Windows NT Server 4.0中文版,就可用“域用户管理器”来建立

与管理域中的用户帐号、组、安全规则等。在介绍“域用户管理器”之前,先

介绍内置帐号与使用域用户管理器的一些限制。安装完NT后,其自动内置两个

内置帐号:Administrator,它是系统管理员,拥有最高权限,你可以用它来

管理NT Server的资源和域的用户帐号数据库。注意Administrator

并不会自动对NT上所有的目录与文件拥有访问权限。Administrator

帐号名称可以更改,但无法将它删除。

Guest, Guest 帐号是供来宾临时使用而设置的帐号,例如供偶尔

使用或仅使用一次的用户登录,它只有少部分的权限,你可以更改

此帐号的名称,但无法将它删除,此帐号默认是禁用的。

如果你在安装NT时,安装了Internet Information Server,则会另外添加一

个帐号IUSR_Computername,其中Computername为该计算机的名称,这个帐号

是所谓的Internet的Guest帐号。

并非所有的用户都可以使用域用户管理器,Administrators组可以使用域

用户管理器所提供的所有功能,Account Opertors组可以使用域用户管理器的

大部分功能。

第三章 Sybase系统管理

第一节用户管理

增加新用户到SQL Server并授予他们使用命令和数据库对象的权限,这些工作完全可由系统管理员来完成。

一、增加新用户的步骤

系统管理员用sp_addlogin创建注册帐号。通常,此时还确定用户口令和缺省数据库。

若数据库要分组,用sp_addgroup创建组,为该组授权

系统管理员或数据库所有者,用sp_adduser增加新用户。

二、增加用户到SQL Server

系统过程sp_addlogin增加新的注册名到SQL Server,它本身不授予用户任何存取数据库的权限。只有系统管理员可执行sp_addlogin。其语法如下:

系统维护员培训手册9

sp_addlogin loginame[,password[,defdb [,deflanguage]]]

参数说明:

loginame 用户注册名是必须的。

Password新用户的口令,如果没有给出,则取缺省的口令null,sa可以用

sp_password来改变用户的口令。

Defdb新用户缺省数据库名(当连接到SQL Server上时使用的数据库)

Deflanguage指定了提示和信息的缺省语言。

三、增加用户到数据库

sp_adduser login_name [,name_in_db [,grpname]]

参数说明login_name 是已存在用户的注册名。

name_in_db允许数据库所有者指定一个用户名字,其名称可以与注册名不同。

Grpname为新加用户指定组,此组必须已经存在,如果没有指定组,则用户缺省组为public。

第二节资源的管理

一、初始化数据库设备

设备是指用于存储数据库和数据库对象的磁盘或文件系统中的一个文件。在进行创建数据库之前,设备必须准备好,这个过程叫做设备的初始化。

语法:

DISK INIT

NAME = "逻辑设备名",

PHYSNAME = "物理设备名",

VDEVNO = "虚拟设备号",

SIZE = 数据库设备大小(以2K的数据页计)

[,VSTART = 起始的虚拟地址,

,CNTRLTYPE = 磁盘控制器号(缺省为0)]

说明:

⑴ Sa 用 DISK INIT 命令进行设备初始化/增加新设备

⑵每个设备在 SQL Server 中增加一个连接

⑶利用 sp_helpdevice [设备名]查看设备信息

⑷最大设备数: 255

财务软件有关设备

在财务软件中,每套帐有三个设备cwbase?_dump,cwdata?,cwlog?;?表示帐套编号。

注意事项:

⑴只有SA可使用DISK INIT

10国强财务软件系统维护员培训手册

⑵在使用DISK INIT 前要:

·备份主数据库

·确保有足够的空间

·确保将使用的设备尚未初始化

·确保sybase用户对此设备有写的权限

·确认sybase的系统配置满足要求(device、 memory、connection)

二、设置缺省设备:

命令格式:

sp_diskdefault 逻辑设备名 { defaulton | defaultoff }

例子: sp_diskdefault data_dev1 defaulton

sp_diskdefault master defaultoff

说明:

⑴只有 SA 可设置缺省设备

⑵缺省设备只能是数据库设备,不能是转储设备

⑶ SQL Server安装时,主设备是缺省

(建议改为OFF,便于主设备及主数据库的维护)

⑷可创建多个缺省设备,使用时按物理顺序填满

⑸创建DB时应指明建库设备,否则建在缺省设备上

⑹利用 sp_helpdevice 可了解缺省设备信息

三、删除设备:

命令格式:

sp_dropdevice 逻辑设备名

例子: sp_dropdevice data_dev1

说明:

⑴何时删除设备:

·改变、修复、增加硬件时

·改变设备大小(先删,后加)

⑵只有 SA 可删除设备

⑶对文件设备,drop后,还要删除目录中的文件,以真正释放空间

⑷不能删除有数据库的设备

注意事项:

?只有系统管理员有权删除设备。在删除设备之前最好备份master数据库。

?用sp_dropdevice删除设备后,需要重新启动SQL Server,该设备的虚拟设备号才可以使用。

?磁盘文件形式的设备,在用p_dropdevice删除后,还需要手工删除在磁盘上的相应文件才能回收空间。

?在使用sp_dropdevice删除设备之前,必须先删除该设备上的所有数据库。

系统维护员培训手册11

四、创建数据库

命令格式:

create database 数据库名

[on { default | 数据库设备名 } [=大小] (以MB为单位)

[,数据库设备名 [=大小]]...]

[log on 数据库设备名 [=大小]

[,数据库设备名 [=大小]]...]

[with override]

[for load]

例子: create database mydb

on data_dev1 = 6

log on log_dev1 = 2

说明:

⑴ with override 选项说明:

允许on 和log on选项指定同一设备名,但分配不同的设备片;

for load 选项说明:

新建数据库仅用于装入数据库的转储备份(不需清页,建库快);

⑵建库者(DBO):

SA:SA可将DB所有权转让。(用sp_changedbowner)

master、model、tempdb、sybsecurity库的所有权不能转让。

SA授权的用户:用 grant create database to 用户名。

建议SA集中管理DB的创建。

⑶ SQL server 最多可管理32767个数据库

⑷如未指定位置和大小,DB建在缺省设备上,大小为max{model库大小,

database size参数值}

财务软件中的数据库信息的存放

财务软件中的数据库信息以及模块信息记录在cwmaster数据库中的

LSZTXX,LSZTXT中。查看数据库信息:

sp_helpdb [数据库名称]

五、扩展数据库:

命令格式:

alter database 数据库名

[on { default | 数据库设备名 } [=大小] (以MB为单位)

[,数据库设备名 [=大小]]...]

[log on 数据库设备名 [=大小]

[,数据库设备名 [=大小]]...]

[with override]

12国强财务软件系统维护员培训手册

[for load]

说明:

·for load 选项仅用在 create database for load 之后;

·扩充者: DBO、SA (在主数据库中);

·在数据库使用的同时可做扩展;

·主数据库只能在主设备上扩展;

·当用户指定大小不能满足时,系统会在每个指定设备上分配尽可能多的空间。

其它处理:

⑴日志饱和时: dump trans / trancate

扩展日志段

⑵数据段饱和时:drop无用的数据对象

扩展数据段

六、删除数据库

命令格式

drop database 数据库名

说明:

⑴删库者: DBO、SA

⑵不能删除正在使用的数据库

⑶只能删除能正常打开的数据库,如果数据库已不能打开,只能用dbcc

dbrepair(dbname,dropdb)来删除。

示例:

扩充tempdb,由于软件中的帐务资料的查询及报表的编译计算等都要用tempdb,如果tempdb太小,则很容易造成死机。以下为将tempdb数据库增加200M 的操作:

进行该操作时注意:

●查看F盘(服务器上的驱动器盘符)空间够不够大,比如要扩充100M,看

看F盘剩余空间是否够100M。

●执行系统过程sp_helpdevice,查看已经使用的设备号(device_number列),

找一个没有使用的设备号。

●如果已没有剩余设备号,可用(sp_configure 'number of devices',新最大设备

号)来设置更多的可用设备号,重启SERVER新配置的即可使用。

具体执行过程:

1、sa 进入 master数据库

2、执行:disk init name="tempdbdev",

physname="f:\ data\tempdbdev",

vdevno=11,

size=51200

3、执行:sp_helpdevice 查看是否显示出:tempdbdev

系统维护员培训手册13

4、执行:alter database tempdb on tempdbdev=100

5、执行:sp_helpdb tempdb查看tempdb数据库大小是否增加了100M。

同样,如果一个数据库的空间太小,也可以这样来增加数据库的空间或扩充日志。

第三节数据备份和恢复

一、数据库备份:

何时备份:

·每次建/扩库、初始化设备后,备份master

·每次改变model库后,备份之

·定期或大量更新数据后备份用户库(动态备份)

语法:

dump database 数据库名

to 设备名 [ at 备份服务器名 ]

[,stripe on 设备名 [ at 备份服务器名 ] ...]

[ with { dumpvolume = 卷名,

[dismount|nodismount],(安装磁带卸下/保留)

[nounload|unload],(备份完成后不倒带/倒带)

retaindays = 天数,(缺省系统参数tape retention值)

[noinit|init],(追加备份/重新初始化磁带卷)

[notify = {client|operator_console} } ]

说明:

·一个设备可备份多个DB

·一个DB可备份在多个设备上(备份分解):

<=32个设备

·手工备份:执行dump database命令,易于管理、监控

·自动备份:

~按指定时间在OS下运行备份程序

~在剩余空间达到一定限度时,通过阈值(门限)管理过程执行备份

二、数据库装载:

语法:

load database 数据库名

from 设备名 [ at 备份服务器名 ]

[,stripe on 设备名 [ at 备份服务器名 ] ...]

[ with { dumpvolume = 卷名,

[dismount|nodismount],(安装磁带卸下/保留)

14国强财务软件系统维护员培训手册

[nounload|unload],(备份完成后不倒带/倒带)

file = 文件名,(数据库备份名)

不备份→ listonly [ = full ],(显示磁带卷上所有备份文件信息)

不备份→ headeronly,(显示一个备份文件标题)

[notify = {client|operator_console} } ]

注意事项:

·load重写所有现存数据

·接收数据库应存在且足够大

·dump与load应是同一用户(DBO)

·dump与load应在同一OS平台上进行

·DB在load时不能使用

应先将"no chkpt on recovery"、"dbo only"、"read only"置为true,load完成后再置为false

第四节 configure的配置

一、服务器管理配置值

下面来看一看常用的配置内容:

1、total memory

total memory设置的值指定了sql sever向操作系统申请的物理内存的总量。total memory的值应该是2kb的整数倍。sql sever就在这个内存空间里占用一块存放内部数据结构和可执行代码。有一些配置通过sp_configure设置的值也从这个内存池中申请空间。包括number of user connections number of remote connections number of devices number of databases number of open objects number of locks等。在满足了这一需要以后,sql sever把剩下的内存留给数据和过程缓存。

也许你可能会指定sql sever使用主计算机上的最大物理内存,但这样会影响系统或其它运行在这台机器上的应用程序的性能。

2、default database size (数据库的缺大小)

在执行create database命令而不指定大小时,sql server就用这一设置确定为的大小。缺省情况下,这一设置的值为2mb。你不应该依赖这个设置,而应该在创建数据库之前先预计好它的容量。经常使用alter database来扩充数据库的大小,会导致数据库空间到物理磁盘的映射异常复杂,并且在你拥有几个大型数据库时,就变得无法管理了(没有管理员的文档原则,数据库会无限增大)。

3、number of devices(设备数)

devices参数控制了sql server可以寻址的最大数据库设备数。你所使用的devices 值并不影响预定义的转储设备的数目。这一参数的设计假定你会给设备按顺序编号,从0号master设备开始。如果devices值为n,那么任何设备的编号都不可能大于n-1。如果你按照这种方法给设备编号,那么n就是你的设备总数。换句话讲,如果

系统维护员培训手册15

你把devices设为0,而设备编号全为偶数,你就只能使用0 2 4 6 8 号设备,即只能使用设备的一半。

由于这一参数缺省值为0,所以要用一大堆设备,你就必须增大这个数。每个devices大约使用1/2kb的内存空间。

sp_helpdevices命令报告了每个数据库设备的设备号。你也可以用下面的sql查询只看设备号和设备名:

>select name ,low/power(2,24)

>from master..sysdevices

>where cntrltype=0

>go

4、allow update to system tables(允许修改系统表)

以修改sysdatabases表为例:

sp_configure “allow updates”,1

go

reconfigure with override

go

update sysupdatebases set status = 256where name = “school”

go

sp_configure “allow updatees” ,0

go

reconfigure with override

go

重新启动SERVER

dbcc dbrepair(school,dropdb)

go

以上是删除无法用正常手段删除的数据库,然后创建新的数据库并且从存储设备上恢复数据库school。

通常,你不应该直接修改系统表。Sql server为防止你无意中直接修改系统表而拒绝对它们的更新,除非你已经做了某些工作。但是,有时候解决一个问题的唯一方式是更新系统表的值这么做一定要在技术支持的指导之下进行。把allow updates置为1允许你使用sql 命令直接系统表。要设置这一选取项,你必须拥有sa的角色,把allow_updatees置为1后,你还必须运行reconfigure with override 命令告诉SQL SERVER你知道自己在干什么。

5.configuration file(配置文件)

configuration file的设置显示了用sp_configure或SQL Server启动时最近最常装入的配置文件名。

6.number of open databases (打开的数据库数)

number of open databases控制最多可以同时使用的数据库数目。在内部,这一变量决定在启动时申请多少个数据库描述符。在SQL Server 11中,每个打开的数据

16国强财务软件系统维护员培训手册

库大约需要33KB的附加内存空间。Server要同时打开的数据库包括系统数据库master,model、tempdb和sybsystemprocs。每个用户都可以用来执行某些查询。当你运行系统存储过程时,master数据库和sybsystemprocs数据库就打开了。在启动时和创建新数据库时,Server打开model库。如果安装了审计功能,你也应认为sybsecurity数据库在大多数时间是打开的。

7、number of open objects(打开对象数)

number of open objects控制可以同时使用和在一个事务中可以用到的数据库对象的数目(如表、存储过程等)。在内部,它设置了内存中申请的对象描述符的个数。

每个打开的对象大约需要315字节的内存。判断open objects的多少需要足够的经验,并且对数据库结构和SERVER要非常熟悉,所以宁愿牺牲一点儿内存也多估计几个,使其不回限制用户的工作。

8、number of locks (锁数目)

number of locks变量设置了在同一时刻的活动锁个数。通常来说,每个进程大约使用20把锁。如果你的SQL Server上运行的应用程序设计较差,经常访问的表上又没有足够的索引,就应该把这个变量调高一点儿。每一把锁要额外使用80字节的内存空间。

9、number of user connections(最大用户连接数)

user connection设置决定了SQL Server 可以同时容纳的用户数目。一个user connection所需的内部资源包括一个内存结构,用来存放用户的详细信息,user connection的最大数目依赖于操作系统的限制。命令select @@max_connections可以知道你的系统最多允许有多少个连接数。每个user connection需要的内存量是50~100KB,把连接数设的足够大,以容纳你的用户,但也不要设的太高而弄得数据和过程缓存的内存不足。

第五节 dboption 的配置

一、设置数据库选项(sp_dboption)

1、Select into/bulkcopy

使用bcp或批拷贝程序接口将数据高速拷贝到一张没有索引和触发器的表,Writetext或者Selectinto生成永久表,则此选项必须设置为true。

因此,当你使用bcp实用程序往用户数据库加载数据时,或者调用dbwretetext 函数把一幅图片插入到某张表的image字段,或者通过Select into命令形成结果表时,别忘了把该选项置为true。

SQLServer为了快速执行上述操作,所以减少了记录修改操作的日志。但是,这种不记日志的操作会使事务日志与数据库中数据不同步。这种事务日志对于系统失败后的恢复就没有用处。系统禁止在这种情况下dump transation到转储设备。因此,这些不记日志记录的操作完成后,将Select into/bulkcopy选项关闭后,执行dump database。

系统维护员培训手册17

由Select into或批拷贝对数据库产生未被日志记录的修改后,执行dump transaction命令时,显示错误信息,并指导用户改用dump database(而Wrrietext 命令没有这种保护)。

由于临时库tempdb从不恢复,所以使用Select into产生临时表时不必将Select into/bulkcopy选项打开。对于有索引的表进行bcp时,一般进行慢速批拷贝并且记入日志,所以此时也不必将Select into/bulkcopy设置为true。

2、trunc log on chkpt

该选项表示每当checkpoint检查进程执行时(通常每分钟12次以上),事务日志被载截,即将已提交的事务日志删除。但是,该选项设置成true以后,人工执行checkpoint操作时都不载截事务日志。在开发数据库应用时,防止日志增长太快.可以将该选项设置成true,所以它很有用。

3、abort tran on log full

该选项决定当指定数据库日志段最后机会阀值被超越时,正在运行的事务的处理办法。缺省值为false,也就是说事务被暂停挂起,直到空间空余出来再恢复。本选项设置为true时,在日志存储空间空余出来之前,所有用户的需要写事务日志的查询将被去掉。

4、allow nulls by default

该选项置为true,将列的缺省状态从not null改为null,这与ANSI 标准一致。T-SQL中列的缺省状态为not null,即不允许列为空值。但用户可在列定义时指定该列为null状态。allow nulls by default true与缺省状态相反。

5、dbo use only

该选项设置为true时,只有数据库拥有者才能使用该数据库。

6、ddl in tran

该选项设置为true时,用户在事务中可以使用某些数据库定义语言的命令,例如:Create table,grant和alter table命令。ddl in tran选项设置为true时,下述命令才可在用户自定义事务内部使用:

alter table、create table、drop rule、create default、create trgger、drop table、create index、create view、drop trigger、create procedure、ceate default、drop view、create rule、drop index、grant、drop procedure、revoke

下述命令在任何情形下都不能在用户自定义事务内部使用。

alter database、load database、truncate table、create database、load transation、update statistics、disk init、recorfigure、drop database、select into

另外,系统过程sp_helpdb,sp_helpdevice,sp_helpindex,sp_helpjoins,sp_helpserver和sp_spaceused,由于在执行时产生临时表,也不能在用户自定义事务中使用。再者,用户自定义事务中不能使用修改master数据库的系统过程。

7、no free space acctg

该选项抑制剩余空间计帐及非日志段阀值活动的执行,由于不再计算这些字段的剩余空间,所以将加速恢复时间。

8、no chkpt on recovery

18国强财务软件系统维护员培训手册

当保持最新的数据库备份时,此项设置为true。此时,存在一个基本库和一个辅助库。首先,基本库转储到辅助库中。然后,基本库的事务日志间断地转储并装载到辅助库中

若此选项设置为缺省值false,重新启动SQL Server时,恢复数据库后将向数据库增加一条检查点记录。检查点记录确保机制不会不必要地重新运行,改变顺序号,并导致随后从基本库装载事务日志的失败。

将辅助库的此项设置打开,恢复过程将不产生检查点,这样从基本库转储的事务日志可以被装载至辅助库。

9、read only

该选项使得用户可以从数据库中检索数据,但不能修改数据。

10、single user

该选项设置为true时,每次只能有一个用户访问该数据库。

二、设置步骤:

use master

sp_dboption [用户库名,选项,{true|false}]

use 用户库名

checkpoint

三、权限:SA、DBO

四、主数据库选项不可修改

五、在财务软件中,select into/bulkcopy/pllsort和trunc log on chkpt这两个选项必须设为true。

系统维护员培训手册19

第四章 Sybase T-SQL的应用

第一节 SYBASE 基本对象的创建和删除

T-SQL是一种增强的SQL(Structure Query Language)语言,它在SQL语言的基础上扩充了许多新的功能。

一、表

用于存储SQL Server的数据

语法:

create table [database.[owner].table-name

(column-name datatype

[default {constant_expression|user|null}]

{identity|null|not null]

{{unique|primary key} [clustered|nonclustered]}

[,……]

说明:

表的列最多有可达250个,每个列有三个特征:名字、数据类型和属性;

每行的最大字节数为1962字节。如果更新数据总数超过1962字节时,SQL SERVER会产生错误信息,而且命令失败。

所有的对象的名字最多可由30个字符组成,其名字对大小写是敏感的,创建的对象在sysobjects表中,表的列在syscolumns系统表中。

Identity—表明列具有IDENTITY特性。IDENTITY列用于存储由SQL SERVER自动产生连续的数字。

clustered|nonclustered指定由unique或primary key约束产生的索引是聚簇的还是非聚簇的。

例如:创建专项核算字典

create table LSHSZD

(F_HSBH varchar(12) not null,

F_HSJS char(1) not null,

F_MX tinyint not null,

F_HSMC varchar(30) null,

F_FLBH char(2) not null,

F_KMBH varchar(250) null,

F_WBBH char(4) null,

20国强财务软件系统维护员培训手册

F_BZLB char(2) null,

F_BZBM varchar(60) null)

删除表

语法:

drop table [[database.]owner.]table_name

[,[[database.]owner.]table_name]…

从数据库中删除表的定义以及它所有的数据、索引、触发器和权限指定。

例如:

if exists(select * from sysobjects

where rtrim(name)='LSHSZD' and rtrim(type)='U')

drop table LSHSZD

go

二、视图

来自一个或多个表的数据的逻辑描述。

语法:

create view

view-name [(column-name,... )]

as select-without-order-by

[ with check option ]

说明:

with check option指出所有的数据修改语句都必须通过视图的选择条件。所有的通过视图插入或修改的记录仍必须是通过视图可见。

如:create view VW_LSWLDW

as select * from LSWLDW where F_DWMC like '%山东%'

with check option

从表LSWLDW中创建视图,包含山东的所有单位的信息。with check option 子句验证每次插入或修改一行是否符合视图的选择条件.F_DWMC列中不含“山东”的记录都被拒绝。

再如创建一个视图把科目编号、名称、数量等信息都反映出来。

create view VW_LSKMSL as

select t2.F_KMBH,t1.F_KMJS,t1.F_MX,t1.F_KMMC,t2.F_JFSL,t2.F_DFSL,t2.F_SLYE,

t2.F_SNSL, t2.F_JSJZ,t2.F_DSJZ,t2.F_JSLJ,t2.F_DSLJ,t2.F_JS01,t2.F_JS02,t2.F_JS03, t2.F_JS04, t2.F_JS05,t2.F_JS06,t2.F_JS07,t2.F_JS08,t2.F_JS09,t2.F_JS10,t2.F_JS11, t2.F_JS12, t2.F_DS01,t2.F_DS02,t2.F_DS03,t2.F_DS04,t2.F_DS05,t2.F_DS06,t2.F_DS07, t2.F_DS08, t2.F_DS09,t2.F_DS10,t2.F_DS11,t2.F_DS12,t2.F_SL01,t2.F_SL02,t2.F_SL03, t2.F_SL04, t2.F_SL05,t2.F_SL06,t2.F_SL07,t2.F_SL08,t2.F_SL09,t2.F_SL10,t2.F_SL11,

2.F_SL12 from LSKMZD t1,LSKMSL t2

where t1.F_KMBH=t2.F_KMBH

Sybase数据库教程

系统维护员培训手册 1 第一章 Sybase概述 第一节 C/S简介 CS(Client/Server)结构是传统的网络集中共享式数据库的扩充。在CS结构中,应用程序(客户)在工作站上运行应用程序进行数据处理,服务器程序运行于服务器上以响应客户的请求并维护数据的一致性。CS结构可以显著减少不必要的网络数据传输。 一、CS和文件服务器的区别是: 文件服务器没有计算能力,它不了解数据本身的任何东西,它仅仅用于存储数据,文件服务器可以想象成一台用很长的电缆(网络)与用户计算机相连的硬 盘驱动器。CS的工作方式是客户端发出一个请求(命令),通过网络传送到服务 器,服务器根据这个命令进行计算,把计算后的结果传送给客户端。而文件服务 器的工作模式是工作站从服务器上取得应用程序运行,进行数据处理时到服务器 取数据,然后从所有的数据记录中找到要处理的内容,进行运算,最后才得出结 果。 二、客户/服务器模型的主要特点如下: ●客户进程和服务器进程可以由LAN或广域网(WAN)联结。它们都可以在同 一台计算机上运行。 ●用于在客户和数据库服务器之间通信的基本语言是通过结构化的查询语言 (Structured Query Language)实现的。 三、发展过程 C/S结构是数据库发展的一个过程,跟随计算机的计算机系统结构由集中式主机系统发展到客户/服务器系统以及现在分布式的多层网络系统,数据库系 统的体系结构也大体经历了三种发展形式: ●集中式的主机/终端结构 主机/终端系统中主机运行DBMS及数据库应用,终端仅提供数据显示。 ●两层的客户/服务器结构 在这种结构中,服务器执行数据库的存储逻辑和事务逻辑,客户端执行应用逻辑并提供用户界面。他们从系统上进行划分,均衡负载。 ●三层(或多层)体系结构 这种体系可以看作是客户/服务器结构和Internet(国际互联网络)以及Intranet应用体系结构相结合的产物,它是对客户/服务器的继承和发展。 Internet应用是浏览器/WEB服务器/数据库服务器的三层体系结构。 四、Client/Server模式概述

sybase基本操作

SYBASE基本操作 一、启动数据库 1、ps -ef | grep dataserver 查看sybase进程, Sybase有数据库进程和备份进程, 若都没看到则需要手动启动,进入sybase安装目录$sybase/ASE-15_0/install 启动数据库和备份进程 # ./startserver -f RUN_LINUXMZC --启动数据库RUN_”SYBASENAME”#./startserver -f RUN_LINUXMZC_BS --启动备份服务“RUN_backupserve” 启动后也可用#showserver查看 2、登录数据库 数据库启动后使用#isql -Usa -P -S 登录数据库, 注:sybase默认只有一个用户sa,默认密码NULL

二、sybase基本操作 1、查询数据库版本 >select @@version >go 注:isql中的命令都需要go来执行,如果发现写错了,可以用reset重新输入 2、查询数据库信息 >sp_helpdb 显示所有数据库和基本信息 3、查寻空间使用情况 >use basename >go >sp_spaceused >go

4、性能监控 使用指令sp_sysmon 格式:>sp_sysmon “hh:mm:ss”,model_name,表示监控指定时间指定模块,缺省为所有模块 1、内核管理(kernal ) 10、任务管理(taskmgmt) 2、应用管理(appmgmt) 11、监视器访问SQL的执行(monaccess) 3、数据缓存管理(dcache) 12、并行查询管理(parallel) 4、ESP管理(esp) 13、过程缓存管理(pcache) 5、索引管理(indexmgmt) 14、恢复管理(recovery) 6、锁管理(locks) 15、事务管理(xactmgmt) 7、内存管理(memory) 16、磁盘I/O管理(diskio) 8、元数据高速缓存管理(mdcache ) 17、工作进程管理(wpm) 9、事务概要(xactsum) 18、网络I/O管理(netio)

Sybase数据库管理手册

Sybase数据库管理手册

目录 Sybase 数据库安装说明 (3) 一、安装前准备工作 (3) 二、安装主程序 (3) 三、安装后打补丁 (6) 四、重启后创建Sybase服务 (6) 五、字符集设置 (11) 六、还原HIS数据库 (13) 七、Sybase服务不能启动时 (19) 八、配置参数 (21) 客户端安装说明 (29) 一、安装客户端 (29) 二、配置客户端 (29) Sybase 数据库的备份、恢复 (29) Sybase 数据库维护 (30) Sybase数据常用命令的使用 (31)

Sybase 数据库安装说明 一、安装前准备工作 ●先将Sybase安装文件夹(ASESERVER)拷贝到要安装的机器硬盘上。(此文件夹下文中都 用d:\Tooll\ASESERVER) ●将Sybase的补丁拷贝到要安装的机器硬盘上 ●处理安装时的字符集问题(防止安装时出现乱码) 对于不同的Windows版本的操作系统Sybase都要进行字符集文件的修改,下面是不同 二、安装主程序 ●进入安装程序 完成安装前的准备工作后就可以双击D:\TOOLS\ASESERVER\setup.exe文件进入Sybase安装程序。

●确定安装目录 选择安装目录是不要选择有磁盘阵列或做了Raid的盘,也不要选择操作系统所在的磁盘。 ●选择安装组件 ●安装总结

在总结处要注意所需空间是不是小于可用空间,如果不是则要将安装的磁盘清除一些文件来达到所需空间。单击“下一步”进行安装进行状态 ●安装进度 ●录入注册信息

●重启提示 完成安装后提示是否重新启动机器,按否不重启机器。然后将补丁拷贝到安装目录。 三、安装后打补丁 将\ASE补丁\ebf11574\Server目录下的所有文件拷贝到Sybase安装目录下例如安装目录为C:\Sybase 将C:\sybase\shared-1_0\jre1.2.2\lib\font.properties.zh.NT5.2文件名改名,操作系统与文件名的配对关系参考安装前准备工作的配对关系。 四、重启后创建Sybase服务 ●重启机器后进入Sybase安装程序确定提示按“否”后进行Windows操作系统 ●进行操作系统的运行窗口录入CMD进入Dos操作界面

sybase资料

关于Sybase ASE数据库的license以及试用版过期的问题的解决方案 作者:佚名来源:中国自学编程网收集整理发布日期:2009-02-18 当用户从Sybase官网上下载了ASE15.0.2以后,如果选择了安装Express Edition或者Developer Edition,基本上不会碰到什么问题,除了有些功能受限以下。 但大多数可能选择了Enterprise Edition for Evaluation类型,即企业版试用。都会碰到这样的问题,即一个月以后,license过期,无法启动server。于是很郁闷,可能大部分人,会选择卸载再重新安装一遍,这样当然没问题,只是,太浪费时间了。 有一段时间,我自己甚至也以为只能这样去解决了。 实际上不是,通过在sybase论坛上与一些有经验的人交流以后,发现,是可以切换的。 首先,有三种安装类型: 1. Express Edition,完全免费,不用缀述。 2. Developer Edition,没有使用期限限制,用于开发和测试。似乎不能商用,无所谓了。我也是刚得知。以前好像是有60天的限制。 3. Enterprise Edition,它是有试用时间的限制的。是30天。 只要能找到切换就OK了。 你的解决方法就是,把企业版的license切到开发版或者Express版。怎么切? 先看看目录$SYBASE/SYSAM-2_0/licenses下边的三个文件: SYBASE_ASE_DE.lic SYBASE_ASE_XE.lic 第一个文件里边有这样的内容: PE=DE;LT=DT 第二个文件里有这样的内容: PE=XE;LT=CP

Sybase数据转成SqlServer数据库的步骤

Sybase数据转成Sql Server数据库的执行步骤: 目前我们采用Sql Server 的DTS工具实现数据的交换操作。 一、前期准备:在目标数据库形成跟原数据库完全相同的表结构。 1,需要将客户备份的sybase数据库恢复到我们sybase帐套中,形成原数据库。 2,在Sql Server数据库中建立目标数据帐套,利用帐套维护工具建立目标数据库,选择模块与原数据库所用模块相同即可,初始年度与原数据库的初始年度也要相同。 创建完数据库后,如果原数据库有历史年度数据,则在目的数据库上的相应模块也做年结操作形成相应的历史年度表。主要通过察看数据库中那些表带有历史年度后缀,那些模块需要年结需要根据具体数据库设置。 3,删除所有用户表中的记录。 删除步骤,登陆原数据库,根据下面语句形成删除表记录sql。 select 'truncate table '+name +' go' from sysobjects where type = 'U' order by name 把执行结果复制到EditPlus中去,在go前增加换行符,形成删除表记录的sql语句。 4,在目标数据库中执行这些删除记录的sql语句,将目标数据库的相应记录删除。 并注意查看出错语句,主要是表不存在的情况下报的错误。 并决定那些表可以不需要,记录下不需要的表。 针对原数据库: 5,利用报表优化工具做临时表清除工作,以便节省交换时间。 二、数据导入操作: 利用DTS工具做数据交换操作。 执行步骤如下: 1,运行DTS,按照下一步执行即可。 2,配置数据源,我们这里是sybase数据库做数据源。 数据库类型选择sybase ASE OLE DB Provider 3,点击属性,配置数据库连接。数据源中输入syboledb,一定确保之前利用备份恢复工具(DBGhost.exe)联接过sybase数据库一次。 4,配置目标数据库这里选择sql server数据库。 5,选择复制表和视图。 6,选择表和视图。把不需要交换的表前面不需要选择即可,另外视图也不需要选择。 7, 8,执行 9,最后看以下执行结果,找到出错原因。 10,针对每一条出错的表,定位错误原因,然后单独把出错的表再导入一次。 注意问题: 由于sybase数据库大小写区分,而sqlserver数据库默认不区分大小写,有可能会出现复制数据违反唯一索引的问题。 解决方式有二: 删除通过大小写区分不一致的记录。 创建的sql server 实例也选择区分大小写。

SYBASE服务器-配置手册篇

Sybase服务器的创建和配置 说明:只有作为数据库服务器使用的机器才需要创建和配置服务器,其他终端只需通过客户端连接到该服务器即可。客户端的处理请查看客户端的安装和配置手册。 创建前准备: 因为Sybase服务器的命名不能以非字母的字符开头,而大部分windows系统在安装时会随机给定一个字符串(如果用户没指定计算机名的话),这样创建时Sybase读取计算机名为默认服务器名就可能因含有非法服务名而报错,所以建议创建服务器前检查计算机名,更改为“dz01”,“dz02”等(dz表示:对账系统) 更改方法:【我的电脑】上右键点【属性】,在弹出的【系统属性】界面点击选中【计算机名】选项卡,并点击【更改】按钮,在更改界面填写新的计算机名,点击【确定】完成更改,系统提示重启后生效,重启计算机 以下为Sybase服务器的创建过程 图1 1.如图1,点击【开始】【程序】【Sybase】【Server Config】进入服务器配置程序 图2

2.如图2,点击【Create Adaptive Server…】,开始创建服务器 图3 3.如图3,系统默认的服务器名为本地计算机名,为维护方便,建议统一改为“EBILL” (即:电子对账单),然后点击【Continue】。 图4 4.如图4,在界面中更改Server page(即,数据页的大小)为8k。然后点击【Continue】 注意:数据页的大小在该系统必须设置为:8k 图5 5.图5为创建master设备,路径为系统默认值,设备大小修改为500MB(因为Tempdb 临时数据库的空间由master设备提供,所以要大一些),直接点击【Continue】

Sybase数据库与sql server的区别

Sybase数据库与sql server的区别 目前目前大型的数据库都采用oracle,中小型的用sqlServer,建议用sqlserver或者mysql。 sybase与sqlsrver的内在区别就是: 1.Sybase没有用户自定义函数。 2.判断fetch成功的全局变量是@@SQLstatus,而不是@@fetch_status。 3.没有set,赋值与查询通用select。 4.没有top,返回N行要使用set rowcount N / set rowcount 0 5.raiserror 22009 " "--> raiserror( ' ',16,1) 6.游标一定要在过程中使用,不能单独在查询中使用。 7.销毁游标要加cursor关键字.如:deallocate cursor cur_tmp 8.没有bigint类型。 9.create table #t(id numeric(12,0) identity not null),不支持int型,且不能设置起始值和步进值。 10.不能alter一个存储过程,要先drop掉再create。 11.没有len函数,使用char_length或datalength等效。 12.通过sysindexes中的doampg列可返回某表的行数,rowcnt(doampg) 。 13.convert函数没有120格式(yyyy-mm-dd hh:mm:ss),需要

使用 select convert(char(4),datepart(year,getdate()))+ '- '+right ('0'+convert(varchar(2),datepart(month,getdate())), 2)+'-'+right('0'+convert(varchar(2),datepart(day,ge tdate())),2)+ ' '+convert(char(10),getdate(),8) 14.charindex不能从被查找字符串中按指定位置查找某字符串。 15.不能使用rtrim函数将数值型转为字符型。 16.没有cast函数,数值型到字符型转移使用select convert(varchar(10),123) 17.没有replace函数。 18.没有left函数,只有right函数。 19.不支持在字段上加[]。 20.select语句中不支持变量累加,例如:select @SQL=@SQL+colname from tablename 21.在过程及视图中系统会自动将select * 变为select 列1,列2... 22.varchar最大支持16384个字节(SQLServer中是8000) 。 23.Sybase不支持表变量。 24.Sybase不支持instead of触发器。 25.Sybase没有调度(注:定时执行某个操作) 。

Sybase数据库安全配置规范

Sybase数据库安全配置规范

1.概述 1.1. 目的 本规范明确了Sybase数据库安全配置方面的基本要求。为了提高Sybase数据库的安全性而提出的。 1.2. 范围 本规范适用于XXXX使用的Sybase数据库版本。

2.配置标准 2.1. 通用安全设置 2.1.1.操作系统检查 【目的】检查Sybase安装目录的访问权限,保证只有系统管理员才能访问。 【具体配置】 改变Sybase注册表 KLM\Software\Sybase中的权限键值。 2.1.2.服务器信息 【目的】列举网路上的远程服务器。 【具体配置】 exec sp_helpserver 检查输出内容: 网络密码加密: "net password encryption" = true "net password encryption" = false 安全机制: "rpc security model A" 不提供安全机制 “rpc security model B” 提供不同的安全服务,如互相认证、消息加密、完整 性校验等。 列举特定服务器的信息: exec sp_helpdb 2.1. 3.登录信息 【目的】检查认证模式是否开启和默认登陆。 【具体配置】 检查认证模式是否开启: exec sp_loginconfig "login mode" 0 – 标准模式 1 – 集成模式 2 – 混合模式 标准认证模式: 默认的认证模式。Sybase使用自己的数据库(master数据库中的syslogins 表)来认证用户。Windows NT/2000的管理员如果没有正确的帐户也不能

SYBASE数据库日志详解

SYBASE数据库日志详解 开发者在线 https://www.wendangku.net/doc/0d1016757.html,更新时间:2007-09-13作者:https://www.wendangku.net/doc/0d1016757.html, 来 源:https://www.wendangku.net/doc/0d1016757.html, 本文关键词:Sybase数据库日志 我们知道,SYBASE SQL Server用事务(Transaction)来跟踪所有数据库的变化。事务是SQL Server 的工作单元。一个事务包含一条或多条作为整体执行的 T-SQL语句。每个数据库都有自己的事务日志(Transaction Log),即系统表(Syslogs)。事务日志自动记录每个用户发出的每个事务。日志对于数据库的数据安全性、完整性至关重要,我们进行数据库开发和维护必须熟知日志的相关知识。 一、SYBASE SQL Server 如何记录和读取日志信息 SYBASE SQL Server是先记Log的机制。每当用户执行将修改数据库的语句时,SQL Server就会自动地把变化写入日志。一条语句所产生的所有变化都被记录到日志后,它们就被写到数据页在缓冲区的拷贝里。该数据页保存在缓冲区中,直到别的数据页需要该内存时,该数据页才被写到磁盘上。若事务中的某条语句没能完成,SQL Server将回滚事务产生的所有变化。这样就保证了整个数据库系统的一致性和完整性。 二、日志设备 Log和数据库的Data一样,需要存放在数据库设备上,可以将Log和Data存放在同一设备上,也可以分开存放。一般来说,应该将一个数据库的Data和Log存放在不同的数据库设备上。这样做有如下好处:一是可以单独地备份 Backup 事务日志;二是防止数据库溢满;三是可以看到Log的空间使用情况。 所建Log设备的大小,没有十分精确的方法来确定。一般来说,对于新建的数据库,Log的大小应为数据库大小的30%左右。Log的大小还取决于数据库修改的频繁程度。如果数据库修改频繁,则Log 的增长十分迅速。所以说Log 空间大小依赖于用户是如何使用数据库的。此外,还有其它因素影响Log大小,我们应该根据实际操作情况估计Log大小,并间隔一段时间就对Log进行备份和清除。 三、日志的清除 随着数据库的使用,数据库的Log是不断增长的,必须在它占满空间之前将它们清除掉。清除Log 有两种方法: 1.自动清除法 开放数据库选项 Trunc Log on Chkpt,使数据库系统每隔一段时间自动清除Log。此方法的优点是无须人工干预,由SQL Server自动执行,并且一般不会出现Log溢满的情况;缺点是只清除Log 而不做备份。

Sybase数据库的备份与恢复

Sybase数据库的备份与恢复 1.实验目的: (2) 2.实验平台及环境: (2) 3.实验内容: (2) 4. 实验步骤: (2) ◇用企业管理器或存储过程创建一个备份设备,手工命令Sybase 做各种备份。 (2) ◇任意修改数据库(包括删除),然后将某个手工完成的备份恢复,并检查数据库状态是否和备份前一样。这一过程要对所有种类的备份都做一遍。 (9) ◇为“学生选课”设置一个备份计划,要求每当CPU空闲时采用多种方式进行数据库备份。 (13) ☆方法一: (13) ☆方法二: (13) ☆方法三: (15) 5. .................................................................. 遇到的问题及解决方案. (16)

1.实验目的: 1.理解Sybase的数据备份和恢复机制。 2.掌握Sybase的数据备份和恢复的基本概念,例如备份方式(增量备份和完全 备份)、备份介质(文件或者设备)等等。 3.掌握备份和恢复的实际操作,能够备份和将备份恢复,特别是能够恢复到一个新的 数据库中。 4.理解备份策略或者备份计划的概念,实际书写脚本进行自动备份。 2.实验平台及环境: 操作系统 安装软件:ASE 15-0 3.实验内容: ◆手工创建数据库的各种备份并恢复到原数据库和新(是否为空都可以)数据库中。 ◆编写T-SQL脚本实现自动备份计划。 4. 实验步骤: 1、用企业管理器或存储过程创建一个备份设备,手工命令Sybase做各种备份。 第一步:设置允许更新,并修改服务器名 Sybase数据库一开始无法进行备份操作,需要在master中设置,设置代码如下:sp_configure 'allow update',1 go update master..sysservers set srvnetname='LENOVOPC_BS' where srvname='SYB_BACKUP' go 注:srvnetname为旧服务器名称srvname为新服务器名称,但这个新服务器是 安装时取的服务器名,不是随意取的 即首先修改权限为“允许更新”,再把master中的备份服务器名改为和现在所使用的服务器名相同:

28款经典数据库管理工具

1、MySQL Workbench MySQL Workbench是一款专为MySQL设计的ER/数据库建模工具。它是著名的数据库设计工具DBDesigner4的继任者。你可以用MySQL Workbench 设计和创建新的数据库图示,建立数据库文档,以及进行复杂的MySQL 迁移 MySQL Workbench是下一代的可视化数据库设计、管理的工具,它同时有开源和商业化的两个版本。该软件支持Windows和Linux系统,下面是一些该软件运行的界面截图:

2、数据库管理工具Navicat Lite Navicat TM是一套快速、可靠并价格相宜的资料库管理工具,大可使用来简化资料库的管理及降低系统管理成本。它的设计符合资料库管理员、开发人员及中小企业的需求。Navicat是以直觉化的使用者图形介面所而建的,让你可以以安全且简单的方式建立、组织、存取并共用资讯。 界面如下图所示:

Navicat 提供商业版Navicat Premium 和免费的版本Navicat Lite 。免费版本的功能已经足够强大了。 Navicat 支持的数据库包括MySQL、Oracle、SQLite、PostgreSQL和SQL Server 等。

3、开源ETL工具Kettle Kettle是一款国外开源的etl工具,纯java编写,绿色无需安装,数据抽取高效稳定(数据迁移工具)。Kettle中有两种脚本文件,transformation和job,transformation完成针对数据的基础转换,job则完成整个工作流的控制。

?授权协议:LGPL ?开发语言:Java ?操作系统:跨平台 4、Eclipse SQL Explorer SQLExplorer是Eclipse集成开发环境的一种插件,它可以被用来从Eclipse 连接到一个数据库。 SQLExplorer插件提供了一个使用SQL语句访问数据库的图形用户接口(GUI)。通过使用SQLExplorer,你能够显示表格、表格结构和表格中的数据,以及提取、添加、更新或删除表格数据。 SQLExplorer同样能够生成SQL脚本来创建和查询表格。所以,与命令行客户端相比,使用SQLExplorer可能是更优越的选择,下图是运行中的界面,很好很强大。

Sybase数据库故障处理方法

Sybase数据库故障处理方法 一、Sybsystemprocs 库“挂起”解决办法 1. 修改Sybase.cfg 文件,修改Sybase 数据库可以修改系统参数. 2. $ vi Sybase.cfg 查找―allow updates‖,将其修改为1.(缺省值为0). 既allow updates to system tables=1 重新启动系统. 3. 用isql 登录到sql server 中,修改master库中sysdatabases 表中sybsystemprocs 库对应的status 的值为-32768. $isql –Usa –P 1> update master..sysdatabases 2> set status = -32768 where name =‖sybsystemprocs‖1>go 1>shutdown with nowait 2>go 关闭数据库重新启动. 4.用isql 登录到sql server 中,修改master库中sysdatabases 表中sybsystemprocs 库对应的status 的值为0. $isql –Usa –P 1>update master..sysdatabases 2>set status = 0 where name =‖sybsystemprocs‖3>go 1>shutdown with nowait 2>go 关闭数据库重新启动. 5. 将Sybase.cfg 中的‖allow updates to system‖的值改为0. 二、如何恢复master数据库 ASE can't setup and has no valid dump of master 1、编辑RUN_servername 在命令行最后加入:-T3607 2、单用户模式启动ASE $cd install $startserver -f RUN_servername -m 3、bcp out系统表$bcp master..sysdevices out /directory.spec/devs -Usa -P -c $bcp master..sysdatabases out /directory.spec/dbs -Usa -P -c $bcp master..sysusages out /directory.spec/usages -Usa -P -c $bcp master..syslogins out /directory.spec/logins -Usa -P -c $bcp master..sysconfigures out /directory.spec/configures -Usa -P -c $bcp master..syscharsets out /directory.spec/charsets -Usa -P -c 4、shutdownASE 5、创建新master设备$buildmaster -d -s (new_master_device_size以2K为单位) 6、编辑RUN_servername 将指定master设备指定为新创建的master设备,并删除在第1步中增加的参数。 7、删除/directory.spec/dbs、/directory.spec/usages文件中有关master、tempdb、model的内容。 8、单用户模式启动ASE $cd install $startserver -f RUN_servername -m 9、bcp in系统表$ bcp master..sysdevices in /directory.spec/devs -Usa -P -b 1 -c $bcp master..sysdatabases in /directory.spec/dbs -Usa -P -b 1 -c $bcp master..sysusages in /directory.spec/usages -Usa -P -b 1 -c $bcp master..syslogins in /directory.spec/logins -Usa -P -b 1 -c $bcp master..sysconfigures in /directory.spec/configures -Usa -P -b 1 -c $bcp master..syscharsets in /directory.spec/charsets -Usa -P -b 1 -c 10、shudown ASE 11、执行installmaster脚本$isql -Usa -P < $SYBASE/scripts/installmaster 12、启动ASE

Sybase数据库故障处理方法

Sybase数据库故障处理方法 一、 Sybsystemprocs 库“挂起”解决办法 1.修改文件,修改Sybase 数据库可以修改系统参数. 2.$ vi 查找“allow updates” ,将其修改为1.(缺省值为0). 既 allow updates to system tables=1 重新启动系统. 3.用isql 登录到sql server 中,修改 master库中sysdatabases 表中sybsystemprocs 库对应的 status 的值为-32768. $isql –Usa –P 1>update master..sysdatabases 2>set status = -32768 where name =”sybsystemprocs” 1>go 1>shutdown with nowait 2>go 关闭数据库重新启动. 4.用isql 登录到sql server 中,修改 master库中sysdatabases 表中sybsystemprocs 库对应的 status 的值为0. $isql –Usa –P 1>update master..sysdatabases 2>set status = 0 where name =”sybsystemprocs” 3>go 1>shutdown with nowait 2>go 关闭数据库重新启动.

5.将中的”allow updates to system”的值改为0. 二、如何恢复master数据库 ASE can't setup and has no valid dump of master 1、编辑RUN_servername 在命令行最后加入:-T3607 2、单用户模式启动ASE $cd install $startserver -f RUN_servername -m 3、bcp out系统表 $bcp master..sysdevices out /devs -Usa -P -c $bcp master..sysdatabases out /dbs -Usa -P -c $bcp master..sysusages out /usages -Usa -P -c $bcp master..syslogins out /logins -Usa -P -c $bcp master..sysconfigures out /configures -Usa -P -c $bcp master..syscharsets out /charsets -Usa -P -c 4、shutdownASE 5、创建新master设备 $buildmaster -d -s (new_master_device_size以2K为单位) 6、编辑RUN_servername 将指定master设备指定为新创建的master设备,并删除在第1步中增加的参数。 7、删除/dbs、/usages文件中有关master、tempdb、model的内容。

Sybase常用操作维护

一、新建用户 1、用sa登录 2、sp_addlogin 用户名,密码[,缺省数据库][,缺省语言][,"用户全称"][,密码有效期][,最小密码长度][,最大登录失败次数] sp_addlogin admin,admin123 sp_password "当前用户密码","新密码" 二、如何让新建好的用户有SA的全部权限? 1、sa登录 2、用sp_displaylogin显示sa的角色 3、把显示的角色grant给你自己的用户就可以了(一行一行执行) sp_role 'grant',sa_role,admin sp_role 'grant',sso_role,admin sp_role 'grant',oper_role,admin sp_role 'grant',sybase_ts_role,admin sp_role 'grant',mon_role,admin spotlight监控要 三、常用命令 use newcyxt(库) 打开库 sp_who 查看服务器所有用户连接 sp_who 'sa' 查看被'sa'用户使用的连接 sp_help 显示当前用户拥有的对象 sp_helpindex tblUserProfile 显示tblUserProfile表格所有索引 select @@version 查版本 四、启动停Sybase服务 1、停 在isql环境下:shutdown 在dos状态下:net start sybase服务名 在"服务"下:选中sybase服务后,停止 2、启动 四、性能 定期进行性能检查 使用sp_sysmon存贮过程(所有ASE版本),定期检查数据库运行性能。也可以使用MDA(也称mon表,要求ASE版本为12.5.0.3以上),或者配合相关工具,如DB X-ray、Spotlight、Sybase DB Expert等。 有关sp_sysmon 存贮过程的详细信息,请参考Sybase ASE手册之《Reference Manual: procedures》。 有关MDA的详细信息,请参考Sybase ASE手册之《Performance and Tuning: Monitoring and Analyzing》中的Monitoring Tables 一节,或参考ASE MDA 常见问与答。 建议的频度为每周一次,尤其是在业务高峰期。 1.sybase锁阻塞的例子,环境维护发现锁阻塞,发现很慢,检查到有问题的sql 1.1 sp_lock看到死锁 1.2 查看阻塞进程信息(master库) select * from sysprocesses where ipaddr = 'XXXX'

Sybase创建数据库

现在的情况是,Sybase数据库已经安装完成了,需重新创建一个叫ptms的数据库,指定一个用户名sybase/sybase,具备全部角色与权限,该数据库创建时需指定load,下面开始 开始- 》所有程序-》Sybase -》Dsedit Utility,出现如下界面 点击"OK",出现下面的界面 这几个是默认安装的服务器,下面我们再添加一个新的服务器,在“Server”框的空白处右键单击,选择“add”,要输入一个服务器名,我输入“ptms”,点击“OK” 再双击右侧“Server Address”,弹出对话框

点击“Add”按钮,在协议下拉列表中选择“TCP”,输入本机IP和端口号(5000),OK, OK ,关闭 启动“Sybase”服务器,进入Sybase安装目录下的ASE-12_5\install目录,执行RUN_计算机名.bat文件,前面讲过,系统默认的服务器名是计算机名,我运行RUN_ICESOFT.bat文件

服务器启动完成 开始-》所有程序-》Sybase -》Sybase Central Java Edition

进入主界面 点击快捷方式中的“链接”,图中那个小电脑标志,默认用户名“sa”,密码为空,在下拉列表中选择之前创建的服务器“ptms”,点击OK 连接成功后会发现左侧的数据库视图

右键单击“ptms(sa) - Databases - master” 弹出对话框,单击“Devices” TAB,再点击"Add"按钮

选择Transaction Log和master,在Size中填入小于剩余空间(17M)的数字,我填15,不明原因,因为后面用到扩展数据库空间时这里不设置一下会挂掉,哎知识浅了,先将就把这混过去吧!再点确定

Sybase数据库日常维护

数据库日常维护工作是系统管理员的重要职责。其内容主要包括以下几个部分: 一、备份系统数据 sybase 系统的备份与恢复机制保证了在系统失败时重新获取数据的可能性。sql server 提供了两种不同类型的恢复机制:一类是系统自动完成的恢复,这种措施在每次系统启动时都自动进行,保证了在系统瘫痪前完成的事务都写到数据库设备上,而未完成的事务都被回退;另一类是人工完成的恢复,这是通过dump 和load 命令来执行人工备份和恢复工作。因此定期备份事务日志和数据库是一项十分重要的日常维护工作。 1、备份数据库 每一个数据库都应在创建之后卸出,从而提供一个装入基点。在此之后按排定的时间周期表卸出。比如每周五卸出数据库。对一般数据库系统卸出数据库周期建议为每周一次。 除了按计划周期卸出数据库之外,还需在每次运行没有日志的操作后卸出数据库。例如: ·每次强制地运行了dump tran with no_log (因为数据库的磁盘空溢出);

·每次用sp_dboption 允许select into/bulkcopy 做快速拷贝,或用select into 命令创建一个永久性的表,或使用了writetext 命令。 卸出数据库的命令为: dump database database_name to dump_device database_name 是要卸出的数据库名称,dump_device 是卸出设备的名称。用系统过程sp_helpdevice 可以获得设备的信息。 下面一条命令用来卸出数据库my_db : dump database my_db to db_bk_dev 2、备份事务日志 如果事务日志与数据库放在同一个设备上,则事务日志不应与数据库分开备份。master 数据库和小于4m 的用户数据库就是这种情况。一般数据库系统的数据库和日志分别放在不同的设备上,因此,可以用dump tran 命令单独备份日志。 备份事务日志的周期直接影响数据的恢复程度,因此建议每天备份。

Linux下Sybase数据库安装

Linux下Sybase数据库安装 一.服务器安装配置 1.检查linux内核版本,安装ASE的linux内核版本必须为2.4.18-e.12smp或更高。 检查方法:uname –a 2.SybaseASE的安装需要libstdc包的支持,所以首先安装 compat-libstdc++-7.3-2.96.110.i386.rpm包。 安装方法:rpm –ivh compat-libstdc++-7.3-2.96.110.i386.rpm 3.ASE要求系统共享内存大小为64Mb以上,可以通过在/etc/rc.local文件末尾添加 echo 54525952 > /proc/sys/kernel/shmmax 来使系统一启动就具备充足共享内存。 4.打开x-window对本地用户的权限 xhost +localhost 5.建立sybase帐户,并指定/opt/sybase为其主目录。 6.用sybase帐户登录x-window(如果发现登陆后桌面混乱,用root运行命令chmod 700 /opt/Sybase/.gconfd即可解决), cd /mnt/cdrom ./setup 此时图形化安装界面开启

按照提示一步步进行,安装结束时提示建立服务器,

ASE page size建议设为16,Master设备大小一定不要小于500MB,其它一般按默认即可(注意文件名称、主机端口号不要和现有环境冲突),记下相关信息。主server和备份server一定要建立。 7.确保安装目录下全部文件的属主是sybase。可以用root身份执行以下语句强制实现:chown –R Sybase /opt/Sybase 8.修改环境变量。 安装好ASE后,/opt/sybase下会有SYBASE.sh文件,拷贝文件的相应内容到 /opt/Sybase/.bash_profile中;再在/opt/Sybase/.bash_profile中加入以下语句: LANG=zh_cn.gb18030 Export LANG 9.用root身份修改/etc/hosts文件,使其内容符合下面的规范:

SYBASE参数设置

SYBASE参数设置 主要修改参数为: [Disk I/O] number of devices=20 [Physical Memory] total memory = 512000 ##数据库可用物理内存,以2k为单位 [Processors] max online engines=2 ##CPU数 [U] HPWG.cfg全文如下: ##################################################################### ######### # # Configuration File for the Sybase SQL Server # # Please read the System Administration Guide (SAG) # before changing any of the values in this file. # ##################################################################### ######### [Configuration Options] [General Information] [Backup/Recovery] recovery interval in minutes = DEFAULT print recovery information = DEFAULT tape retention in days = DEFAULT [Cache Manager] number of oam trips = DEFAULT number of index trips = DEFAULT procedure cache percent = DEFAULT memory alignment boundary = DEFAULT global async prefetch limit = DEFAULT global cache partition number = DEFAULT [Named Cache:default data cache] cache size = DEFAULT

相关文档