版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
----------------------------精品word文檔值得下載值得擁有--------------------------------------------------------------------------精品word文檔值得下載值得擁有---------------------------------------------------------------------------------------------------------------------------------------------------------------------------數(shù)據(jù)庫(kù)基本知識(shí)培訓(xùn)手冊(cè)(Sybase,Oracle)深圳華為技術(shù)有限公司一九九七年二月目錄前言 一數(shù)據(jù)庫(kù)基本概念 二數(shù)據(jù)庫(kù)現(xiàn)狀及發(fā)展 第一章Sybase數(shù)據(jù)庫(kù)系統(tǒng) 1.1Sybase系統(tǒng)概述 1.2SybaseSystem10.0系統(tǒng)特點(diǎn) 1.3SybaseSQLServer的系統(tǒng)安裝 1.4SybaseSQLServer系統(tǒng)簡(jiǎn)介 1.4.1SQLServer的結(jié)構(gòu)特征 1.4.2SQLServer的特殊用戶(hù) 1.4.3Sybase數(shù)據(jù)庫(kù)的基本對(duì)象 1.5Sybase實(shí)用程序 1.5.1isql 1.5.2bcp 1.5.3buildmaster 1.5.4console 1.5.5dataserver 1.5.6defncopy 1.5.7showserver 1.5.8startserver 1.5.9syman 1.6常用SQLServer命令介紹 1.6.1數(shù)據(jù)類(lèi)型 1.6.2數(shù)據(jù)定義 1.6.3數(shù)據(jù)操作 1.7數(shù)據(jù)庫(kù)的日常維護(hù)、備份與恢復(fù) 1.7.1SQLServer的啟動(dòng)與關(guān)閉 1.7.2數(shù)據(jù)庫(kù)的備份與恢復(fù) 第二章、ORACLE數(shù)據(jù)庫(kù)系統(tǒng) 2.1Oracle系統(tǒng)概述 2.2Oracle數(shù)據(jù)庫(kù)數(shù)據(jù)字典 2.2.1數(shù)據(jù)字典 2.2.2數(shù)據(jù)字典的結(jié)構(gòu) 2.2.3數(shù)據(jù)字典的使用 2.2.4數(shù)據(jù)字典視圖 2.3OracleServer系統(tǒng)日常管理 2.4SQL語(yǔ)言 2.4.1數(shù)據(jù)類(lèi)型: 2.4.2數(shù)據(jù)定義語(yǔ)言 2.4.3數(shù)據(jù)操作語(yǔ)言 2.4.4準(zhǔn)備用sqlplus 前言一數(shù)據(jù)庫(kù)基本概念數(shù)據(jù)庫(kù)技術(shù)是管理數(shù)據(jù)的一種最新方法,它研究如何組織和存儲(chǔ)數(shù)據(jù),如何高效地獲取和處理數(shù)據(jù)。數(shù)據(jù)管理是指對(duì)數(shù)據(jù)的組織、編碼、分類(lèi)、存儲(chǔ)、檢索、和維護(hù),它是數(shù)據(jù)處理的中心問(wèn)題。數(shù)據(jù)處理是指對(duì)各種形式的數(shù)據(jù)進(jìn)行收集、加工、傳播等一系列活動(dòng)的總和,其目的是從大量的、原始的數(shù)據(jù)中抽取、導(dǎo)出有價(jià)值的信息,以此作為行為和決策的依據(jù)。信息系統(tǒng)是提供信息,輔助人們對(duì)環(huán)境進(jìn)行控制和進(jìn)行決策的系統(tǒng)。數(shù)據(jù)庫(kù)是信息系統(tǒng)的核心和基礎(chǔ)。數(shù)據(jù)庫(kù)技術(shù)將信息系統(tǒng)中大量的數(shù)據(jù)按一定的模型組織起來(lái),提供存儲(chǔ)、維護(hù)、檢索數(shù)據(jù)的功能,使信息系統(tǒng)可方便地、及時(shí)地、準(zhǔn)確地從數(shù)據(jù)庫(kù)中獲得所需的信息。一個(gè)信息系統(tǒng)的各個(gè)部分能否緊密地結(jié)合在一起以及如何結(jié)合,關(guān)健在于數(shù)據(jù)庫(kù)。數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)是管理數(shù)據(jù)庫(kù)的工具,是為數(shù)據(jù)庫(kù)的建立、使用、和維護(hù)而配置的軟件。它建立在操作系統(tǒng)的基礎(chǔ)是,實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)統(tǒng)一的管理和控制。DBMS通常由三部分組成:數(shù)據(jù)庫(kù)描述語(yǔ)言(DLL)及其編譯程序、數(shù)據(jù)操縱(DML)或查詢(xún)語(yǔ)言及編譯(或解釋?zhuān)┏绦颉?shù)據(jù)庫(kù)管理例行程序。二數(shù)據(jù)庫(kù)現(xiàn)狀及發(fā)展隨著信息時(shí)代的發(fā)展,分布式數(shù)據(jù)庫(kù)系統(tǒng)應(yīng)允而生。分布式數(shù)據(jù)庫(kù)是集中式數(shù)據(jù)庫(kù)系統(tǒng)的基礎(chǔ)上發(fā)起來(lái)的,它由分布式數(shù)據(jù)庫(kù)管理系統(tǒng)和分布數(shù)據(jù)庫(kù)組成。其中分布式數(shù)據(jù)庫(kù)管理系統(tǒng)是負(fù)責(zé)對(duì)分布式數(shù)據(jù)庫(kù)進(jìn)行管理,并使分布對(duì)用戶(hù)透明的軟件。它由四部分組成:局部數(shù)據(jù)庫(kù)管理系統(tǒng)(局部DBMS)、全局?jǐn)?shù)據(jù)庫(kù)管理系統(tǒng)(全局DBMS)、全局?jǐn)?shù)據(jù)字典和通訊管理(CM)。當(dāng)今最流行的三大數(shù)據(jù)庫(kù):ORACLE、SYBASE、INFORMIX,它們是屬于分布式數(shù)據(jù)庫(kù)系統(tǒng),它們基于客戶(hù)/服務(wù)器體系結(jié)構(gòu)。當(dāng)前的技術(shù)和商業(yè)企業(yè)明白地要求分布式系統(tǒng)在現(xiàn)今的先進(jìn)環(huán)境中起重要作用??蛻?hù)/服務(wù)器計(jì)算、網(wǎng)絡(luò)計(jì)算以及同級(jí)對(duì)同級(jí)(對(duì)等)計(jì)算是這些環(huán)境的實(shí)例,其中幾個(gè)影響DBMS技術(shù)的趨勢(shì)變得明顯。其中之一迫使DBMS技術(shù)開(kāi)發(fā)并支持分布式環(huán)境。而另一個(gè)趨勢(shì)是將數(shù)據(jù)的復(fù)雜性和巨大數(shù)據(jù)量推向下一代DSS和OLTP應(yīng)用:在線(xiàn)復(fù)雜處理和OLCP。以下一些進(jìn)展即體現(xiàn)了這種趨勢(shì):商用高速計(jì)算,在新出現(xiàn)的客戶(hù)。服務(wù)平臺(tái)上所處理的數(shù)據(jù)量的巨大以及開(kāi)發(fā)者和用戶(hù)對(duì)客戶(hù)/服務(wù)器的巨大期望。比如ORACLE數(shù)據(jù)庫(kù)系統(tǒng)目前具有最強(qiáng)的功能有:硬件和系統(tǒng)軟件的可移植性廣泛通訊協(xié)議支持分布式處理能力并行查詢(xún)處理活動(dòng)數(shù)據(jù)字典SQL支持:過(guò)程性(PL/SQL)、SQL預(yù)編譯支持、ANSI支持、擴(kuò)展SQL支持(SQL*Plus)因此,數(shù)據(jù)庫(kù)管理在當(dāng)今的信息時(shí)代有著不可低估的作用,它將以巨大的速度向前發(fā)展。第一章Sybase數(shù)據(jù)庫(kù)系統(tǒng)1.1Sybase系統(tǒng)概述Sybase是基于Client/Server體系結(jié)構(gòu)的數(shù)據(jù)庫(kù)軟件產(chǎn)品,它由三個(gè)主要部分構(gòu)成:一是進(jìn)行數(shù)據(jù)庫(kù)管理和維護(hù)的一個(gè)聯(lián)機(jī)(ON_line)關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)SybaseSQLServer;二是支持?jǐn)?shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的建立與開(kāi)發(fā)的一組前端工具軟件SysbaseSQLToolset;三是可把異構(gòu)環(huán)境下其它廠(chǎng)商的應(yīng)用軟件和任何類(lèi)型的數(shù)據(jù)連接在一起的接口SybaseOpenClient/OpenServer。1.2SybaseSystem10.0系統(tǒng)特點(diǎn)SQLServer已因可靠性和高效性而贏(yíng)得聲譽(yù),使之成為針對(duì)在線(xiàn)事務(wù)處理(OLTP)應(yīng)用選擇的關(guān)系數(shù)據(jù)庫(kù)系統(tǒng),有著許多優(yōu)點(diǎn):32位多線(xiàn)程體系結(jié)構(gòu)動(dòng)態(tài)(在線(xiàn))備份/連續(xù)操作數(shù)據(jù)庫(kù)觸發(fā)程序和被存儲(chǔ)的諸過(guò)程對(duì)商業(yè)規(guī)則和有關(guān)的整體性的實(shí)施支持用戶(hù)定義的數(shù)據(jù)類(lèi)型第三方前端支持產(chǎn)品系列的產(chǎn)品成熟度/廣度1.3SybaseSQLServer的系統(tǒng)安裝安裝SybaseSQLServer前需要做一些準(zhǔn)備工作,包括:記錄軟件的系列號(hào);獲取SQLServer安裝時(shí)所需的網(wǎng)絡(luò)信息;創(chuàng)建名為Sybase的用戶(hù)帳號(hào);為Sybase設(shè)置引導(dǎo)目錄和權(quán)限;確定有足夠的空間安裝Sybase產(chǎn)品;重新配置操作系統(tǒng)內(nèi)核;重建操作系統(tǒng)內(nèi)核;為安裝Sybase選取一個(gè)目錄路徑;為安裝Sybase選取一個(gè)排序的順序。1)系統(tǒng)硬件要求為安裝和運(yùn)行Sybase產(chǎn)品必須有如下硬件環(huán)境:有一個(gè)80387協(xié)處理器的CPU為80386的PC機(jī);或CPU為80486的PC機(jī);至少12MB的內(nèi)存,最好能達(dá)到16MB;有一個(gè)以太網(wǎng)卡;在一臺(tái)機(jī)器上安裝Sybase產(chǎn)品,要求該機(jī)器必須有300MB硬盤(pán)空間,如果只安裝SQLServer最好有200MB硬盤(pán)空間。2)在UNIX系統(tǒng)上安裝Sybase系統(tǒng),必須首先創(chuàng)建UNIX用戶(hù)帳號(hào),由于UNIX是多用戶(hù)操作系統(tǒng),每個(gè)正運(yùn)行UNIX的機(jī)器有多個(gè)用戶(hù)帳號(hào),每個(gè)用戶(hù)帳號(hào)有唯一的用戶(hù)標(biāo)識(shí)(ID)、組標(biāo)識(shí)和唯一的口令,安裝Sybase產(chǎn)品的所有機(jī)器必須要建立一個(gè)用戶(hù)名Sybase的帳號(hào),Sybase全部產(chǎn)品的安裝必須要由用戶(hù)Sybase來(lái)完成。3)系統(tǒng)目錄及Sybase環(huán)境變量由Sybase環(huán)境變量所說(shuō)明的目錄成為所有Sybase文件的系統(tǒng)目錄。Sybase環(huán)境變量必須設(shè)置為Sybase系統(tǒng)目錄的全路徑。例如,若Sybase目錄為/usr/sybase,用以下命令之一(依賴(lài)于操作系統(tǒng)shell)設(shè)置Sybase環(huán)境變量:%setenvSybase/usr/sybase或$Sybase=/usr/sybase;exportSybase4)確定$Sybase目錄的空間需求Sybase各部分產(chǎn)品所需空間如下:APT-execute2MBAPTWorkbench5MBDataWorkench3MBOpenClientDB-Library2MBSQLServer6MBDiagserver12MB5)確定master設(shè)備的大小及其位置master設(shè)備是用于存儲(chǔ)SQLServer系統(tǒng)數(shù)據(jù)庫(kù)的一個(gè)原始分區(qū)或操作系統(tǒng)文件。它也可放置示例數(shù)據(jù)庫(kù)pubs2和用戶(hù)數(shù)據(jù)庫(kù)。在為master設(shè)備選擇一個(gè)位置之前必須確定它的大小。SQLServer的master設(shè)備至少要8MB(其中master為4MB,model為2MB,tempdb為2MB)空間。如果安裝pubs2還需要2MB空間,且每添加一個(gè)用戶(hù)數(shù)據(jù)庫(kù)也都需要再增加1MB空間。這是master設(shè)備所需的最少空間。安裝Sybase之前還要為master選擇一個(gè)位置,master設(shè)備的位置即可設(shè)置為在一個(gè)原始分區(qū)上也可設(shè)置在一個(gè)操作系統(tǒng)文件中。在操作系統(tǒng)中安裝只是用于測(cè)試和調(diào)整數(shù)據(jù)庫(kù)性能,因?yàn)檫@種安裝在介質(zhì)故障、電力故障或系統(tǒng)應(yīng)急操作下不能保證恢復(fù)。因此從事應(yīng)用開(kāi)發(fā)的用戶(hù)最好采用原始分區(qū)安裝,因?yàn)檫@種安裝有較強(qiáng)的恢復(fù)能力和增強(qiáng)的處理能力。6)安裝SQLSERVER7、首先用tar或cpio命令將光盤(pán)上的Sybase軟件裝入U(xiǎn)NIX系統(tǒng)之下8、運(yùn)行$SYBASE/INSTALL目錄下的sybinit選擇:3.ConfigureaServerproduct9、再選擇1.SQLServer,如為初次安裝則選擇1.ConfigureanewSQLServer,接著要求輸入SQLServer的服務(wù)器名:如SYBASE10、接下來(lái)配置服務(wù)器的協(xié)議接口:TCP接口輸入本服務(wù)器的IP地址(如此而)通信端口可選用在1024和9996之間任一未使用過(guò)的數(shù)。11、再對(duì)MASTERDEVICECONFIGURATION進(jìn)行配置,注意它的大小及位置。12、再對(duì)SYBSYSTEMPROCSDATABASECONFIGURATION進(jìn)行配置。13、對(duì)CONFIGURELANGUAGES進(jìn)行配置時(shí),應(yīng)選用語(yǔ)言如us_english。14、其余只需按ctrla即可,這樣全部的狀態(tài)都變?yōu)閏omplete后,用ctrla連續(xù)退出。15、配置BACKUPSERVER,首先應(yīng)輸入Server的名字如:SYB_BACKUP,它的缺省網(wǎng)絡(luò)端口號(hào)為SERVER的值加1其余參照前面執(zhí)行。這樣SybaseSQLServer的安裝基本全部完成,剩下來(lái)的一些配置如:UNIX啟動(dòng)時(shí),自動(dòng)啟動(dòng)SybaseSQLServer,用戶(hù)可以自己進(jìn)行。1.4SybaseSQLServer系統(tǒng)簡(jiǎn)介SQLServer是個(gè)可編程的數(shù)據(jù)庫(kù)管理系統(tǒng),它是整個(gè)Sybase產(chǎn)品的核心軟件,起著數(shù)據(jù)管理、高速緩沖區(qū)管理、事務(wù)管理的作用。為此SQLServer提供了一些簡(jiǎn)要的管理和控制功能;采用多線(xiàn)索技術(shù)和基于成本優(yōu)化的高性能的存取控制,由SQLServer實(shí)現(xiàn)的安全性和完整性控制,多用戶(hù)多任務(wù)環(huán)境下的并發(fā)控制和事務(wù)完整性控制,系統(tǒng)故障情況下的恢復(fù)和對(duì)系統(tǒng)運(yùn)行的監(jiān)控及系統(tǒng)性能的調(diào)優(yōu),支持分布式的查詢(xún)和更新等。因而,管理和維護(hù)SQLServer就是一項(xiàng)重要、復(fù)雜且細(xì)致的工作。1.4.1SQLServer的結(jié)構(gòu)特征SQLServer是個(gè)聯(lián)機(jī)關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng),它具有如下一些基本特征:SQLServer可以放在若干個(gè)磁盤(pán)設(shè)備上,當(dāng)然系統(tǒng)的不同部分要放在相應(yīng)的設(shè)備上。初始安裝時(shí)其所需的磁盤(pán)空間至少要10MB。SQLServer支持多庫(kù)結(jié)構(gòu),也就是說(shuō)Sybase系統(tǒng)中可以有多個(gè)數(shù)據(jù)庫(kù)。這是它不同于一般數(shù)據(jù)庫(kù)系統(tǒng)很重要的一點(diǎn),故而與其它系統(tǒng)在管理與維護(hù)上有很多不同之處。SQLServer可以管理多個(gè)數(shù)據(jù)庫(kù)且每一個(gè)數(shù)據(jù)庫(kù)的數(shù)據(jù)可以分布在幾個(gè)磁盤(pán)設(shè)備上。SQLServer可以編譯和執(zhí)行T-SQL語(yǔ)句,并可返回客戶(hù)程序所要求的結(jié)果。T-SQL語(yǔ)句是標(biāo)準(zhǔn)SQL的擴(kuò)充,它除了有數(shù)據(jù)定義語(yǔ)句、數(shù)據(jù)操縱語(yǔ)句和數(shù)據(jù)控制語(yǔ)句之外,主要增加了流程控制語(yǔ)句(IFWHILE等)、用戶(hù)自定義的數(shù)據(jù)類(lèi)型和附加的數(shù)據(jù)類(lèi)型、存貯過(guò)程和觸發(fā)器等。SQLServer可以管理多個(gè)用戶(hù)并具有較高的事務(wù)吞吐量和較低的響應(yīng)時(shí)間。它采用的是多線(xiàn)索技術(shù),從而降低了操作系統(tǒng)的開(kāi)銷(xiāo),操作系統(tǒng)為Server建立的進(jìn)程只有一個(gè),但Server可以接受并優(yōu)化地處理多個(gè)用戶(hù)的請(qǐng)求??蛻?hù)的應(yīng)程序可以存取Server中某一個(gè)或幾個(gè)數(shù)據(jù)庫(kù)中的數(shù)據(jù)。不僅如此,由于SQLServer是個(gè)開(kāi)放的分布數(shù)據(jù)庫(kù)管理系統(tǒng),它還允許各數(shù)據(jù)源和應(yīng)用程序分布在網(wǎng)絡(luò)中的多個(gè)結(jié)點(diǎn)上,各應(yīng)用程序可在同一事務(wù)中訪(fǎng)問(wèn)來(lái)自多個(gè)SQLServer的數(shù)據(jù)。1.4.2SQLServer的特殊用戶(hù)三種類(lèi)型的特殊用戶(hù)管理和控制著SQLServer,他們是:·系統(tǒng)管理員;·用戶(hù)數(shù)據(jù)庫(kù)所有者;·數(shù)據(jù)庫(kù)目標(biāo)的所有者。一、系統(tǒng)管理員系統(tǒng)管理員肩負(fù)著與特殊應(yīng)用無(wú)關(guān)的管理任務(wù)。系統(tǒng)管理員不一定只是一個(gè)人,任何知道系統(tǒng)管理員口令的人都可以起到系統(tǒng)管理員的作用。在大的組織中,系統(tǒng)管理員是幾個(gè)人或一個(gè)小組。因此,系統(tǒng)管理員有重點(diǎn)地工作并相互間很好地協(xié)調(diào)關(guān)系是非常重要的。a系統(tǒng)管理員的任務(wù)系統(tǒng)管理員肩負(fù)著下面的工作;·安裝SQLServer;·管理磁盤(pán)存儲(chǔ);·在SQLServer上設(shè)置用戶(hù)帳號(hào);·對(duì)SQLServer用戶(hù)授權(quán);·產(chǎn)生用戶(hù)數(shù)據(jù)庫(kù),并授予所有者特權(quán);·在SQLServer與應(yīng)用程序間傳輸大量的數(shù)據(jù);·備份系統(tǒng)數(shù)據(jù),萬(wàn)一系統(tǒng)失敗時(shí)恢復(fù)數(shù)據(jù)庫(kù)系統(tǒng);·監(jiān)視SQLServer的自動(dòng)恢復(fù)過(guò)程;·診斷系統(tǒng)問(wèn)題,并把一些問(wèn)題通知Sybase;調(diào)節(jié)系統(tǒng)配置參數(shù),以使SQLServer達(dá)到最佳性能;系統(tǒng)管理員是master數(shù)據(jù)庫(kù)的所有者。b系統(tǒng)管理員注冊(cè)名和口令系統(tǒng)管理員注冊(cè)到SQLServer的用戶(hù)名是sa.SQLServer剛安裝完時(shí),系統(tǒng)管理員口令--口令是空值??梢酝ㄟ^(guò)運(yùn)行系統(tǒng)過(guò)程sp_password為其設(shè)置和修改口令。c系統(tǒng)管理員權(quán)限系統(tǒng)管理員是一種“超級(jí)用戶(hù)”,SQLServer對(duì)他不做任何權(quán)限檢查,他工作在系統(tǒng)數(shù)據(jù)庫(kù)的保護(hù)之外。系統(tǒng)管理員還被認(rèn)為是他所使用的任何數(shù)據(jù)庫(kù)所有者。有幾個(gè)只有系統(tǒng)管理員才能運(yùn)行的命令和過(guò)程,它們不能傳給其他用戶(hù)。二、數(shù)據(jù)庫(kù)所有者數(shù)據(jù)庫(kù)的創(chuàng)建者就是數(shù)據(jù)庫(kù)的所有者。系統(tǒng)管理員用GRANT命令授予用戶(hù)創(chuàng)建數(shù)據(jù)權(quán)限。a數(shù)據(jù)庫(kù)所有者的任務(wù)數(shù)據(jù)庫(kù)所有者可完成如下的工作;·運(yùn)行存儲(chǔ)過(guò)程sp_adduser允許其它SQLServer用戶(hù)存取此數(shù)據(jù)庫(kù);·授權(quán)其他用戶(hù)在數(shù)據(jù)庫(kù)中創(chuàng)建目標(biāo)和執(zhí)行命令;·用sp_addgroup和sp_dropgroup設(shè)置組(有了組,授權(quán)和收回授權(quán)就變得容易了)。用戶(hù)缺省的組是public。b數(shù)據(jù)庫(kù)所有者名及口令數(shù)據(jù)庫(kù)所有者以他設(shè)置的用戶(hù)名和口令注冊(cè)。在其它數(shù)據(jù)庫(kù)中,所肝得是按通常的名標(biāo)識(shí)的。在所有者自己的數(shù)據(jù)庫(kù)中是dbo,他被認(rèn)為是dbo。c數(shù)據(jù)庫(kù)所有者的權(quán)限數(shù)據(jù)庫(kù)所有者對(duì)他擁有的數(shù)據(jù)庫(kù)具有所有的權(quán)力。三、數(shù)據(jù)庫(kù)目標(biāo)所有者數(shù)據(jù)庫(kù)目標(biāo)是表、索引、視圖、缺省、觸發(fā)器、規(guī)則以及過(guò)程。創(chuàng)建數(shù)據(jù)庫(kù)目標(biāo)的目標(biāo)的所有者。數(shù)據(jù)庫(kù)所有者必須首先授予用戶(hù)創(chuàng)建特定類(lèi)型目標(biāo)的權(quán)限,然后用此創(chuàng)建此種目標(biāo)。a數(shù)據(jù)庫(kù)目標(biāo)所有者的任務(wù)數(shù)據(jù)庫(kù)目標(biāo)所有者用CREATE語(yǔ)句創(chuàng)建目標(biāo),然后對(duì)其他用戶(hù)授權(quán)。b數(shù)據(jù)庫(kù)目標(biāo)所有者的注冊(cè)名和口令。數(shù)據(jù)庫(kù)目標(biāo)所有者而言,沒(méi)有特別的注冊(cè)名或口令。c數(shù)據(jù)庫(kù)目標(biāo)所有者的權(quán)限數(shù)據(jù)庫(kù)目標(biāo)的創(chuàng)建者被自動(dòng)授予了對(duì)此目標(biāo)的所有權(quán)限。在其他用戶(hù)存取目標(biāo)前,所有者必須顯示地給其他用戶(hù)授權(quán)。即使是數(shù)據(jù)庫(kù)的所有者,在沒(méi)有目標(biāo)所有者的前提下,也不能存取此目標(biāo)(然而,數(shù)據(jù)庫(kù)所有者和系統(tǒng)管理員總可用SETUSER模擬數(shù)據(jù)庫(kù)中的所有其他用戶(hù))。1.4.3Sybase數(shù)據(jù)庫(kù)的基本對(duì)象SQLServer中既有一般數(shù)據(jù)庫(kù)系統(tǒng)都有的一些基本對(duì)象和概念,如表、視圖、觸發(fā)器等,也有它特有一些基本對(duì)象和概念,如系統(tǒng)數(shù)據(jù)庫(kù)、系統(tǒng)過(guò)程等。SQLServer有關(guān)這些基本對(duì)象的定義情況常常保存在數(shù)據(jù)字典中。數(shù)據(jù)字典在Sybase系統(tǒng)中稱(chēng)為系統(tǒng)表。數(shù)據(jù)字典可以幫助我們維護(hù)系統(tǒng)并簡(jiǎn)化應(yīng)用程序的開(kāi)發(fā)。SQLServer的數(shù)據(jù)字典通常是由系統(tǒng)動(dòng)態(tài)維護(hù)的,必要時(shí)SA(系統(tǒng)管理員)也可修改一些數(shù)據(jù)字典。查詢(xún)數(shù)據(jù)字典通常有兩種方式:一是使用T_SQL語(yǔ)句;二是通過(guò)工具集。本節(jié)我們簡(jiǎn)單介紹SQLServer中特有的一些基本對(duì)象和概念一、系統(tǒng)數(shù)據(jù)庫(kù)SQLServer安裝時(shí),它有三個(gè)數(shù)據(jù)庫(kù);master數(shù)據(jù),model數(shù)據(jù)庫(kù)和臨時(shí)數(shù)據(jù)庫(kù)。用isq和installpubs的SQL動(dòng)態(tài)描述文件,系統(tǒng)管理員可安裝樣本數(shù)據(jù)庫(kù)pubs(也可不裝)。Master,Model和臨時(shí)數(shù)據(jù)庫(kù)都放在安裝時(shí)命名的設(shè)備上--稱(chēng)為the_master_device。所有其它的數(shù)據(jù)庫(kù)和目標(biāo)應(yīng)創(chuàng)建在其它的設(shè)備上。amaster數(shù)據(jù)庫(kù)master數(shù)據(jù)庫(kù)從總體上控制用戶(hù)數(shù)據(jù)庫(kù)和SQLServer的操作。它保留著用戶(hù)帳號(hào)(在syslogins中),遠(yuǎn)程用戶(hù)帳號(hào)(在sysremolelogins中),本服務(wù)器可與之相連的遠(yuǎn)程服務(wù)器(在syservers中),可設(shè)置的環(huán)境變量(在sysdatabases中),給每個(gè)數(shù)據(jù)庫(kù)分配的存儲(chǔ)空間(在sysusages中),裝入系統(tǒng)的磁帶和磁盤(pán)(在sysdevices中),以及動(dòng)態(tài)鎖(在syslocks中)的軌跡。另外,系統(tǒng)過(guò)程是在SQLServer安裝時(shí)用buildmaster程序創(chuàng)建的,它是存儲(chǔ)在master中的。只有在master數(shù)據(jù)庫(kù)中才能用CREATE或ALTERDATABASE,DISKINIT,DISKREFIT,DISKREINIT和磁盤(pán)鏡像命令。往master數(shù)據(jù)庫(kù)設(shè)備上增加用戶(hù)目標(biāo)是可能的,但不好。在master數(shù)據(jù)庫(kù)上創(chuàng)建目標(biāo)的目的應(yīng)該是從總體上管理系統(tǒng)。應(yīng)該在master數(shù)據(jù)庫(kù)上對(duì)用戶(hù)設(shè)置權(quán)限,以使大多數(shù)用戶(hù)不能在那里創(chuàng)建目標(biāo)。另外一個(gè)不鼓勵(lì)用戶(hù)在master數(shù)據(jù)庫(kù)上創(chuàng)建目標(biāo)的手段是改變用戶(hù)的缺省數(shù)據(jù)庫(kù)(用戶(hù)注冊(cè)時(shí)連接的數(shù)據(jù)庫(kù))。改變的方法是用系統(tǒng)過(guò)程sl_defaultdb。每次改變master數(shù)據(jù)庫(kù)對(duì)象或執(zhí)行存儲(chǔ)過(guò)程改變它(如sp_addlogin)。如果master數(shù)據(jù)庫(kù)被破壞,恢復(fù)它的方法與恢復(fù)用戶(hù)數(shù)據(jù)庫(kù)不同。bmodel數(shù)據(jù)庫(kù)model數(shù)據(jù)庫(kù)也是隨SQLServer一起提供的。它提供了新用戶(hù)數(shù)據(jù)庫(kù)的初型。每次用CREATEDATABASE命令時(shí),SQLServer都產(chǎn)生一個(gè)model數(shù)據(jù)庫(kù)的拷貝,然后把它擴(kuò)展到命令要求的尺寸。model數(shù)據(jù)庫(kù)中包含著數(shù)據(jù)庫(kù)需要的系統(tǒng)表。它可以修改成新創(chuàng)建數(shù)據(jù)庫(kù)的結(jié)構(gòu)--對(duì)model數(shù)據(jù)庫(kù)的任何修改都會(huì)在每個(gè)創(chuàng)建的數(shù)據(jù)庫(kù)中反映出來(lái)。下面是幾個(gè)通常用到的對(duì)model數(shù)據(jù)庫(kù)的改變:·增加用戶(hù)數(shù)據(jù)庫(kù)類(lèi)型、規(guī)則或缺??;·可存取SQLServer上所有數(shù)據(jù)庫(kù)的用戶(hù)用sp_adduser增加到model數(shù)據(jù)庫(kù)上;·缺省權(quán)限(特別是guest帳號(hào))可在model中建立;·諸如selectinto/bulkcopy那樣的數(shù)據(jù)庫(kù)選項(xiàng)可在model中設(shè)置。這些設(shè)置公反映到所有新創(chuàng)建的數(shù)據(jù)庫(kù)中。它們?cè)趍odel中最原始的值是關(guān)(off)。在一般情況下,大多數(shù)用戶(hù)無(wú)權(quán)修改model數(shù)據(jù)庫(kù),又沒(méi)被授權(quán)讀取。因?yàn)閙odel中所有內(nèi)容已拷貝到新數(shù)據(jù)庫(kù)中,授權(quán)讀model沒(méi)什么意義。c臨時(shí)數(shù)據(jù)庫(kù)SQLServer提供了一個(gè)臨時(shí)數(shù)據(jù)庫(kù)(tempdb)。該庫(kù)為臨時(shí)表和其它臨時(shí)工作存儲(chǔ)提供了一個(gè)存儲(chǔ)區(qū)域(例如,Groupby和Orderby的時(shí)間結(jié)果)。不管用什么數(shù)據(jù)庫(kù),所有臨時(shí)表都存在于tempdb中。然而,可以從tempdb或創(chuàng)建臨時(shí)表的數(shù)據(jù)庫(kù)來(lái)查詢(xún)臨時(shí)表。如果查詢(xún)tempdb。。sysobjects,則系統(tǒng)會(huì)告訴你在臨時(shí)表名上加了一個(gè)后綴。僅當(dāng)從tempdb使用臨時(shí)表時(shí),系統(tǒng)過(guò)程(如sp_help)才工作于臨時(shí)表上。臨時(shí)數(shù)據(jù)庫(kù)是SQLServer上所有數(shù)據(jù)庫(kù)共享的工作空間。每當(dāng)用戶(hù)退出SQLServer或系統(tǒng)從失敗中恢復(fù)時(shí),用戶(hù)的臨時(shí)表從tempdb刪除。存儲(chǔ)過(guò)程退出時(shí),它的臨時(shí)表也被刪除。在會(huì)話(huà)結(jié)束前,臨時(shí)表也可被顯示地刪除。tempdb缺省的尺寸是2M字節(jié)。在某些情況下,有必要增加它的尺寸?!ご蟮呐R地表;·在臨時(shí)表上有太多的活(針添滿(mǎn)tempdb的日志);·大的排序,或同時(shí)有太多的排序。子查詢(xún)和用Groupby的統(tǒng)計(jì)也會(huì)使temdb中有一些活動(dòng)。系統(tǒng)管理員可用ALTERDATABASE命令增加tempdb的尺寸。要注意的是:在缺省情況下,tempdb總是創(chuàng)建在master設(shè)備上。其余的空間可加在master或其它初始化的設(shè)備上。使用臨時(shí)數(shù)據(jù)庫(kù)不需要特殊的權(quán)限,即創(chuàng)建臨時(shí)表或執(zhí)行命令可能會(huì)需要臨時(shí)數(shù)據(jù)庫(kù)的存儲(chǔ)空間。(2)系統(tǒng)表master數(shù)據(jù)庫(kù)裝有記錄著所有有關(guān)SQLServer的信息的系統(tǒng)表。另外,每個(gè)數(shù)據(jù)庫(kù)(包括matster數(shù)據(jù)庫(kù))也都包含著記錄自己信息的系統(tǒng)表。所有SQLServer提供的在maswter數(shù)據(jù)庫(kù)中的表(SQLServer控制表)都是系統(tǒng)表。另外,每個(gè)用戶(hù)數(shù)據(jù)庫(kù)在創(chuàng)建時(shí)都有一個(gè)系統(tǒng)表的子集。系統(tǒng)表也叫數(shù)據(jù)字典或系統(tǒng)目錄。master數(shù)據(jù)庫(kù)和它的表在安裝SQLServer時(shí)創(chuàng)建,而用戶(hù)數(shù)據(jù)庫(kù)的系統(tǒng)表是在執(zhí)行createdatabase命令時(shí)自動(dòng)創(chuàng)建。系統(tǒng)表的名字以sys開(kāi)頭。有些系統(tǒng)表只有master數(shù)據(jù)庫(kù)中才有,另外一些系統(tǒng)表在用戶(hù)數(shù)據(jù)庫(kù)或系統(tǒng)數(shù)據(jù)庫(kù)(master,model,tempdb)中都有,我們分別以?xún)蓚€(gè)表(表1-1,表1-2)列出。 只有在master數(shù)據(jù)庫(kù)中才能有的系統(tǒng)表系統(tǒng)表名 表中的內(nèi)容 sysconfigures 一行記錄了用戶(hù)可設(shè)置的配置參數(shù) syscurconfigs 有關(guān)SQLServer當(dāng)前正使用的配置參數(shù)情況 sysdatabases 一行記錄了SQLServer中的一個(gè)數(shù)據(jù)庫(kù) sysdevices 一行記錄了數(shù)據(jù)庫(kù)的每一磁帶轉(zhuǎn)儲(chǔ)設(shè)備,磁盤(pán)轉(zhuǎn)儲(chǔ)設(shè)備,數(shù)據(jù)庫(kù)設(shè)備和磁盤(pán)分區(qū) syslocks 有關(guān)動(dòng)態(tài)鎖的情況 syslogins 一行記錄了每一有效的SQLServer的用戶(hù)帳號(hào) sysmessages 一行記錄了每一系統(tǒng)錯(cuò)誤或警告 sysprocesses 有關(guān)Server進(jìn)程的情況 sysremotelogins 一行記錄了一個(gè)遠(yuǎn)程用戶(hù) sysservers 一行記錄了一個(gè)遠(yuǎn)程SQLServer sysusages 一行記錄了分配給一個(gè)數(shù)據(jù)庫(kù)的每一個(gè)磁盤(pán)分析 在用戶(hù)數(shù)據(jù)庫(kù)和系統(tǒng)數(shù)據(jù)庫(kù)中都有的系統(tǒng)表系統(tǒng)表名 表中的內(nèi)容 sysalternates 一行記錄了SQLServer用戶(hù)在當(dāng)前數(shù)據(jù)庫(kù)中的標(biāo)識(shí) syscoumns 一行記錄了一個(gè)表或視圖的每一列,一個(gè)存儲(chǔ)過(guò)程的每一參數(shù) syscomments 一行或多行記錄了每一視圖、規(guī)則、缺省值、觸發(fā)器和存儲(chǔ)過(guò)程 sysdepends 一行記錄了由一個(gè)過(guò)程、視圖或觸發(fā)器所參照的每一過(guò)程,視圖或表 syskeys 一行記錄了每一主碼,外碼或公用碼 syslogs 事務(wù)日志,是SQLServer用于恢復(fù)或向前滾動(dòng)的 sysobjects 一行記錄了每一表、視圖、存儲(chǔ)過(guò)程、日志、規(guī)則、缺省值、觸發(fā)器和臨時(shí)表(僅在tempdb中) sysprocedures 一行記錄了每一視圖、規(guī)則、缺省、觸發(fā)器和過(guò)程 syprotects 記錄用戶(hù)的權(quán)限信息 sysegments 一行記錄了每一片段(命名的的磁盤(pán)分片匯集) systypes 一行記錄了每一由系統(tǒng)提供的和用戶(hù)定義的數(shù)據(jù)類(lèi)型 sysusers 一行記錄了一個(gè)數(shù)據(jù)庫(kù)的合法用戶(hù),或用戶(hù)組 對(duì)系統(tǒng)表的查詢(xún)是有權(quán)限限制的,這一權(quán)限可以由數(shù)據(jù)庫(kù)Owner加以控制。對(duì)系統(tǒng)表的查詢(xún)可以如普通表那樣用SQL語(yǔ)句完成。例如:查詢(xún)數(shù)據(jù)庫(kù)中所有觸發(fā)器名字的語(yǔ)句為: SELECTnameFROMsysobjects WHEREtype=TR另外,SQLServer還提供了一些系統(tǒng)過(guò)程,許多這樣的系統(tǒng)過(guò)程可使我們不必寫(xiě)長(zhǎng)SQL語(yǔ)句,直接運(yùn)行它們即可查詢(xún)一些系統(tǒng)表。例如:查詢(xún)系統(tǒng)表sysusers的結(jié)構(gòu),如下運(yùn)行過(guò)程即可: sp_helpsysusers(3)系統(tǒng)過(guò)程系統(tǒng)過(guò)程是由SQLServer初始安裝時(shí)自動(dòng)創(chuàng)建的用于系統(tǒng)管理的存儲(chǔ)過(guò)程。系統(tǒng)過(guò)程給用戶(hù)提供了查詢(xún)系統(tǒng)表信息的捷徑,系統(tǒng)過(guò)程還為用戶(hù)提供了從事數(shù)據(jù)庫(kù)管理的一種途徑,就是說(shuō)可以以系統(tǒng)過(guò)程為工具做數(shù)據(jù)庫(kù)管理工作和維護(hù)系統(tǒng)表的一些其它工作。所有系統(tǒng)過(guò)程都以sp_打頭,它們都放在master數(shù)據(jù)庫(kù)中且隸屬于SA。不過(guò)也有很多系統(tǒng)過(guò)程可在任一數(shù)據(jù)庫(kù)中運(yùn)行。若某系統(tǒng)過(guò)程并不是在master中運(yùn)行的,則它在哪個(gè)數(shù)據(jù)庫(kù)中運(yùn)行的就操作在哪個(gè)數(shù)據(jù)庫(kù)中的系統(tǒng)表上。例如:若pubs2數(shù)據(jù)庫(kù)的owner在pubs2中運(yùn)行sp_edduser系統(tǒng)過(guò)程,則是將新用戶(hù)添加到pubs2數(shù)據(jù)庫(kù)中,即在pubs2的系統(tǒng)表sysusers中添加了這一用戶(hù)的記錄。系統(tǒng)過(guò)程可以通過(guò)createprocedure命令加以創(chuàng)建,SA可以建一些能在任一數(shù)據(jù)庫(kù)中運(yùn)行的系統(tǒng)過(guò)程。首先,SA在master數(shù)據(jù)庫(kù)中可以簡(jiǎn)單地建一個(gè)存儲(chǔ)過(guò)程,然后以sp_打頭命名它,該存儲(chǔ)過(guò)程的uid(用戶(hù)標(biāo)識(shí))必須是1,即應(yīng)為數(shù)據(jù)庫(kù)owner的uid。大多數(shù)自己創(chuàng)建的系統(tǒng)過(guò)程只查詢(xún)系統(tǒng)表,你也可以創(chuàng)建修改系統(tǒng)表的存儲(chǔ)過(guò)程(不希望你這么做)。由SQLServer提供的系統(tǒng)過(guò)程有60個(gè)左右,它們的功能和執(zhí)行權(quán)限見(jiàn)表1-3。SQLServer人的系統(tǒng)過(guò)程過(guò)程名 功能 執(zhí)行權(quán)限 sp_addalias 把數(shù)據(jù)庫(kù)中的一個(gè)用戶(hù)映象到另一個(gè)用戶(hù) 數(shù)據(jù)庫(kù)所有者 sp_addgroup 向數(shù)據(jù)庫(kù)增加分組,在授權(quán)和撤權(quán)命令中分組被用作聚合名字 數(shù)據(jù)庫(kù)所有者 sp_addlanguage 為服務(wù)器定義可替換語(yǔ)言,并把它增加到master,dbo,syslanguages中。 系統(tǒng)管理員 sp_addlogin 通過(guò)向master.dbo,syslogins中增加表項(xiàng)授權(quán)新的SQLServer用戶(hù) 系統(tǒng)管理員 sp_addremotelogin 通過(guò)向master,bo,sysremotelogins增添表項(xiàng)授權(quán)新的遠(yuǎn)程服務(wù)器用戶(hù) 系統(tǒng)管理員 sp_addsegment 在指定的數(shù)據(jù)庫(kù)設(shè)備上創(chuàng)建一個(gè)段 數(shù)據(jù)庫(kù)所有者系統(tǒng)管理員 sp_addserver 定義遠(yuǎn)程服務(wù)器,或定義本地服務(wù)器名字 數(shù)據(jù)庫(kù)所有者系統(tǒng)管理員 sp_addtype 創(chuàng)建用戶(hù)定義的數(shù)據(jù)類(lèi)型 Public sp_addumpdervce 向SQLServer增加轉(zhuǎn)儲(chǔ)設(shè)備 系統(tǒng)管理員 sp_adduser 向當(dāng)前數(shù)據(jù)庫(kù)添加新的用戶(hù) 數(shù)據(jù)庫(kù)所有者 sp_bindefault 為一列或用戶(hù)下義的數(shù)據(jù)類(lèi)型定義缺省值 目標(biāo)(對(duì)象)所有者 sp_bindrule 向一列或用戶(hù)定義的數(shù)據(jù)類(lèi)型賦一規(guī)則 目標(biāo)汽有者 sp_changedbowner 改變數(shù)據(jù)庫(kù)的所有者 數(shù)據(jù)庫(kù)所有者 sp_changegroup 改變用戶(hù)所屬的分組 數(shù)據(jù)庫(kù)所有者 sp_checknames 檢查當(dāng)前數(shù)據(jù)庫(kù)在7位ASCII碼集之外的字符的名字 public sp_commonkey 在兩個(gè)表或視圖之間定義一公共鍵--經(jīng)常被連接的列 兩表(或視圖)的所有者 sp_configure 顯示或改變配置變量 沒(méi)有參數(shù)或只有第一個(gè)參數(shù)的執(zhí)行權(quán)屬于public,否則屬于系統(tǒng)管理員 sp_dboption 顯示或改變數(shù)據(jù)庫(kù)選項(xiàng) 不帶參數(shù)屬于public,帶參數(shù)時(shí)屬于數(shù)據(jù)庫(kù)所有者 sp_defaultdb 改變一用戶(hù)的缺省數(shù)據(jù)庫(kù) 系統(tǒng)管理員(但每個(gè)用戶(hù)都可以改變他自己的缺省語(yǔ)言) sp_depends 顯示數(shù)據(jù)庫(kù)目標(biāo)相關(guān)性的信息 public sp_diskdefault 設(shè)備數(shù)據(jù)庫(kù)設(shè)備的狀態(tài)為defaulton或defaultoff(表明一數(shù)據(jù)設(shè)備是否能用于數(shù)據(jù)庫(kù)的豈省存儲(chǔ)) 系統(tǒng)管理員 sp_dropalias 刪除用sp_addalias建立的用戶(hù)名別名標(biāo)識(shí) 數(shù)據(jù)庫(kù)所有者 sp_dropdevice 刪除一SQLServer數(shù)據(jù)庫(kù)設(shè)備或轉(zhuǎn)儲(chǔ)設(shè)備 系統(tǒng)管理員 sp_dropgroup 從數(shù)據(jù)庫(kù)中刪除一分組 數(shù)據(jù)庫(kù)所有者 sp_droplanguage 從服務(wù)器中刪除可替換語(yǔ)言,并從master.dbo.syslanguages中刪掉相應(yīng)的行 系統(tǒng)管理員 sp_droplogin 通過(guò)刪掉用戶(hù)在master,dbo,syslogins中的表項(xiàng)刪除SQLServer用戶(hù) 系統(tǒng)管理員 sp_dropremotelogin 刪除遠(yuǎn)程用戶(hù)注冊(cè) 系統(tǒng)管理員 sp_dropsegment 從數(shù)據(jù)庫(kù)中刪除一個(gè)段或從特定數(shù)據(jù)庫(kù)設(shè)備上卸掉一個(gè)段的映象 數(shù)據(jù)庫(kù)所有者 sp_dropserver 刪除遠(yuǎn)程服務(wù)器 系統(tǒng)管理員 sp_droptype 刪除用戶(hù)定義的數(shù)據(jù)類(lèi)型 數(shù)據(jù)庫(kù)所有者數(shù)據(jù)類(lèi)型所有者 sp_dropuser 從當(dāng)前是數(shù)據(jù)庫(kù)中刪除一用戶(hù) 數(shù)據(jù)庫(kù)屬主 sp_extendsegment 把段的區(qū)域擴(kuò)充到另一個(gè)數(shù)據(jù)庫(kù)設(shè)備或在當(dāng)前數(shù)據(jù)庫(kù)設(shè)備上進(jìn)行擴(kuò)充 數(shù)據(jù)庫(kù)屬主 sp_foreignkey 在當(dāng)前數(shù)據(jù)庫(kù)的表或視圖上定義一外部鍵 表的屬主 sp_help 報(bào)告目標(biāo)或SQLServer提供的或用戶(hù)定義的數(shù)據(jù)庫(kù)類(lèi)型的信息 public sp_helpdb 報(bào)告--指定數(shù)據(jù)庫(kù)或所有數(shù)據(jù)庫(kù)的信息 pblic sp_helpdevice 報(bào)告--指定設(shè)備或所有SQLServer數(shù)據(jù)庫(kù)設(shè)備轉(zhuǎn)儲(chǔ)設(shè)備的信息 public sp_helpgroup 報(bào)告--特定組或當(dāng)前數(shù)據(jù)庫(kù)的所有組的信息 public sp_helpinde 報(bào)告--表中的索引信息 public sp_helpjoins 列出可連接兩個(gè)表或視圖的列 public sp_helpkey 報(bào)告某個(gè)特定表或視圖的一主鍵,外部鍵或公共鍵或者當(dāng)前數(shù)據(jù)庫(kù)中所有鍵的信息 public sp_helplanguage 報(bào)告一特替換語(yǔ)言或所有語(yǔ)言的信息 public sp_helplog 報(bào)告包括日志第一頁(yè)的設(shè)備名 public sp_helpremotelogin 報(bào)告一特定遠(yuǎn)程服務(wù)器或所有遠(yuǎn)程服務(wù)器的注冊(cè)信息 public sp_helprotect 報(bào)告一數(shù)據(jù)庫(kù)對(duì)象或用戶(hù)權(quán)限,且由用戶(hù)選擇對(duì)象 public sp_helpsegment 報(bào)告當(dāng)前數(shù)據(jù)庫(kù)中一特定段或所有段的信息 public sp_helpserver 報(bào)告一特定遠(yuǎn)程服務(wù)器或所有遠(yuǎn)程服務(wù)器的信息 public sp_helpsort 顯示SQLServer的缺省排列順序以及字符集 public sp_helptext 打印一系統(tǒng)過(guò)程、觸發(fā)器、視圖、缺省或規(guī)則的定義文本 public sp_helpuser 報(bào)告當(dāng)前數(shù)據(jù)庫(kù)中一個(gè)用戶(hù)或所有用戶(hù)的信息 public sp_lock 報(bào)告當(dāng)前上鎖的進(jìn)程的信息 public sp_logdevice 將系統(tǒng)表syslogs(其中包括事務(wù)日志)放在一個(gè)分設(shè)的數(shù)據(jù)庫(kù)設(shè)備中 數(shù)據(jù)庫(kù)屬主 sp_monitor 顯示SQLServer的統(tǒng)計(jì)數(shù)字 系統(tǒng)管理員 sp_password 增加或改變SQLServer注冊(cè)的口令 對(duì)自己的口令,權(quán)限屬于public,系統(tǒng)管理員有權(quán)修改所有用戶(hù)口令 sp_placeobject 為一特定中某個(gè)表或索引放置將來(lái)的空間分配 表屬主,數(shù)據(jù)庫(kù)屬主系統(tǒng)管理員 sp_primarykey 定義一表或視圖上的主鍵(主碼) 表的所有者 sp_recompile 使生個(gè)使用被指定表的存儲(chǔ)過(guò)程、觸發(fā)器在下次運(yùn)行時(shí)重新編譯 public sp_remoteoption 顯示或改變遠(yuǎn)程注冊(cè)選項(xiàng) 顯示選項(xiàng)時(shí)屬public改變選項(xiàng)時(shí)屬系統(tǒng)管理員 sp_rename 改變當(dāng)前數(shù)據(jù)庫(kù)中一用戶(hù)建立目標(biāo)的名稱(chēng) 特定目標(biāo),權(quán)限屬目標(biāo)屬主對(duì)數(shù)據(jù)庫(kù)所有對(duì)象,權(quán)限屬數(shù)據(jù)庫(kù)所有者 sp_renamedb 改變數(shù)據(jù)庫(kù)名 系統(tǒng)管理員 sp_serveroption 顯示或改變服務(wù)器選項(xiàng) 顯示選項(xiàng),權(quán)限,權(quán)限屬public改變選項(xiàng),權(quán)限屬系統(tǒng)管理員 sp_setlangalian 分配或改變一替換語(yǔ)言的別名 系統(tǒng)管理員 sp_spaceused 顯示行數(shù)、數(shù)據(jù)頁(yè)數(shù)以及當(dāng)前數(shù)據(jù)庫(kù)中由某個(gè)目標(biāo)或所有目標(biāo)所占用的空間 public sp_unbindefault 從一列或用戶(hù)定義的數(shù)據(jù)類(lèi)型中解除一規(guī)則 目標(biāo)屬主(所有者) sp_who 報(bào)告特定用戶(hù)或SQLServer所有當(dāng)前用戶(hù)和進(jìn)程的信息 public (4)用戶(hù)數(shù)據(jù)庫(kù)用戶(hù)數(shù)據(jù)庫(kù)是指用createdatabase命令創(chuàng)建的數(shù)據(jù)庫(kù)。不能存取master數(shù)據(jù)庫(kù)的用戶(hù)是無(wú)權(quán)創(chuàng)建新的數(shù)據(jù)庫(kù)的。SA可以將創(chuàng)建數(shù)據(jù)庫(kù)的權(quán)限授予其它用戶(hù)。新建的數(shù)據(jù)庫(kù)中存有一些系統(tǒng)表,在sysusers表中至少有一條記錄,即該數(shù)據(jù)庫(kù)的創(chuàng)建者。當(dāng)使用CREATEDATABASE命令時(shí),SQLServer要完成以下工作:·確認(rèn)數(shù)據(jù)庫(kù)名是唯一的;·確認(rèn)數(shù)據(jù)庫(kù)設(shè)備名是可用的;·給新的數(shù)據(jù)庫(kù)找到一個(gè)未用的標(biāo)識(shí)號(hào);·在指定的數(shù)據(jù)庫(kù)設(shè)備上,分配一些邏輯空間到數(shù)據(jù)庫(kù)上,修改master..sysusages,以反映這些賦值;·在sysdatabases中插入一行;·拷貝model數(shù)據(jù)庫(kù)到新數(shù)據(jù)庫(kù)空間。新數(shù)據(jù)庫(kù)繼續(xù)model數(shù)據(jù)庫(kù)中的數(shù)據(jù)庫(kù)設(shè)置。這些選項(xiàng)最初都是off,可以用系統(tǒng)過(guò)程sp_dboption改變這些缺省的設(shè)置。(5)數(shù)據(jù)庫(kù)對(duì)象(目標(biāo))在一個(gè)數(shù)據(jù)庫(kù)中可以建各種數(shù)據(jù)庫(kù)對(duì)象,包括表、視圖、索引、存儲(chǔ)過(guò)程、觸發(fā)器、規(guī)則、缺省值等。1.5Sybase實(shí)用程序1.5.1isql功能:Sybase提供的重要前端交互式維護(hù)組,它批處理編譯和執(zhí)行T-SQL編碼做可實(shí)用語(yǔ)句,也可用于對(duì)數(shù)據(jù)庫(kù)的維護(hù)和修復(fù),它是系統(tǒng)員對(duì)SQLerver操作的重要手段。 交互的SQL句法分析器一、句法:isql[-e][-p][-n][-v][-eemdenel][-hheaders][-weolumnwidth][-scolseparator][-ttimeout][-merrorlevel][-Uusername][-Ppassword][-Sserver][-Iinerfaces-file][-adisplay-charset][-zlanguage]終止一條命令:go清除查詢(xún)緩沖:reset調(diào)用編輯器:vi執(zhí)行一條操作系統(tǒng)命令:??!命令退出isql:quit或exit其中-e——回顯輸入-p——打出性能統(tǒng)計(jì)-n——?jiǎng)h除輸入行中的序號(hào)及提示符(>)-v——打印使用的isgl軟件的版本號(hào)-eemdend——允許用戶(hù)重置命令終止符,缺省情況下,在命令上鍵入go終止命令,并將命令送給SQLServer。如果重置命令終止符,不要使用對(duì)操作系統(tǒng)有特殊含義的保留字或字符,不管前面是否有斜線(xiàn)。-hheaders——說(shuō)明在列標(biāo)題之間打印的行數(shù),默認(rèn)情況是對(duì)每個(gè)查詢(xún)結(jié)果集合只打印一次標(biāo)題。-wcolumnwidth——設(shè)置輸出的屏幕寬度。缺省值是80個(gè)字符。如果一個(gè)輸出行超過(guò)了屏幕最大寬度,則折行顯示。-scolseparator——允許用戶(hù)重列分隔符,缺省的列分隔符是空格。要使用對(duì)操作系統(tǒng)有特殊含義的字符(例:1,;,$,<,>),需用引號(hào)括起來(lái)或前面加一反斜線(xiàn)“\”。-ttimeout——指定命令超時(shí)的秒數(shù)。如果未指定,刪命令的執(zhí)行是不定的;但錄到isql的缺省超時(shí)時(shí)間是60秒。-merrorlevel——允許用戶(hù)設(shè)定錯(cuò)誤信息的顯示格式。對(duì)于指定級(jí)或更高級(jí)別的錯(cuò)誤,只顯示信息編號(hào),狀態(tài)和錯(cuò)誤級(jí)別,不顯示正文。對(duì)于低于指定級(jí)別的錯(cuò)誤,不顯示任何信息。-Uusername——允許用戶(hù)指定一個(gè)注冊(cè)名。注冊(cè)是區(qū)分字母大小寫(xiě)的。-Ppassword——允許用戶(hù)指定他或她的當(dāng)前SQLServer的名稱(chēng)。isql在interfaces文件中查找這個(gè)名稱(chēng)。如果-S選項(xiàng)后不帶參數(shù),則isql查找名為SYBASE的Server。如果不使用-s選項(xiàng),則isql查找由環(huán)境變量DSQUERY確定的服務(wù)器。-Iinterface-file——允許用戶(hù)指定界面文件的名稱(chēng)各位置,查找界面文件是與SQL服務(wù)器連接過(guò)程的一個(gè)部分。命令的文件包含網(wǎng)絡(luò)上每一個(gè)可用SQLServer的名稱(chēng)各網(wǎng)絡(luò)地址。如果不使用這個(gè)選項(xiàng),isql在由環(huán)境變量SYBASE指定的目錄中查找名為interfaces的文件。-adisplay-charset——指定isql在non-sio-1終端上使用的字符集翻譯文件。如果使用的是一個(gè)non-iso-1終端,這個(gè)選項(xiàng)保證你的終端向SQLServer發(fā)送正確的字符。-zlanguage——用于顯示isql提示信息和其它信息的替換語(yǔ)言的正式名稱(chēng)。如果不使用-z(language)標(biāo)志,則使用服務(wù)器的缺省語(yǔ)言。在安裝時(shí)或以后用實(shí)用程序langinstall或存儲(chǔ)過(guò)程sp_addlanguage可以將語(yǔ)言增加到一個(gè)SQLServer中。二、舉例1.isq1—P—S#2.isq1—Ujoepassaord:1>SELECT2>FROMauthors3>WHEREcity="Oakland"4>GO執(zhí)行這個(gè)命令。3.isql—Ujoe—Pabracadabra1>SELECT*2>FROMauthors3>WHEREcity="Oakland"4>vi 進(jìn)入一個(gè)正文文件,在文件中可以編輯查詢(xún)。寫(xiě)并存這個(gè)文件后,返回isql。顯示查詢(xún),鍵入go執(zhí)行isql。4.isql—Ualma—P1>SELETCT*2>FFOMauthors3>WHEREcity="Oakland"4>RESET1>QUIT reset清除查詢(xún)緩沖。關(guān)鍵字quit使你返回操作系統(tǒng)。三、說(shuō)明1.交互式地使用isql,在操作系統(tǒng)提示符下給出isql命令(及任一標(biāo)志)。isql程序程序接收SQL,將其發(fā)送給SQLServer,結(jié)果是形式化的且顯示到標(biāo)準(zhǔn)輸出上。用quit或exit退出isql。2.一行的開(kāi)始加上缺省命令終結(jié)符go來(lái)終止一個(gè)命令。可以在命令終結(jié)符合給出一個(gè)整數(shù)來(lái)指定命令運(yùn)行的次數(shù)。例如,要使這條命令執(zhí)行100次,鍵入: selectx=1 go100 結(jié)果只在執(zhí)行結(jié)束后顯示。3.要調(diào)用一個(gè)當(dāng)前查詢(xún)緩沖中的編輯器,輸入它的名稱(chēng)作為一行中的第一個(gè)字環(huán)境變量EDITOR定義可調(diào)用的編輯器,如果未定義,缺省編輯器是“vi”。要執(zhí)行操作系統(tǒng)命令,可以一行開(kāi)始時(shí)鍵入兩個(gè)“!“,后面跟命令名稱(chēng)??梢杂眠@種方式調(diào)用其它編輯器而無(wú)須定義EDITOR。4.以在一行中鍵入reset來(lái)自行清除現(xiàn)存的查詢(xún)緩沖。它會(huì)導(dǎo)致近臨的輸入被丟掉。Control-C也執(zhí)行一個(gè)清除操作。但可以在一行中的任一位置輸入。清除的結(jié)果是取消當(dāng)前緩沖,向用戶(hù)返回“1>”。5.可用下列的isql命令讀入一個(gè)包含一條要執(zhí)行查詢(xún)的操作系統(tǒng)文件。isql-Ualma-P<input-file-name文件必須包含命令終端符。結(jié)果顯示在用戶(hù)終端上。6.大小寫(xiě)對(duì)isql標(biāo)志是很重要的。7.交互式地使用isql時(shí),可將一個(gè)操作系統(tǒng)文件讀入命令緩沖,并帶有:rfilename。文件中不要包含一個(gè)命令終止符;一旦完成編輯,交互式地輸入終止符。8.可以在isql提交給SQLServer的Transact-SQL語(yǔ)句中包含注釋。注釋“/*”開(kāi)始,以“*/”結(jié)束,并且可以嵌套1.5.2bcp功能:BCP以用戶(hù)指定的形式將數(shù)據(jù)庫(kù)表拷貝到操作系統(tǒng)文件中,或從操作系統(tǒng)文件中拷貝一數(shù)據(jù)庫(kù)表。一、句法:bcp[[database-name.]owner[table-name{inout}datafile[-mmaxerrors][-fformatfile][-eerrfile][-Ffirstrow][-Llastrow][-bbatchsize][-n][-e][-tfield-terminator][-rrow-terminator][-Uusename][-Ppassword][-Iinterfacesfile][-Sserver][-sdisplay-eharset][-qdatafile-charset][-zlaguage][-V]其中database-name—這個(gè)參數(shù)是可選的。如果被拷貝的表在缺省數(shù)據(jù)庫(kù)或主數(shù)據(jù)庫(kù)中,則可以不指定該參數(shù),否則,必須給出一個(gè)數(shù)據(jù)名。owner--這個(gè)參數(shù)是可選的。如果你或者數(shù)據(jù)所有者是被拷貝表的屬主,則可以不指定此參數(shù)。如果未指定此參數(shù),bcp首先查找你所擁有的同名的表,接著查找數(shù)據(jù)庫(kù)所有者擁有的同名的表。如果該表由另一個(gè)用戶(hù)所有,則必須說(shuō)明該用戶(hù)的名字,否則命令失敗。table-name——想要拷貝的數(shù)據(jù)表名。{in/out}——拷貝方向。in表示從文件到數(shù)據(jù)庫(kù)表的拷貝,out表示從數(shù)據(jù)庫(kù)表到文件的拷貝。datafile——操作系統(tǒng)文件的全路徑名。路徑名的長(zhǎng)度從1到255個(gè)字符。-mmaxerrors——是拷貝操作退出之前允許的最大出錯(cuò)次數(shù)。bcp丟棄了不能構(gòu)造的每一行并且計(jì)算錯(cuò)誤數(shù)。缺省值為10。-fformatfile——存有上次使用bcp處理同一表時(shí)得到的應(yīng)答文件的全路徑名。只有在已經(jīng)創(chuàng)建了想用于拷入或拷出的格式文件后才能使用這個(gè)選項(xiàng)?;卮鹆薭cp的問(wèn)題之后,它將詢(xún)問(wèn)是否將回答存入一個(gè)格式文件名。缺省文件名是bcp.fmt。拷貝數(shù)據(jù)時(shí),bcp程序可以引用格式文件,因此無(wú)須重復(fù)前面問(wèn)題的回答。如果未使用此選項(xiàng),bcp將交互式地尋問(wèn)格式信息。-eerrfile——錯(cuò)誤文件的全路徑名。bcp將不能人文件傳遞到數(shù)據(jù)庫(kù)的行存于此文件中。來(lái)自bcp程序的錯(cuò)誤信息送到用戶(hù)工作站上。如果未使用此選項(xiàng),則不創(chuàng)建錯(cuò)誤文件。-Ffirstrow——要拷貝的第一行的序號(hào)(缺省是第一行)-Llastrow——要拷貝的最后一行的序號(hào)(缺省是最后一行)-bbatehsize——每批拷貝的行數(shù)(缺省是一批拷貝所有行)。批處理只適用于成批拷入,不適于成批拷出。-n——以?xún)?nèi)部(操作系統(tǒng)的)格式執(zhí)行拷貝操作。此選項(xiàng)對(duì)每個(gè)域不顯示提示信息。內(nèi)部數(shù)據(jù)格式的文件對(duì)用戶(hù)是不可讀的。-C——缺省情況下,以字會(huì)類(lèi)型執(zhí)行拷貝操作。這個(gè)選項(xiàng)對(duì)每個(gè)域不顯示信息;它使用Char作為缺省的存儲(chǔ)類(lèi)型,不加前綴,\t作為缺省的域終止符,\n作為缺省的行終止符。-tfield-terminator——指定缺省的域終止符-rrow-terminator——指定缺省的行終止符-Uusername——允許用戶(hù)指定一個(gè)注冊(cè)名-Ppassword——允許用戶(hù)指定他或她當(dāng)前的SQLServer口令。如果未使用-P選項(xiàng),bcp將提示輸入一個(gè)口令。如果-P選項(xiàng)在命令行的最后給出,且未給出口令,則bcp使用缺省口令(NULL)。-Sserver——允許用戶(hù)指定與其相連的SQLServer的名字。這是SQLServer0在in-terfaces文件中查找的名字。如果-S選項(xiàng)后不帶參數(shù),則查找名為SYBASE的服務(wù)器。如果不使用-S選項(xiàng),則查找由DSQUERY環(huán)境變量命名的Server。-Iinterfaces-file——允許用于指定界面文件的名字和位置,搜索界面文件與SQL,Server連接過(guò)程的一部分。這個(gè)文件包括網(wǎng)絡(luò)上每個(gè)可用SQLServer的名字和網(wǎng)絡(luò)地址。如果沒(méi)有使用-I選項(xiàng),bcp將在由SYBASE環(huán)境變量指定的目錄中查找名為的interfaces文件。-adisplay-charset——指定字符集翻譯文件,對(duì)于non-iso-1終端bcp必須使用這個(gè)文件。如果使用一個(gè)non-iso-1終端,這個(gè)選項(xiàng)確保終端向SQLServer發(fā)送正確的字符。-qdatafile-charset——指定字符集翻譯文件,bcp必須使用這個(gè)文件來(lái)使用non-iso-1數(shù)據(jù)文件的字符集與SQLServer兼容。當(dāng)使用bcp將non-iso-1主機(jī)數(shù)據(jù)庫(kù)文件拷貝到Server上的一個(gè)數(shù)據(jù)庫(kù)表中時(shí),指定相應(yīng)的data-file-Charset以便bcp可以將主數(shù)據(jù)文件翻譯成Server的iso-1字符集。當(dāng)使用bcp將一個(gè)數(shù)據(jù)庫(kù)表拷貝到用于non-iso-1終端的主數(shù)據(jù)文件時(shí),指定此終端的datafile-charset。-xlanguage——用于顯示bcp提示信息和其它信息的替換語(yǔ)言的正式名字。如果不使用-z選項(xiàng),則使用服務(wù)器的缺省語(yǔ)言,可以在安裝時(shí)將此語(yǔ)言增加到SQLServer中,也可在以后使用實(shí)用程序Langinstall或存儲(chǔ)過(guò)程sp_addlanguage。-v——報(bào)告bcp程序的當(dāng)前版本。二、舉例a在下面的例子中,使用-n選項(xiàng)以字符形式從publishers表中將數(shù)據(jù)(對(duì)所有域使用char型)。使用-t(field-terminator)選項(xiàng)定義逗號(hào)為一域的終止符,使用-r(row-terminator)選項(xiàng)定義每行的結(jié)束符為回車(chē)換行。僅對(duì)用戶(hù)提示他或她的口令。 bcppubs..publishersoutpub-out-e-t,-r\\rb在下面的例子中,bcp從publishers表中將數(shù)據(jù)拷貝到一個(gè)名為pub-out的文件中,以便以后將這些數(shù)據(jù)再裝入到SQLServer中。如果使用缺省值,則每當(dāng)屏幕上顯示提示符時(shí),鍵入回車(chē)即可。當(dāng)將數(shù)據(jù)拷貝到publishers表中時(shí),出現(xiàn)的提示符是相同的。bcppubs..publishersoutpub_outPassword:Enerthefilestorngetypeoffieldpub-id[char]:Enterprefixlengthoffieldpub-id[0]:Enterlengthoffieldpub-id[4]:Enterfieldterminator[none]:Enterthefilestoragetypeoffieldpub-name[char]:Enterprefixlengthoffieldpub-name[1]:Enterlengthoffieldpub-name[40]:Enterfieldterminator[none]:Enterthefilestoragetypeoffieldcity[char]:Enterprefixlengthoffieldcity[1]:Enterlengthoffieldcity[20]:Enterfieldterminator[none]:Enterthefilestoragetypeoffieldstate[char]:Enterprefixlengthoffieldstate[1]:Enterlengthoffieldstate[2]:Enterfieldterminator[none]:Doyouwanttosavethisformatinformationinafile?[Y-n]yIIostfilename[bcp.fmt]:pub-formStartingcopy…3rowscopied. ClockTime(ms.):total=0Avg=0(3.00rowspersee.)c下面的例子將一個(gè)數(shù)據(jù)文件拷貝到pubs..publishers表中,這個(gè)數(shù)據(jù)文件是用VT200終端上的字符集創(chuàng)建的。-q選項(xiàng)翻譯它。-z選項(xiàng)用法文顯示bcp信息。 bcppubs..publishersinvt200-data-qVT200-zfrench三、說(shuō)明 bcp提供了在數(shù)據(jù)庫(kù)表和操作系統(tǒng)文件之間傳遞數(shù)據(jù)的一個(gè)方便、快速的方法,它能夠讀寫(xiě)多種格式的文件。從一個(gè)文件拷入數(shù)據(jù)庫(kù)中的數(shù)據(jù),附到當(dāng)前的數(shù)據(jù)庫(kù)表中;拷到文件中的數(shù)據(jù)將覆蓋此文件。 為了使用bcp,必須有一個(gè)有效的SQLServer帳戶(hù)并且對(duì)數(shù)據(jù)庫(kù)表和文件有適當(dāng)?shù)拇嫒?quán)限??匠鰰r(shí),必須具有SELECT權(quán)限,拷入時(shí),必須具有INSERT權(quán)限。 -n和-c命令行選項(xiàng)提供了拷入和拷出數(shù)據(jù)最簡(jiǎn)單的方法。-n(內(nèi)部格式)和-c(字符格式)選項(xiàng)為所拷數(shù)據(jù)提供指定的缺省格式。內(nèi)部格式提供最緊湊的存儲(chǔ);字符格式創(chuàng)建ASCII文件,列與列之前制表符隔開(kāi),行尾是換行符。使用這兩個(gè)選項(xiàng),bcp以非交互方式操作,即只提示輸入口令。如果未使用這兩個(gè)選項(xiàng)。使用這兩個(gè)選項(xiàng),bcp以非交互方式操作,即只提示輸入口令。如果未使用這兩個(gè)選項(xiàng),bcp向用戶(hù)詢(xún)問(wèn)有關(guān)被拷貝表中每一列的信息。并詢(xún)問(wèn)是否想將格式信息存入一個(gè)文件中。 當(dāng)使用批處理時(shí),SQLServer認(rèn)為每一個(gè)批處理都是一個(gè)獨(dú)立的成批拷貝操作。大的輸入文件可以分成幾個(gè)小單位,通過(guò)批處理這些小單位可恢復(fù)。 一旦完成,bcp打印成功拷貝數(shù)據(jù)的行數(shù)、不能拷貝(如果有)的行數(shù)、拷貝花費(fèi)的時(shí)間、拷貝一行所需花費(fèi)的平均時(shí)間(以毫秒為單位)、每秒拷貝的行數(shù)。 拷貝加索引和未中索引的表。1.5.3buildmaster功能:創(chuàng)建Master數(shù)據(jù)庫(kù)。句法:buildmaster[-dphysicalname][-ccntrltype][-ssize][-r][-m]其中-dphysicalname--要配置的SQLServerMaster數(shù)據(jù)庫(kù)設(shè)備的物理名稱(chēng);它是Master數(shù)據(jù)庫(kù)的位置。-ccntrltype--設(shè)備的控制器號(hào)。cntrltype和disk一起指定設(shè)備。cntrltype的缺省值是0,不要改變這個(gè)值除非常要求修改。-ssize--Master數(shù)據(jù)庫(kù)文件的大小,以塊為單位,每塊2K字節(jié)。例如,size取值“5120”則創(chuàng)建一個(gè)10兆字節(jié)的數(shù)據(jù)庫(kù)。buildmaster認(rèn)為Master數(shù)據(jù)庫(kù)文件的大小至少為2K字節(jié),除非使用-m或-r選項(xiàng)。-r--重寫(xiě)包含系統(tǒng)啟動(dòng)參數(shù)缺省值的配置塊,這些缺省值不影響數(shù)據(jù)庫(kù)設(shè)備上的其它東西。這個(gè)選項(xiàng)將增加版本號(hào)而無(wú)而重構(gòu)Matster數(shù)據(jù)庫(kù)。-m--只重寫(xiě)Master數(shù)據(jù)庫(kù),不改變配置塊或初始化Master數(shù)據(jù)庫(kù)設(shè)備。如果同時(shí)使用-m和-r選項(xiàng),則重寫(xiě)包含系統(tǒng)啟動(dòng)參數(shù)(從系統(tǒng)表sysconfigures和syscureonfigs中得到的)的配置塊和Master數(shù)據(jù)庫(kù),無(wú)須初始化其余的數(shù)據(jù)庫(kù)設(shè)備。說(shuō)明:·buildmaster程序?qū)⒅付ㄔO(shè)備(數(shù)據(jù)庫(kù)設(shè)備)初始化為一個(gè)SQLServerMaster數(shù)據(jù)庫(kù)設(shè)備,并在其上創(chuàng)建Master和Model數(shù)據(jù)庫(kù)。buildmaster包括Master和Model數(shù)據(jù)庫(kù)使用的所有數(shù)據(jù)庫(kù)系統(tǒng)過(guò)程?!uildmaster也提供了選項(xiàng)用于從環(huán)境配置錯(cuò)誤和其它災(zāi)難的恢復(fù)?!ybinstall安裝程序運(yùn)行buildmaster并在指定的數(shù)據(jù)庫(kù)設(shè)備上創(chuàng)建一個(gè)初始Master數(shù)據(jù)庫(kù)。設(shè)備是在回答程序的提問(wèn)時(shí)給出的。如果未使用任何選項(xiàng),buildmaster將提出下列問(wèn)題。對(duì)每個(gè)問(wèn)題要求給出一個(gè)顯式回答。masterdiskname?masterdiskcontrollernumber?masterdisksize?configurationonly?(Y或n)(與-r相同)databaseonly?(Y或n)(與-m相同)1.5.4console功能:操作員實(shí)用程序,用于將數(shù)據(jù)轉(zhuǎn)儲(chǔ)到磁帶上或從磁帶上裝入數(shù)據(jù)。名法:console[-v][-adisplay-charset]其中-v--顯示console程序的版本號(hào),然后退出,返回到操作系統(tǒng)。-adisplay-charset--指定在non-iso-1終端上console必須使用的字符集翻譯文件。如果使用的果non-iso-1終端,這個(gè)選項(xiàng)確保當(dāng)回答console提問(wèn)時(shí),終端向SQLServer發(fā)送正確的字符。說(shuō)明:注意在進(jìn)行一個(gè)DUMP或LOAD之前,Console程序必須在運(yùn)行且已從一個(gè)結(jié)點(diǎn)啟動(dòng),SQL服務(wù)器在這個(gè)結(jié)點(diǎn)上運(yùn)行。同時(shí),在環(huán)境中必須定義DSCONSOLE變量。同上LOAD分在不同的日子里完成通常是一個(gè)錯(cuò)誤,但操作員不能有很好的理由這么做?!onsole程序是一個(gè)支持對(duì)磁帶的DUMP和LOAD的過(guò)程。相關(guān)的命令包括DUMPDATABASE,DUMPTRANsaction,LOADDATABASE及LOADTRANsaction。在使用console對(duì)磁帶DUMP或LOAD之前,必須定義DSCONSOLE環(huán)境變量。確認(rèn)所使用的磁帶沒(méi)有寫(xiě)保護(hù)?!っ看螁?dòng)SQLServer即可啟動(dòng)console程序,然后console程序被放到后臺(tái)連續(xù)運(yùn)行,在DUMP或LOAD之前必須將其拿到前臺(tái)。·console程序給操作員提示有關(guān)安裝和卸下磁帶的信息。出于這個(gè)原因,可能想在一個(gè)靠近磁帶裝置的終端上運(yùn)行這個(gè)程序。這個(gè)終端必須連在啟SQLServer的機(jī)器上。大多數(shù)console程序的信息是自解釋的。要夭折對(duì)磁帶的DUMP或LOAD,在回答是否安裝一個(gè)新磁帶的提問(wèn)時(shí)鍵入“n”?!と绻鹀onsole程序因某種原因而停止,則提示操作員重新啟動(dòng)它?!げ灰茫辝或來(lái)自操作系統(tǒng)的其它中斷信號(hào)終止console程序。相反,不需要的時(shí)候?qū)⑺{(diào)入后臺(tái)。如果關(guān)閉SQLServer,console自動(dòng)停止?!と绻淮问褂脙蓚€(gè)磁帶(即兩個(gè)DUMPS/LOADS),只需一個(gè)“console”。console程序一次打印一個(gè)信息,等待回答,然后顯示下一個(gè)提示信息。由于這個(gè)原因,這些信息包括物理驅(qū)動(dòng)器的名稱(chēng)。·DUMPDATABASE不允許向一個(gè)磁帶設(shè)備卸出多于一個(gè)的數(shù)據(jù)庫(kù)(在卸出一個(gè)數(shù)據(jù)庫(kù)之后,磁帶自動(dòng)反轉(zhuǎn))?!ぷ址g標(biāo)志-a(display-charset)給出相器上$SYBASE/charsets/iso-1目錄中的.xlt文件名。1.5.5dataserver功能:SQL服務(wù)程序的可執(zhí)行形式。句法:dataserver-ddevicename[-eerrorlogfile][-m][-rmastermirror]其中-ddevicename--數(shù)據(jù)庫(kù)設(shè)備的全路徑名。Master數(shù)據(jù)庫(kù)設(shè)備對(duì)于啟動(dòng)SQLServer的用戶(hù)是可寫(xiě)的。缺省的Master數(shù)據(jù)庫(kù)設(shè)備名是d-master。-eerrorlogfile--SQLServer系統(tǒng)錯(cuò)誤信息記錄文件的全路徑名。-M--以單用戶(hù)方式啟動(dòng)SDQServer。-rmastermirror--啟動(dòng)Master數(shù)據(jù)設(shè)備的映射。如果Master數(shù)據(jù)庫(kù)設(shè)備已經(jīng)被損壞,則使用這個(gè)選項(xiàng)啟動(dòng)SQLServer。將這個(gè)選項(xiàng)增加到用于startserver的RUN-servername文件中。說(shuō)明:·用dataserver命令而不是直接執(zhí)行dataserver程序可能會(huì)更好一些。詳細(xì)說(shuō)明,請(qǐng)參見(jiàn)startserver手冊(cè)。·SQLServer的運(yùn)行環(huán)境是從在sysconfigures系統(tǒng)表中的值及出來(lái)的。運(yùn)行系統(tǒng)過(guò)程sp_configure查看環(huán)境值;使用sp_configure和RECONFIGURE改變的環(huán)境。1.5.6defncopy功能:將一個(gè)數(shù)據(jù)庫(kù)中對(duì)指定視圖、規(guī)則、缺省值、觸發(fā)器、過(guò)程及報(bào)表的定義拷貝到一個(gè)操作系統(tǒng)文件中,或從一個(gè)操作系統(tǒng)文件將對(duì)上述概念的定義拷貝到數(shù)據(jù)庫(kù)中。注意:defncopy實(shí)用程序不能拷貝表定義。名法:defncopy[-Uusername][-Ppassword][-Sserver][-v][-Iinterfaces-file][-adisplay-charset][-zlanguage]{infilename|outfilenamedbname[owner..]objectname[[owner.]objectname]...}其中-Uusername--允許用戶(hù)指定一個(gè)注冊(cè)名。注冊(cè)名是區(qū)分字母大小寫(xiě)的。-Ppassword--允許用戶(hù)指定口令,如果-p不帶參數(shù),defncopy使用缺省口令(NULL)(在命令行的最后寫(xiě)-p)。如果未使用-p,則提示用戶(hù)輸表項(xiàng)令。-SServer--允許用戶(hù)指定所連接的SQLServer的名稱(chēng)。服務(wù)器名是區(qū)分字母大小寫(xiě)的,通常用大寫(xiě)字母。-Iinterfaces-file--允許用戶(hù)指定界面文件的名稱(chēng)和位置,搜索界面文件是與SQL服務(wù)器連接過(guò)程的一個(gè)部分。命名文件包含網(wǎng)絡(luò)上每一個(gè)可用SQLServer的名稱(chēng)各網(wǎng)絡(luò)地址。如果未使用該選項(xiàng),defncopy查找一個(gè)名為interfaces的文件。-adisplay-charser--指定defncopy用于non-iso-1終端的字符集翻譯文件。如果使用一個(gè)non-iso-1終端,這個(gè)選項(xiàng)保證當(dāng)回答defncopy的提問(wèn)時(shí),所在終端向SQL服務(wù)發(fā)送正確的字符。-v--顯示defncopy的版本號(hào)并返回操作系統(tǒng)。-zlanguage--是顯示defncopy提示及信息的替換語(yǔ)言的官方名稱(chēng)。如果未使用-z(language)選項(xiàng),則使用服務(wù)器默認(rèn)語(yǔ)言。可以在安裝時(shí),或以后使用實(shí)用程序langinstall或存儲(chǔ)過(guò)程,sp_addlanguage將語(yǔ)言加到SQLServer中。in|out--說(shuō)明拷貝的方向。filename--說(shuō)明操作系統(tǒng)文件名??匠鰧⒅貙?xiě)一個(gè)現(xiàn)有文件。dbname--說(shuō)明數(shù)據(jù)庫(kù)名。objectname--說(shuō)明defncopy拷出的數(shù)據(jù)庫(kù)對(duì)象名。當(dāng)拷入數(shù)據(jù)時(shí),不使用該參數(shù)。說(shuō)明:·defncopy程序直接由操作系統(tǒng)激話(huà)。defncopy提供了一個(gè)將規(guī)圖、規(guī)則、缺省值、觸發(fā)器、過(guò)程及數(shù)據(jù)庫(kù)報(bào)表的定義拷到一個(gè)操作系統(tǒng)文件的非交互式方法。反過(guò)來(lái),它可從一個(gè)指定文件中拷入所有定義。拷出定義時(shí),對(duì)syssofjects和syscomments表必須具有SELECT權(quán)限,對(duì)對(duì)象本身無(wú)須權(quán)限。grade使用最高的版本號(hào),同時(shí)給出一個(gè)警告信息。·langinstall比較它使用的每個(gè)本地文件的版本號(hào),即COMMON.LOC本地文件和SERVER.LOC本地文件。如果兩個(gè)版本不一樣,則langinstall打印一條警告信息。Syslanguages。upgrades通常是根據(jù)SERVER.LOC的版本設(shè)置的?!anginstall在安裝下列信息之前,做一些工作:·確認(rèn)每一個(gè)版本串有一個(gè)唯一的順序號(hào)。例如:“The%1!thatstartswith'%1'istoolong.MaxiumLengthis%3!”將被拒絕。·確認(rèn)轉(zhuǎn)換串中使用的最大順序號(hào)等于信息中轉(zhuǎn)換數(shù)。例如,“The%1!thatstartswith%3!astoolong.MarimumLengthis%4!.”將被拒絕?!ご_認(rèn)新信息與英文信息具有相同轉(zhuǎn)換串號(hào)?!ご_認(rèn)信息以升序排序,則每個(gè)信息號(hào)只出現(xiàn)一次。如果一個(gè)表項(xiàng)的錯(cuò)誤號(hào),與原來(lái)相同或比原來(lái)低,則打印一個(gè)警告信息。1.5.7showserver功能:顯示當(dāng)前在本地機(jī)上正在運(yùn)行的SQLServer。句法:showserver說(shuō)明·showserver打印有關(guān)SQLServer的進(jìn)程信息。如果沒(méi)有運(yùn)行的服務(wù)器,則只打印標(biāo)題?!摹鏢YBASE/install運(yùn)行showserver。1.5.8startserver功能:?jiǎn)?dòng)SQLServer。句法:startserver[-frunserverfile][-m]其中-frunserverfile--指定個(gè)運(yùn)行服務(wù)器文件名,每次重啟SQLServer時(shí),以這個(gè)文件為參考。缺省情況下,運(yùn)行服務(wù)器文件名為RUN-<servername>。如果在同一臺(tái)機(jī)器上啟動(dòng)第二個(gè)SQLServer,則建立一個(gè)新的運(yùn)行服務(wù)器文件RUN-<servername>startserver命令在啟動(dòng)服務(wù)器的目錄中建立一個(gè)錯(cuò)誤記錄文件(名為errorlong),并將這個(gè)信息加到運(yùn)行服務(wù)器文件中的SQLServer可執(zhí)行行的-E選項(xiàng)后。如果在同一臺(tái)機(jī)上啟動(dòng)了另一個(gè)SQLSrever,則建立一個(gè)新的錯(cuò)誤記錄文件errorlog-<servername>;這個(gè)信息加到相應(yīng)于這個(gè)服務(wù)器的運(yùn)行服務(wù)器文件中。對(duì)于指定的運(yùn)行服務(wù)器文件,用戶(hù)必須具有EXECUTE權(quán)限。-m--以單用戶(hù)方式啟動(dòng)SQLServer,并置allowupdates環(huán)境變量。這個(gè)方式用于恢復(fù)master數(shù)據(jù)庫(kù)。對(duì)于要求多個(gè)處理的系統(tǒng)管理行為;如成批拷貝或使用數(shù)據(jù)字典,系統(tǒng)管理員可以使用sp_dboption的dbouseonly選項(xiàng)。正常情況下,node,startserver只啟動(dòng)每個(gè)結(jié)點(diǎn)上的一個(gè)服務(wù)器。說(shuō)明:·Master數(shù)據(jù)庫(kù)設(shè)備對(duì)于啟動(dòng)SQLServer的用戶(hù)必須是可寫(xiě)的?!と绻成銶aster數(shù)據(jù)庫(kù)設(shè)備,在運(yùn)行服務(wù)器文件中的dataserver命令行上增加dataserver's-r限定調(diào)整及映射名。一個(gè)包含下面一行的運(yùn)行服務(wù)器文件;dataserver-d/dev/rxyla-eerrorlog-r/server/data/master.mir將使得startserve/dev/rxyla作為Master數(shù)據(jù)庫(kù)設(shè)備,文件master.mir作為Master數(shù)據(jù)庫(kù)設(shè)備的映射來(lái)啟動(dòng)SQLServer?!QLServer的運(yùn)行環(huán)境由sysconfigures系統(tǒng)表中的值設(shè)置,可以運(yùn)行系統(tǒng)過(guò)程sp_configure及Transact-SQL命令RECONFIGURE來(lái)查看或修改環(huán)境設(shè)置。1.5.9syman功能:顯示聯(lián)機(jī)的庫(kù)例程,系統(tǒng)過(guò)程及實(shí)用程序手冊(cè)。名法:symankeyword舉例:1)symanbcp顯示bcp實(shí)用程序手冊(cè)。2)symanpassword顯示系統(tǒng)過(guò)程sp_password手冊(cè)。說(shuō)明:·雖然系統(tǒng)過(guò)程名都以sp-打頭,但在syman實(shí)用程序中不需要使用這個(gè)前綴(見(jiàn)例2)。syman實(shí)用程序認(rèn)為聯(lián)機(jī)的文本文件放在根$SYBASE下的doc目錄中。1.6常用SQLServer命令介紹1.6.1數(shù)據(jù)類(lèi)型表的列的數(shù)據(jù)類(lèi)型規(guī)定該列將保存什么樣的信息(如字符、數(shù)字、日期等)以及數(shù)據(jù)如何存儲(chǔ),下面給出SQLServer的數(shù)據(jù)類(lèi)型:整數(shù)列,存放2×1031到-2×1031之間的所有數(shù),并包括2×1031-1到-2×1031。smallint:短整數(shù)列,存放到到2×1015到-2×1015之間的所有數(shù)。tinyint:超短整數(shù)列,存放0到255之間的數(shù),包括0和255。float:浮點(diǎn)列存放浮點(diǎn)數(shù)。其存儲(chǔ)單位是8字節(jié)。這種類(lèi)型用于存放正負(fù)小數(shù)和帶有指數(shù)的數(shù)值。real:和folat相同,只是它的存儲(chǔ)單位是4字節(jié)。char(n):字符列最多可存放255個(gè)字符長(zhǎng)度內(nèi)的字母、數(shù)字和符號(hào)的任何組合。用n來(lái)指定一列的最大長(zhǎng)度。其存儲(chǔ)單位是n。不管實(shí)際輸入值的長(zhǎng)度是多少,都被填成最大的長(zhǎng)度。varchar(n):可變長(zhǎng)字符列用來(lái)存放從1至255個(gè)字符長(zhǎng)的字母、數(shù)字和符號(hào)的任何組合。用n來(lái)指定一列的最大長(zhǎng)度。存儲(chǔ)單位是按照輸入數(shù)據(jù)的實(shí)際長(zhǎng)度,而不是n。text:文本列是一個(gè)可變長(zhǎng)度列,可存放多達(dá)3147,483,647字節(jié)的可印刷字符。binary(n):二進(jìn)制數(shù)據(jù)可存放多達(dá)255個(gè)字符長(zhǎng)的定長(zhǎng)二時(shí)制數(shù)據(jù)。二進(jìn)制數(shù)據(jù)類(lèi)型不能用于十六進(jìn)制的數(shù)據(jù),但可以是bit模式。它被用于存儲(chǔ)編程碼或圖像,而不能是十六進(jìn)制數(shù)。用n來(lái)指定一列的最大長(zhǎng)度。存儲(chǔ)單位是n,不管實(shí)際輸入長(zhǎng)度是多少。varbinary:變長(zhǎng)二進(jìn)制數(shù)據(jù)列,可存放多達(dá)255字節(jié)的變長(zhǎng)二進(jìn)制數(shù)據(jù)。二進(jìn)制數(shù)據(jù)類(lèi)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2021年湖北省隨州市公開(kāi)招聘警務(wù)輔助人員輔警筆試自考題2卷含答案
- 2022年四川省宜賓市公開(kāi)招聘警務(wù)輔助人員輔警筆試自考題1卷含答案
- 《高端養(yǎng)老地產(chǎn)研究》課件
- 2023-2024學(xué)年部編版八年級(jí)下冊(cè)期末語(yǔ)文模擬試卷 (六)(含解析)
- 高考全國(guó)2卷文綜歷史試題(解析版)
- 2024版公司股權(quán)轉(zhuǎn)讓居間標(biāo)準(zhǔn)合同
- 2024年銷(xiāo)售激勵(lì):銷(xiāo)售顧問(wèn)傭金合同模板3篇
- 2024年鏟車(chē)租賃合同糾紛解決辦法
- 2024年貨物采購(gòu)協(xié)議爭(zhēng)議解決條款
- 2023-2024年教師資格之中學(xué)數(shù)學(xué)學(xué)科知識(shí)與教學(xué)能力模擬考試試卷
- 銑刨機(jī)操作規(guī)程范文
- 鋼鐵行業(yè)用電分析
- 考研的重要性和必要性
- 掘進(jìn)機(jī)維修培訓(xùn)課件
- 導(dǎo)醫(yī)接待工作的溝通技巧與話(huà)術(shù)培訓(xùn)
- 觸電與應(yīng)急知識(shí)培訓(xùn)總結(jié)
- 分布式光伏高處作業(yè)專(zhuān)項(xiàng)施工方案
- 江蘇省南京市建鄴區(qū)2023-2024學(xué)年五年級(jí)上學(xué)期期末數(shù)學(xué)試卷.1
- 運(yùn)動(dòng)損傷的急救處理和康復(fù)
- 白內(nèi)障手術(shù)術(shù)后護(hù)理和飲食禁忌
- 設(shè)立生態(tài)農(nóng)業(yè)科技研發(fā)公司組建方案
評(píng)論
0/150
提交評(píng)論