【正文】
d in individual user databases.Temporary Stored Procedures Temporary stored procedures can be local, with names that start with a double pound symbol () ——local temporary stored procedures are available within a single user session。 it is not necessary to repile or relink the application. Command ObjectThe Command object is designed specifically to deal with mands of any sort, but especially those that require parameters. Like the Connection object, the Command object can run both mands that return recordsets as well as those that don39。t have parameters, then it really doesn39。its own. A stored procedure (or stored query as it39。 So why should we create and use a stored procedure instead of just creating a SQLplan, so the database knows exactly what it39。execution of the procedure faster. Stored procedures are often cached by the database, thus making them fastert have to be read from disk. Not all databases support thist, but SQL Server does. You can make your data a little bit more secure by specifying that your databasedangerous SQL operations generated on the fly may not be performed. You avoid cluttering your ASP code with lengthy SQL statements. This makesboth a recordset and other values. As a general rule, stored procedures will nearly alwaystext, and set the type accordingly. SQL Server 體系結(jié)構(gòu)1.通信SQL Server使用分層的通信體系結(jié)構(gòu),把應用程序和底層的網(wǎng)絡和協(xié)議隔離開來。通信體系結(jié)構(gòu)中的組件包括:應用程序、數(shù)據(jù)庫接、網(wǎng)絡庫、 客戶機和服務器可以同時使用多個NetLibrary,但是為了成功通信,它們必須使用一個公共的網(wǎng)絡庫。表數(shù)據(jù)流(TDS) 這是一個應用程序?qū)拥膮f(xié)議,用于客戶應用程序與SQL Server之間的通信。開放數(shù)據(jù)服務 這是一個SQL Server組件,處理網(wǎng)絡連接,把客戶的請求傳給SQL Server進行處理,并把任何結(jié)果和應答返回給SQL Server客戶。2.應用程序開發(fā)用戶通過使用一個數(shù)據(jù)對象接口或API寫的應用程序訪問SQL Server。 應用程序編程接口數(shù)據(jù)庫API定義如何寫一個應用程序連接到數(shù)據(jù)庫,和把命令傳遞給數(shù)據(jù)庫。使用數(shù)據(jù)庫API對應用程序行為和性能有更大的控制。OLE DB可以訪問SQL Server,其他關系數(shù)據(jù)庫和其他數(shù)據(jù)源中的數(shù)據(jù)。ODBC可以訪問SQL Server和其他關系數(shù)據(jù)庫中的數(shù)據(jù),但一般不能用于訪問其他數(shù)據(jù)源中的數(shù)據(jù)。ActiveX數(shù)據(jù)對象(ADO) ActiveX數(shù)據(jù)對象(ADO)在一個簡化的數(shù)據(jù)模型中封裝OLE DB API,降低了應用程序開發(fā)和維護的成本。遠程數(shù)據(jù)對象(RDO) RDO映射和封裝ODBC API,可以從Microsoft Visual Basic和Visual Basic for Applications中使用。在設計一個SQL Server應用程序之前,花一些時間設計一個數(shù)據(jù)庫對業(yè)務對象準確建模是很重要的。選擇的體系結(jié)構(gòu)將影響如何開發(fā)、部署和管理軟件應用程序??梢园衍浖贸绦蚍譃?個邏輯層,他們可以位于一個或多個服務器上。在許多例子中,業(yè)務服務邏輯的大部分在數(shù)據(jù)庫中實現(xiàn)。但是,服務器會變成一個瓶頸,因為數(shù)據(jù)庫和業(yè)務服務競爭相同的硬件資源。智能客戶機(兩層) 大多數(shù)處理發(fā)生在客戶機上,而數(shù)據(jù)服務在服務器上處理。使用Microsoft Access這樣的產(chǎn)品為小單位開發(fā)的應用程序是這種設計的一個例子。這個方法把邏輯與數(shù)據(jù)服務分開,可以根據(jù)需要很容易添加更多的應用程序服務器或數(shù)據(jù)庫服務器。多層企業(yè)應用程序和使用事務處理監(jiān)視程序開發(fā)的應用程序是這種設計的一個例子。有瀏覽器的任何客戶機都可以被支持,且軟件不需要在客戶機上維護。 Server數(shù)據(jù)庫實現(xiàn)一個SQL Server數(shù)據(jù)庫意味著計劃,創(chuàng)建和維護一些相互關聯(lián)的組件。例如,一個數(shù)據(jù)可以很簡單,有一個人設計即可;它也可以很大,很復雜,處理成千上萬客戶的銀行事務。設計數(shù)據(jù)庫。包括表、數(shù)據(jù)庫完整性機制、數(shù)據(jù)輸入和獲取對象(常常是存儲過程)、合適的索引、和安全策略。測試和調(diào)試應用程序與數(shù)據(jù)庫。正確的數(shù)據(jù)庫設計、索引的的正確使用、RAID和文件組,它們的組合對于獲得好的性能是必需的。設計應用。包括配置服務器和客戶機,監(jiān)視服務器性能,管理作業(yè)、報警和操作員,管理安全策略,和管理數(shù)據(jù)庫備份過程。存儲過程是SQL語句的命名集合,存放在服務器上。Microsoft SQL Server :(1)系統(tǒng)存儲過程(sp_)系統(tǒng)存儲過程(由前綴sp標識)存放master數(shù)據(jù)庫中,提供獲取系統(tǒng)表信息的快捷方式。(3)臨時存儲過程臨時存儲過程可以是局部的,名字前有一個磅符(#),也可以是全局的,名字前有兩個磅符(##);局部臨時存儲過程在單個用戶會話中可用,全局臨時存儲過程在所有會話中都可用。微軟開放式數(shù)據(jù)庫連接(ODBC )接口是為了應用從各種各樣的數(shù)據(jù)庫管理系統(tǒng)( DBMS )使之有可能到訪問數(shù)據(jù)的一種C編程語言接口。 進而,請求將不依賴于它從其中訪問數(shù)據(jù)的任何DBMS。開放式數(shù)據(jù)庫連接( ODBC )是數(shù)據(jù)庫訪問的廣泛地可接受的應用編寫程序接口( API )。ODBC被設計用于能允許使用相同源代碼通過單一請求訪問不同數(shù)據(jù)庫管理系統(tǒng)的最大限度聯(lián)機操作。對驅(qū)動程序的使用將應用程序與具體數(shù)據(jù)庫隔開,如打印機驅(qū)動程序?qū)⒆痔幚砼c打印機具體的命令隔開一樣。Command對象特定地為處理各種類型的命令而設計,特別是那些需要參數(shù)的命令。實際上,如果命令不含有參數(shù),那么它并不關心是使用Connection對象,還是Command對象,還是Recordset對象。存儲過程(有時也稱存儲查詢)是存儲在數(shù)據(jù)庫中預先定義的SQL查詢語句。這樣可以產(chǎn)生一個“執(zhí)行計劃”,因此數(shù)據(jù)庫確切地知道它將做什么,從而加快了過程的執(zhí)行速度。并非所有的數(shù)據(jù)庫都支持這種緩存機制,比如微軟的Access 就不支持,而SQL Server卻支持。這意味著具有潛在危險的SQL操作不會執(zhí)行。? 可以將所有SQL代碼集中存放于服務器。一般說來,存儲過程幾乎總是比相當?shù)腟QL語句執(zhí)行速度快。