Microsoft SQL Server 2008安裝及基礎(chǔ)配置教程_第1頁(yè)
Microsoft SQL Server 2008安裝及基礎(chǔ)配置教程_第2頁(yè)
Microsoft SQL Server 2008安裝及基礎(chǔ)配置教程_第3頁(yè)
Microsoft SQL Server 2008安裝及基礎(chǔ)配置教程_第4頁(yè)
Microsoft SQL Server 2008安裝及基礎(chǔ)配置教程_第5頁(yè)
已閱讀5頁(yè),還剩74頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

MicrosoftSQLServer2008安裝及基礎(chǔ)配置教程前言本書針對(duì)那些想成為開(kāi)發(fā)人員、數(shù)據(jù)庫(kù)管理員或者兼為兩者,但對(duì)SQLServer2008還不熟悉的讀者。無(wú)論你是否擁有數(shù)據(jù)庫(kù)知識(shí),是否了解桌面數(shù)據(jù)庫(kù)(如MicrosoftAccess),甚至是否具有服務(wù)器(如Oracle)的背景,本書都能為你提供SQLServer2008入門和運(yùn)行的知識(shí)。從現(xiàn)在開(kāi)始,本書將使你的基礎(chǔ)知識(shí)得以擴(kuò)展,讓你很快從初學(xué)者成長(zhǎng)為合格的專業(yè)開(kāi)發(fā)人員。本書面向廣大開(kāi)發(fā)人員,從喜歡使用圖形界面的程序員,到希望成為SQLServer2008編程語(yǔ)言TransactSQL(T-SQL)高手的程序員。本書將盡可能貼近實(shí)際地演示、說(shuō)明和展開(kāi)敘述每一種使用SQLServer2008的方法,以便你能夠判斷哪種方式最適合自己。本書包含大量的示例,以使你了解SQLServer的各個(gè)領(lǐng)域是如何工作的,以及怎樣才能把技術(shù)應(yīng)用到自己的工作中。你將學(xué)習(xí)完成某項(xiàng)任務(wù)的最佳方法,你甚至能學(xué)會(huì)在面臨兩個(gè)或更多的選擇時(shí),如何做出正確的決策。只要學(xué)習(xí)完本書,你就能游刃有余地設(shè)計(jì)和創(chuàng)建堅(jiān)實(shí)可靠的數(shù)據(jù)庫(kù)解決方案。讀者對(duì)象本書適用的對(duì)象是剛開(kāi)始使用SQLServer2008的開(kāi)發(fā)人員,或立志成為數(shù)據(jù)庫(kù)管理人員的讀者。本書在結(jié)構(gòu)安排上兼顧了這兩類讀者。本書的結(jié)構(gòu)本書將幫助你決定購(gòu)買SQLServer2008的哪種版本,為你展示如何安裝和配置SQLServer2008,并闡釋如何使用圖形用戶界面工具SSMS(SQLServerManagementStudio)。你將使用該工具完成一個(gè)功能完備的數(shù)據(jù)庫(kù)示例,該數(shù)據(jù)庫(kù)根據(jù)本書中介紹的設(shè)計(jì)方案,利用圖形的和基于代碼的練習(xí)創(chuàng)建而成。然后,你將學(xué)習(xí)數(shù)據(jù)庫(kù)安全方面的知識(shí),并了解如何實(shí)施安全可靠的數(shù)據(jù)庫(kù)設(shè)置。只要備份了數(shù)據(jù)庫(kù),你就可以學(xué)習(xí)如何操作數(shù)據(jù)。先從簡(jiǎn)單的代碼編寫技術(shù)入手,逐漸過(guò)渡到更加復(fù)雜的技術(shù)。最后的任務(wù)是在數(shù)據(jù)庫(kù)上創(chuàng)建和生成報(bào)表。本書會(huì)貫穿始終地說(shuō)明每一個(gè)細(xì)節(jié),告知你正在發(fā)生什么,并確保隨著對(duì)本書閱讀的深入,你將在從之前章節(jié)中獲取的知識(shí)上,不斷提高。你將以一種有條理、有組織的方式發(fā)展構(gòu)筑自己的專業(yè)知識(shí)。必要準(zhǔn)備要學(xué)習(xí)本書,你必須有SQLServer2008開(kāi)發(fā)版本的完整版或評(píng)估版。此外,如果想要為特定的Windows登錄更改安全設(shè)置,有WindowsVista旗艦版或商業(yè)版將十分理想,但并非必須如此。代碼下載可以通過(guò)出版社網(wǎng)站下載本書的示例代碼[請(qǐng)到圖靈網(wǎng)站()本書網(wǎng)頁(yè)免費(fèi)注冊(cè)下載?!幷咦。聯(lián)系作者可以通過(guò)發(fā)郵件到robin@來(lái)聯(lián)系RobinDewson,也可以通過(guò)他的網(wǎng)站(http://www.)與他取得聯(lián)系。致謝這里,要再次感謝許許多多的人:感謝熱心的DamianFisher,多謝你教我打鼓;感謝Andrew和host-itInternetSolutions(我的ISP)的所有人,謝謝你們?nèi)萑涛以赟QLServer和DotNetNuke上喋喋不休的爭(zhēng)辯;感謝我的老板BillCotton和AubreyLomas,以及在LehmanBrothers的同事AndrewO’Donnell,還有優(yōu)秀的數(shù)據(jù)庫(kù)管理員AndrewHarding;感謝我大學(xué)時(shí)的好朋友RobertMcMillan(Toad),時(shí)隔多年,我們才又取得了聯(lián)系;還要感謝SimonCollier,我們每周打乒乓球,你總把我打得無(wú)還手之力;感謝BedfordBlues橄欖球俱樂(lè)部的所有人,你們讓我每個(gè)周六都激動(dòng)不已。由于許許多多的原因,我必須感謝RedGateSoftware的幾個(gè)人,他們是TonyDavis和RichardCollins。多年來(lái),在我的SQLServer工作中,TonyDavis一直是那么出色,而RichardCollins安排了Apress和RedGate的合作。此外,還要感謝SalarO的SalarGolestanian,他制作了精美的皮膚,我把它們用在我的網(wǎng)站建設(shè)上。同樣,要感謝我的岳母Jean,多謝她極為出色地處理需要解決的事情,并讓我的妻子保持頭腦清醒。還要感謝我已故的岳父David,對(duì)我們?nèi)襾?lái)說(shuō),他是一個(gè)十分英明的人。當(dāng)然,還要感謝Apress的全體人員,特別是為本書提供幫助的KylieJohnston和JonathanGennick,以及PaulCarlstroem和GaryCornell。最后,還得感謝Barr夫婦,多謝他們配制的蘇格蘭另類民族飲料。SQLServer2008基礎(chǔ)教程目錄目錄第1章SQLServer2008概述和安裝1

1.1為什么選擇SQLServer20081

1.2SQLServer的發(fā)展3

1.3硬件要求4

1.3.1CPU4

1.3.2內(nèi)存4

1.3.3硬盤空間5

1.3.4操作系統(tǒng)要求5

1.4示例5

1.5安裝5

1.5.1開(kāi)始安裝6

1.5.2選擇要安裝的功能7

1.5.3為實(shí)例命名9

1.5.4選擇服務(wù)賬戶10

1.5.5選擇身份驗(yàn)證模式10

1.5.6確定數(shù)據(jù)目錄的位置11

1.5.7創(chuàng)建報(bào)表服務(wù)數(shù)據(jù)庫(kù)12

1.5.8配置錯(cuò)誤和使用情況報(bào)告13

1.6安全性14

1.6.1服務(wù)賬戶14

1.6.2身份驗(yàn)證模式15

1.6.3sa登錄19

1.7小結(jié)20

第2章SSMS21

2.1SSMS概覽21

2.2SSMS的選項(xiàng)29

2.2.1“環(huán)境”節(jié)點(diǎn)29

2.2.2“源代碼管理”節(jié)點(diǎn)31

2.2.3“文本編輯器”節(jié)點(diǎn)31

2.2.4

“查詢執(zhí)行”節(jié)點(diǎn)33

2.2.5“查詢結(jié)果”節(jié)點(diǎn)35

2.3查詢編輯器41

2.4小結(jié)42

第3章設(shè)計(jì)和創(chuàng)建數(shù)據(jù)庫(kù)43

3.1

數(shù)據(jù)庫(kù)的定義44

3.2

SQLServer中的預(yù)建數(shù)據(jù)庫(kù)45

3.2.1

master45

3.2.2

tempdb46

3.2.3

model47

3.2.4

msdb47

3.2.5

AdventureWorks/Adventure-WorksDW47

3.3

選擇數(shù)據(jù)庫(kù)系統(tǒng)類型48

3.3.1

OLTP48

3.3.2

OLAP49

3.3.3

示例系統(tǒng)類型選擇49

3.4

收集數(shù)據(jù)49

3.5

確定要存儲(chǔ)在數(shù)據(jù)庫(kù)中的信息51

3.5.1

金融產(chǎn)品52

3.5.2

客戶52

3.5.3

客戶地址52

3.5.4

股票52

3.5.5

交易53

3.6

外部信息和忽略的信息53

3.7

建立關(guān)系53

3.7.1

使用鍵53

3.7.2

創(chuàng)建關(guān)系55

3.7.3

關(guān)于外鍵的更多信息57

3.8

規(guī)范化59

3.8.1

每一個(gè)實(shí)體都應(yīng)該有唯一的標(biāo)識(shí)符59

3.8.2

只存儲(chǔ)與實(shí)體直接有關(guān)的信息60

3.8.3

避免重復(fù)值或重復(fù)列60

3.8.4

范式60

3.8.5

非規(guī)范化62

3.9

創(chuàng)建示例數(shù)據(jù)庫(kù)62

3.9.1

在SSMS中創(chuàng)建數(shù)據(jù)庫(kù)62

3.9.2

在SSMS中刪除數(shù)據(jù)庫(kù)75

3.9.3

在查詢編輯器中創(chuàng)建數(shù)據(jù)庫(kù)77

3.10

小結(jié)80

第4章安全和遵從規(guī)范81

4.1

登錄名81

4.2

服務(wù)器登錄名和數(shù)據(jù)庫(kù)用戶89

4.3

角色90

4.3.1

固定服務(wù)器角色90

4.3.2

數(shù)據(jù)庫(kù)角色92

4.3.3

應(yīng)用程序角色92

4.4

架構(gòu)95

4.5

在解決方案中進(jìn)行下去之前96

4.6陳述式管理框架99

4.7

小結(jié)104

第5章定義表106

5.1

什么是表106

5.2

SQLServer數(shù)據(jù)類型107

5.2.1

表中的數(shù)據(jù)類型108

5.2.2

程序中的數(shù)據(jù)類型113

5.3

列不僅僅是簡(jiǎn)單的數(shù)據(jù)存儲(chǔ)庫(kù)113

5.3.1

默認(rèn)值113

5.3.2

生成IDENTITY值113

5.3.3

NULL值的使用114

5.3.4

為什么要定義允許NULL值的列114

5.4

在SQLServer中存儲(chǔ)圖像和大型文本115

5.5

在SSMS中創(chuàng)建表115

5.6

通過(guò)查詢編輯器創(chuàng)建表120

5.7

創(chuàng)建表:使用模板122

5.8

創(chuàng)建模板和修改模板125

5.9

ALTERTABLE語(yǔ)句126

5.10

定義其余的表127

5.11

設(shè)置主鍵128

5.12

創(chuàng)建關(guān)系129

5.12.1

在創(chuàng)建時(shí)檢查現(xiàn)有數(shù)據(jù)131

5.12.2

強(qiáng)制外鍵約束132

5.12.3

選擇刪除/更新規(guī)則132

5.13

通過(guò)T-SQL語(yǔ)句建立關(guān)系133

5.14

小結(jié)134

第6章創(chuàng)建索引和數(shù)據(jù)庫(kù)關(guān)系圖135

6.1

什么是索引135

6.1.1

索引類型136

6.1.2

唯一性137

6.2

確定是什么創(chuàng)建了好的索引138

6.2.1

使用低維護(hù)列138

6.2.2

主鍵和外鍵139

6.2.3

找到指定記錄139

6.2.4

使用覆蓋索引139

6.2.5

查找信息范圍139

6.2.6

保持?jǐn)?shù)據(jù)的排序140

6.3

確定是什么導(dǎo)致了壞的索引140

6.3.1

使用了不合適的列140

6.3.2

選擇了不合適的數(shù)據(jù)141

6.3.3

包含了過(guò)多的列141

6.3.4

表中包含的記錄過(guò)少141

6.4

針對(duì)性能對(duì)索引進(jìn)行審查141

6.5

創(chuàng)建索引142

6.5.1

用表設(shè)計(jì)器創(chuàng)建索引142

6.5.2

索引和統(tǒng)計(jì)信息145

6.5.3

CREATEINDEX語(yǔ)法145

6.5.4

在查詢編輯器中創(chuàng)建索引:模板148

6.5.5

在查詢編輯器中創(chuàng)建索引:SQL代碼151

6.6

刪除索引153

6.7

在查詢編輯器中修改索引154

6.8

當(dāng)索引不存在時(shí)155

6.9

為數(shù)據(jù)庫(kù)生成關(guān)系圖156

6.9.1

數(shù)據(jù)庫(kù)關(guān)系圖基礎(chǔ)156

6.9.2

SQLServer數(shù)據(jù)庫(kù)關(guān)系圖工具157

6.9.3

默認(rèn)的數(shù)據(jù)庫(kù)關(guān)系圖158

6.9.4

數(shù)據(jù)庫(kù)關(guān)系圖工具條160

6.10

小結(jié)162

第7章數(shù)據(jù)庫(kù)的備份、還原和維護(hù)163

7.1

事務(wù)日志164

7.2

備份策略166

7.3

當(dāng)可能發(fā)生錯(cuò)誤時(shí)167

7.4

讓數(shù)據(jù)庫(kù)脫機(jī)168

7.5

備份數(shù)據(jù)169

7.5.1

使用T-SQL備份數(shù)據(jù)庫(kù)174

7.5.2

使用T-SQL進(jìn)行日志備份180

7.6

還原數(shù)據(jù)庫(kù)182

7.6.1

使用SSMS還原數(shù)據(jù)183

7.6.2

使用T-SQL進(jìn)行還原185

7.7

分離和附加數(shù)據(jù)庫(kù)189

7.7.1

使用SSMS進(jìn)行分離和附加操作189

7.7.2

使用T-SQL進(jìn)行分離和附加操作193

7.8

為數(shù)據(jù)庫(kù)生成SQL腳本195

7.9

維護(hù)數(shù)據(jù)庫(kù)201

7.10

創(chuàng)建數(shù)據(jù)庫(kù)維護(hù)計(jì)劃201

7.11

設(shè)置數(shù)據(jù)庫(kù)郵件213

7.12

修改維護(hù)計(jì)劃221

7.13

小結(jié)224

第8章操作數(shù)據(jù)225

8.1

T-SQL的INSERT命令的語(yǔ)法225

8.2

SQL命令I(lǐng)NSERT226

8.2.1

默認(rèn)值229

8.2.2

使用NULL值229

8.3

DBCCCHECKIDENT232

8.4

列約束234

8.5

同時(shí)插入多條記錄238

8.6

檢索數(shù)據(jù)239

8.7

使用SSMS檢索數(shù)據(jù)240

8.8

SELECT語(yǔ)句241

8.9

指定列243

8.10

第一批搜索243

8.11

改變輸出的顯示245

8.12

限制搜索:WHERE的使用247

8.12.1

SETROWCOUNTn249

8.12.2

TOPn250

8.12.3

TOPnPERCENT251

8.13

字符串函數(shù)251

8.14

順序!順序!253

8.15

LIKE運(yùn)算符254

8.16

生成數(shù)據(jù):SELECTINTO256

8.17

誰(shuí)能添加、刪除或選取數(shù)據(jù)257

8.18

更新數(shù)據(jù)261

8.18.1

UPDATE命令262

8.18.2

在查詢編輯器中更新數(shù)據(jù)263

8.19

事務(wù)266

8.19.1

BEGINTRAN267

8.19.2

COMMITTRAN268

8.19.3

ROLLBACKTRAN268

8.19.4

鎖定數(shù)據(jù)268

8.19.5

更新數(shù)據(jù):使用事務(wù)269

8.19.6

嵌套事務(wù)270

8.20

刪除數(shù)據(jù)272

8.20.1

DELETE的語(yǔ)法272

8.20.2

使用DELETE語(yǔ)句272

8.21

截?cái)啾恚▌h除表中的所有行)274

8.22

刪除表275

8.23

小結(jié)275

第9章構(gòu)建視圖277

9.1

為什么要構(gòu)建視圖278

9.2

針對(duì)安全而使用查詢278

9.3

加密視圖定義279

9.4

創(chuàng)建視圖:SSMS280

9.5

使用視圖來(lái)創(chuàng)建視圖284

9.6

CREATEVIEW語(yǔ)法289

9.7

創(chuàng)建視圖:查詢編輯器窗格290

9.8

創(chuàng)建視圖:SCHEMABINDING291

9.9

為視圖設(shè)置索引293

9.10

小結(jié)295

第10章存儲(chǔ)過(guò)程和函數(shù)297

10.1

什么是存儲(chǔ)過(guò)程298

10.2

CREATEPROCEDURE語(yǔ)法298

10.3

返回一系列記錄301

10.4

創(chuàng)建存儲(chǔ)過(guò)程:SSMS301

10.5

執(zhí)行存儲(chǔ)過(guò)程的不同方法305

10.5.1

不使用EXEC305

10.5.2

使用EXEC305

10.6

使用RETURN305

10.7

控制流程309

10.7.1

IF...ELSE309

10.7.2

BEGIN...END310

10.7.3

WHILE...BREAK語(yǔ)句310

10.7.4

CASE語(yǔ)句312

10.8

綜合應(yīng)用314

10.9

用戶定義函數(shù)316

10.9.1

標(biāo)量函數(shù)316

10.9.2

表值函數(shù)317

10.9.3

創(chuàng)建用戶定義函數(shù)時(shí)要考慮的事項(xiàng)317

10.10

小結(jié)319

第11章T-SQL基礎(chǔ)320

11.1

使用多個(gè)表320

11.2

變量325

11.3

臨時(shí)表326

11.4

聚合328

11.4.1

COUNT/COUNT_BIG329

11.4.2

SUM329

11.4.3

MAX/MIN330

11.4.4

AVG330

11.5

分組數(shù)據(jù)331

11.6

HAVING332

11.7

獨(dú)特值333

11.8

函數(shù)333

11.8.1

日期和時(shí)間函數(shù)334

11.8.2

字符串函數(shù)336

11.8.3

系統(tǒng)函數(shù)340

11.9

RAISERROR343

11.10

錯(cuò)誤處理347

11.11

@@ERROR347

11.12

TRY...CATCH348

11.13

小結(jié)351

第12章高級(jí)T-SQL352

12.1

子查詢352

12.1.1

IN354

12.1.2

EXISTS354

12.1.3

了結(jié)未了之事355

12.2

APPLY運(yùn)算符356

12.2.1

CROSSAPPLY357

12.2.2

OUTERAPPLY358

12.3

公用表表達(dá)式358

12.4

透視數(shù)據(jù)361

12.4.1

PIVOT361

12.4.2

UNPIVOT363

12.5

排名函數(shù)363

12.5.1

ROW_NUMBER364

12.5.2

RANK366

12.5.3

DENSE_RANK366

12.5.4

NTILE367

12.6

SQLServer中的PowerShell367

12.7

小結(jié)371

第13章觸發(fā)器372

13.1

什么是觸發(fā)器372

13.2

DML觸發(fā)器373

13.3

針對(duì)DML觸發(fā)器的CREATETRIGGER語(yǔ)法374

13.4

為什么不使用約束375

13.5

對(duì)邏輯表進(jìn)行刪除和插入376

13.6

創(chuàng)建DMLFOR觸發(fā)器377

13.7

檢查特定的列380

13.7.1

使用UPDATE()380

13.7.2

使用COLUMNS_UPDATED()384

13.8

DDL觸發(fā)器387

13.8.1

DDL_DATABASE_LEVEL_EVENTS387

13.8.2

刪除DDL觸發(fā)器389

13.8.3

EVENTDATA()389

13.9

小結(jié)392

第14章SQLServer2008ReportingServices393

14.1

ReportingServices的架構(gòu)394

14.2

配置ReportingServices395

14.3

使用報(bào)表設(shè)計(jì)器構(gòu)建第一個(gè)報(bào)表400

14.4

小結(jié)4061.1為什么選擇SQLServer2008第1章SQLServer2008概述和安裝歡迎閱讀本書。如果你對(duì)SQLServer2008尚不了解,但對(duì)使用MicrosoftSQLServer2008創(chuàng)建解決方案很有興趣,本書就是為你編寫的。你可能熟悉其他一些數(shù)據(jù)庫(kù)(如MySQL、Oracle或者M(jìn)icrosoftAccess),但相對(duì)于其他的數(shù)據(jù)庫(kù)產(chǎn)品,SQLServer無(wú)論是在界面上還是在工作方式上都有所不同。本書旨在使讀者快速達(dá)到游刃有余地使用SQLServer2008進(jìn)行開(kāi)發(fā)的水平。本書專門針對(duì)SQLServer2008的新手,以及即將開(kāi)始使用SQLServer2008的讀者,同時(shí),它還適用于那些曾經(jīng)使用SQLServer2005并想快速掌握學(xué)習(xí)SQLServer2008的方法的讀者。本書對(duì)于讀者理解市面上其他數(shù)據(jù)庫(kù)產(chǎn)品的基礎(chǔ)知識(shí)也大有裨益,尤其是在使用T-SQL方面。由于許多數(shù)據(jù)庫(kù)都使用基于ANSI標(biāo)準(zhǔn)的SQL,因此在學(xué)完本書之后,從SQLServer轉(zhuǎn)向Oracle、Sybase等數(shù)據(jù)庫(kù)也更為容易。本章包含以下主題。為什么選擇SQLServer2008?怎樣知道硬件是否符合要求?是否可以確定擁有合適的操作系統(tǒng)?使用SQLServer2008能夠做什么?接下來(lái)關(guān)注所選定版本的安裝,并介紹以下內(nèi)容。在WindowsXP平臺(tái)上安裝SQLServer2008。默認(rèn)沒(méi)有安裝的選項(xiàng)。SQLServer實(shí)際上安裝在何處?一臺(tái)計(jì)算機(jī)上的多個(gè)安裝。SQLServer在機(jī)器上如何運(yùn)行?如何實(shí)現(xiàn)安全性?SQLServer的登錄ID,特別是sa(系統(tǒng)管理員)登錄。1.1為什么選擇SQLServer2008下面的論述是我個(gè)人的觀點(diǎn),無(wú)疑與其他人的觀點(diǎn)會(huì)有所不同,但討論的基礎(chǔ)是沒(méi)有問(wèn)題的。SQLServer面對(duì)的數(shù)據(jù)庫(kù)競(jìng)爭(zhēng)產(chǎn)品,不僅有同樣來(lái)自微軟的其他數(shù)據(jù)庫(kù)(如MicrosoftAccess和MicrosoftVisualFoxPro),而且還有來(lái)自競(jìng)爭(zhēng)對(duì)手的數(shù)據(jù)庫(kù)(如Oracle、Sybase、DB2和Informix等)。大量的PC上都運(yùn)行著MicrosoftAccess。多年來(lái),該數(shù)據(jù)庫(kù)一直是一些版本的Office軟件包中的一個(gè)組件,這一事實(shí)使得MicrosoftAccess的身影隨處可見(jiàn)。事實(shí)上許多人的確在使用這種數(shù)據(jù)庫(kù)。遺憾的是,這種數(shù)據(jù)庫(kù)在可擴(kuò)縮性、速度以及靈活性上都有局限性。當(dāng)然對(duì)于許多小型的內(nèi)部系統(tǒng)而言,它們不需要太強(qiáng)的數(shù)據(jù)庫(kù)功能,因而這些方面的不足并不算是問(wèn)題。那么,來(lái)看看與SQLServer真正旗鼓相當(dāng)?shù)膶?duì)手:Oracle和Sybase。在數(shù)據(jù)庫(kù)領(lǐng)域,Oracle常常被認(rèn)為是市場(chǎng)領(lǐng)導(dǎo)者,有著非常龐大的用戶基礎(chǔ)。雖然在安裝和管理上,Oracle比SQLServer復(fù)雜些,但不可否認(rèn),它是一個(gè)非常棒的產(chǎn)品,非常適宜為大公司提供大型解決方案。Oracle有許多部件,這使得該產(chǎn)品功能強(qiáng)大,在可擴(kuò)縮性和性能方面不可小覷。Oracle還非常靈活,允許使用者按需要添加工具,在這一方面Oracle比SQLServer具有更強(qiáng)的適應(yīng)性。例如,無(wú)論用戶是否需要使用新的.NET特性,SQLServer2008都要求用戶必須在服務(wù)器上安裝.NETFramework。然而,從開(kāi)發(fā)者的角度來(lái)看,Oracle的使用在許多方面都不太方便,例如,專門的SQLQuery工具、XML和Web技術(shù)工具,以及建立完整數(shù)據(jù)庫(kù)解決方案的方式。Oracle的其他一些缺點(diǎn)還包括它較高的價(jià)格以及在安裝和高效運(yùn)行上的復(fù)雜性。盡管SQLServer也能同樣高效地工作,但Web搜索引擎還是廣泛地使用Oracle。具有新功能的SQLServer2008將給Oracle帶來(lái)壓力,迫使其擴(kuò)展現(xiàn)有的功能以迎接挑戰(zhàn)。SQLServer采取的向來(lái)是一次性購(gòu)買的解決方案,如果購(gòu)買了正確版本的SQLServer,那么用于分析數(shù)據(jù)或從一個(gè)數(shù)據(jù)源(如Excel)向SQLServer中復(fù)制數(shù)據(jù)的所有工具都將包含于其中。而對(duì)于Oracle,必須額外購(gòu)買所需要的每一個(gè)附加特性。接著來(lái)看看Sybase。Sybase與SQLServer十分相似,它們之間的主要不同是:Sybase沒(méi)有圖形用戶界面前端。主要用于小規(guī)模安裝的SybaseiAnywhere是有前端的,但高端的Sybase沒(méi)有。有些人可能認(rèn)為圖形用戶界面前端首先是為那些不懂如何寫代碼的人準(zhǔn)備的(當(dāng)然,這是他們的一家之言),因而沒(méi)有必要設(shè)計(jì)圖形用戶界面前端,但是既然指向、點(diǎn)擊和拖動(dòng)就可以搞定,為什么還要按下60多個(gè)鍵呢?雖然Sybase有用于Windows的版本,但它主要還是用在UNIX上。盡管可以通過(guò)工具從Windows的機(jī)器連接到UNIX上的Sybase,但依然要完全用代碼來(lái)建立數(shù)據(jù)庫(kù)解決方案。Sybase非??煲彩址€(wěn)健,一年通常只需重啟一兩次。關(guān)于Sybase的另一點(diǎn)是,它沒(méi)有SQLServer那樣豐富的命令和特性。SQLServer有更加強(qiáng)大的編程語(yǔ)言,功能也比Sybase強(qiáng)大。每個(gè)數(shù)據(jù)庫(kù)都有其特有的SQL語(yǔ)法,盡管它們的基本SQL語(yǔ)法是一致的,即公認(rèn)的ANSI-92標(biāo)準(zhǔn)。這意味著用于檢索數(shù)據(jù)等的語(yǔ)法在數(shù)據(jù)庫(kù)之間是相同的,但每個(gè)數(shù)據(jù)庫(kù)用于維護(hù)的語(yǔ)法是其自身特有的。若試圖在一個(gè)數(shù)據(jù)庫(kù)中使用源自另一個(gè)數(shù)據(jù)庫(kù)的獨(dú)特SQL語(yǔ)法,可能是無(wú)效的,也可能所起的作用大相徑庭。因此,SQLServer在數(shù)據(jù)庫(kù)市場(chǎng)中似乎是最佳的選擇,而且在很多情形下也確實(shí)如此。它可以小到只用于少量用戶,也可以大到足以支持最大的企業(yè)。它沒(méi)有Oracle或者Sybase那樣高的價(jià)錢,但卻能向上擴(kuò)展并處理太字節(jié)(TB)的數(shù)據(jù)而無(wú)需太多的考慮。你將會(huì)發(fā)現(xiàn),SQLServer易于安裝,并且由于SQLServer的大多數(shù)功能在一個(gè)完整的包中,當(dāng)需要剩余的功能時(shí),執(zhí)行簡(jiǎn)單的安裝就夠了。既然知道了為何選擇SQLServer,接下來(lái)需要了解市面上有哪些可以購(gòu)買的SQLServer版本,每種版本針對(duì)的市場(chǎng)是什么,什么版本對(duì)你最合適,以及你的機(jī)器上能夠運(yùn)行什么版本。1.2SQLServer的發(fā)展1.2SQLServer的發(fā)展SQLServer經(jīng)歷多年后發(fā)展到了今天的產(chǎn)品。表1-1概述了這一發(fā)展歷程。表1-1SQLServer發(fā)展歷程年份版本說(shuō)明1988SQLServer與Sybase共同開(kāi)發(fā)的、運(yùn)行于OS/2上的聯(lián)合應(yīng)用程序1993SQLServer4.2一種桌面數(shù)據(jù)庫(kù)一種功能較少的桌面數(shù)據(jù)庫(kù),能夠滿足小部門數(shù)據(jù)存儲(chǔ)和處理的需求。數(shù)據(jù)庫(kù)與Windows集成,界面易于使用并廣受歡迎1994微軟與Sybase終止合作關(guān)系1995SQLServer6.05一種小型商業(yè)數(shù)據(jù)庫(kù)對(duì)核心數(shù)據(jù)庫(kù)引擎做了重大的改寫。這是首次“意義非凡”的發(fā)布,性能得以提升,重要的特性得到增強(qiáng)。在性能和特性上,盡管以后的版本還有很長(zhǎng)的路要走,但這一版本的SQLServer具備了處理小型電子商務(wù)和內(nèi)聯(lián)網(wǎng)應(yīng)用程序的能力,而在花費(fèi)上卻少于其他的同類產(chǎn)品1996SQLServer6.5SQLServer逐漸突顯實(shí)力,以至于Oracle推出了運(yùn)行于NT平臺(tái)上的7.1版本作為直接的競(jìng)爭(zhēng)1998SQLServer7.0一種Web數(shù)據(jù)庫(kù)再一次對(duì)核心數(shù)據(jù)庫(kù)引擎進(jìn)行了重大改寫。這是相當(dāng)強(qiáng)大的、具有豐富特性的數(shù)據(jù)庫(kù)產(chǎn)品的明確發(fā)布,該數(shù)據(jù)庫(kù)介于基本的桌面數(shù)據(jù)庫(kù)(如MicrosoftAccess)與高端企業(yè)級(jí)數(shù)據(jù)庫(kù)(如Oracle和DB2)之間(價(jià)格上亦如此),2000SQLServer2000一種企業(yè)級(jí)數(shù)據(jù)庫(kù)SQLServer在可擴(kuò)縮性和可靠性上有了很大的改進(jìn),成為企業(yè)級(jí)數(shù)據(jù)庫(kù)市場(chǎng)中重要的一員(支持企業(yè)的聯(lián)機(jī)操作,其所支持的企業(yè)有NASDAQ、戴爾和巴諾等)。雖然SQLServer在價(jià)格上有很大的上漲(盡管算起來(lái)還只是Oracle售價(jià)的一半左右),減緩了其最初被接納的進(jìn)度,但它卓越的管理工具、開(kāi)發(fā)工具和分析工具贏得了新的客戶。2001年,在Windows數(shù)據(jù)庫(kù)市場(chǎng)(2001年價(jià)值25.5億美元),Oracle(34%的市場(chǎng)份額)不敵SQLServer(40%的市場(chǎng)份額),最終將其市場(chǎng)第一的位置讓出。2002年,差距繼續(xù)拉大,SQLServer取得45%的市場(chǎng)份額,而Oracle的市場(chǎng)份額下滑至27%(來(lái)源于2003年5月21日的GartnerReport)2005SQLServer2005對(duì)SQLServer的許多地方進(jìn)行了改寫,例如,通過(guò)名為集成服務(wù)(IntegrationService)的工具來(lái)加載數(shù)據(jù),不過(guò),SQLServer2005最偉大的飛躍是引入了.NETFramework。引入.NETFramework將允許構(gòu)建.NETSQLServer專有對(duì)象,從而使SQLServer具有靈活的功能,正如包含Java的Oracle所擁有的那樣2008SQLServer20081.3.1CPU1.3.2內(nèi)存確認(rèn)系統(tǒng)的處理器速度足以滿足需求后,接著要檢查系統(tǒng)中是否有足夠的內(nèi)存。SQLServer需要的RAM至少為512MB。不應(yīng)該打開(kāi)和運(yùn)行太多的應(yīng)用程序,因?yàn)槟菢雍苋菀鬃孲QLServer得不到足夠的內(nèi)存,從而使其運(yùn)行變慢。微軟推薦1GB或者更大的內(nèi)存,當(dāng)真正開(kāi)始使用SQLServer時(shí),實(shí)際上內(nèi)存大小至少應(yīng)該是推薦大小的兩倍。如果要運(yùn)行企業(yè)版,特別是若想要使用更高級(jí)的特性時(shí),則至少(最低限度)需要有1GB的內(nèi)存。內(nèi)存越大越好。對(duì)于任何開(kāi)發(fā)人員所使用的計(jì)算機(jī),強(qiáng)烈建議至少要有1GB的內(nèi)存,若有2GB則比較理想,這樣才能夠獲得良好而全面的性能。如果內(nèi)存足夠大,那么進(jìn)程就可以保持在內(nèi)存中,而不是在要運(yùn)行另一個(gè)進(jìn)程時(shí),將進(jìn)程交換到硬盤上或別的區(qū)域中,因而當(dāng)要從進(jìn)程停止的地方繼續(xù)運(yùn)行時(shí),則不必等待SQLServer被重新載入回內(nèi)存。上面的情形稱為交換(swapping),內(nèi)存越大,可能發(fā)生的交換就越少。將CPU速度和內(nèi)存作為一個(gè)整體來(lái)考慮,對(duì)于計(jì)算機(jī)運(yùn)行速度至關(guān)重要的正是這兩方面因素。當(dāng)運(yùn)行速度足夠快時(shí),開(kāi)發(fā)的速度也會(huì)盡可能地快。在SQLServer的安裝過(guò)程中,內(nèi)存不足不會(huì)導(dǎo)致安裝停止,但會(huì)發(fā)出警告,以告知你需要更多的內(nèi)存。1.3硬件要求在對(duì)SQLServer稍有了解之后,接下來(lái)要涉及的重要問(wèn)題很可能是:“我所擁有的計(jì)算機(jī)是否足以運(yùn)行所選擇的SQLServer版本?這是否有助于我的決策?”若根據(jù)現(xiàn)今的最低硬件規(guī)格標(biāo)準(zhǔn)來(lái)判斷,哪怕是最低成本的方案,多數(shù)情況下對(duì)于大部分的SQLServer版本,其答案都是肯定的。然而,手邊可能會(huì)有較早的硬件(事物發(fā)展得如此之迅速,即便是幾個(gè)月前購(gòu)買的硬件,也可能很快就被認(rèn)為是低于當(dāng)前最低硬件規(guī)格標(biāo)準(zhǔn)的),因此,需要了解一下最低硬件要求是什么,并以此檢查所擁有的計(jì)算機(jī),以確定是否具備滿足需求的硬件資源。1.3.1CPU對(duì)于運(yùn)行SQLServer的CPU,建議的最低要求是32位版本對(duì)應(yīng)1GHz的處理器,64位版本對(duì)應(yīng)1.6GHz的處理器,或兼容的處理器,或具有類似處理能力的處理器,但推薦使用2GHz的處理器。然而,像這里列出的大多數(shù)最低要求一樣,微軟事實(shí)上推薦的是更快的處理器。處理器越快,SQLServer運(yùn)行得就越好,由此而產(chǎn)生的瓶頸也越少。現(xiàn)在的很多機(jī)器使用的都是2GHz及以上的處理器。這將縮減開(kāi)發(fā)所花費(fèi)的時(shí)間。然而,跟提升SQLServer的運(yùn)行速度相關(guān)的硬件并非只有處理器,SQLServer的速度很大程度上也受當(dāng)前計(jì)算機(jī)中內(nèi)存空間的影響。1.3.3硬盤空間SQLServer需要比較大的硬盤空間。這不足為奇,如今主要的應(yīng)用程序都是需要大量的硬盤空間的。不考慮要添加的數(shù)據(jù)文件,SQLServer自身將占用1GB以上的硬盤空間。當(dāng)然,本章后面要用到的安裝選項(xiàng)將決定總共所需的硬盤空間。通過(guò)選擇不安裝某個(gè)可選部件,可以減少對(duì)硬盤空間的需求,例如,選擇不安裝聯(lián)機(jī)叢書。不過(guò),如今大多數(shù)的筆記本電腦都至少配有40GB的硬盤,配備80GB的硬盤也是很平常的事。硬盤空間是廉價(jià)的,因此,最好是購(gòu)買容量遠(yuǎn)遠(yuǎn)超出當(dāng)前所需容量的硬盤,而不要采用恰好滿足眼下空間大小要求的硬盤,使得將來(lái)可能不得不另行購(gòu)買硬盤以滿足增長(zhǎng)的要求,這樣將隨之帶來(lái)移動(dòng)資料、整理原先硬盤上的空間等問(wèn)題。此外,還需要在硬盤上留有備用的空間,以滿足SQLServer和數(shù)據(jù)庫(kù)的擴(kuò)展。另外,還需要為開(kāi)發(fā)過(guò)程中要用到的臨時(shí)文件準(zhǔn)備硬盤空間。總之,考慮大的硬盤空間吧——多多益善!1.3.4操作系統(tǒng)要求SQLServer2008可以運(yùn)行在WindowsVistaHomeBasic及更高版本上,也可以在WindowsXP上運(yùn)行。從服務(wù)器端來(lái)看,它可以運(yùn)行在WindowsServer2003SP2及WindowsServer2008上。它也可以運(yùn)行在WindowsXPProfessional的64位操作系統(tǒng)上以及WindowsServer2003和WindowsServer2008的64位版本上。因此,可以運(yùn)行SQLServer的操作系統(tǒng)是很多的。1.4示例為了充分展示SQLServer2008,我們將一起為一家金融公司開(kāi)發(fā)一個(gè)系統(tǒng),該系統(tǒng)具有存款、股票購(gòu)買功能。該應(yīng)用程序適合大型機(jī)構(gòu),或者經(jīng)過(guò)稍加修改也能夠供個(gè)人記錄銀行業(yè)務(wù)使用。本書基于這種觀念來(lái)開(kāi)發(fā)實(shí)例,演示如何將所采納的想法在設(shè)計(jì)中用正確的架構(gòu)表達(dá)出來(lái)。由于不想把注意力從SQLServer轉(zhuǎn)移開(kāi),因而沒(méi)有對(duì)這個(gè)例子做更多的處理,應(yīng)該說(shuō)只是剛好能運(yùn)行而已。通過(guò)學(xué)習(xí)本書,你將具備足夠的知識(shí)和能力來(lái)根據(jù)實(shí)際金融應(yīng)用程序的需求擴(kuò)展這個(gè)例子,使其細(xì)節(jié)和復(fù)雜度能夠完全滿足實(shí)際所需。當(dāng)然,在講述這些之前,首先要安裝SQLServer。1.5安裝本章將介紹SQLServer開(kāi)發(fā)版的安裝過(guò)程,事實(shí)上在每一種版本的安裝過(guò)程中所看到的幾乎都一樣。微軟在/china/sql/2008/trial-software.aspx提供了180天試用版,如果手頭沒(méi)有SQLServer2008,可以使用這種試用版來(lái)學(xué)習(xí)本書的例子。本書要講述的選項(xiàng)和特性組合可以在安裝過(guò)程中完成。安裝過(guò)程中包含SQLServer提供的許多不同的工具。先來(lái)看看這些工具,以便對(duì)它們有基本的了解,從而決定將安裝什么。安裝包含很多不同的范圍:安全問(wèn)題;不同的安裝類型——是首次安裝并且安裝的是SQLServer的第一個(gè)實(shí)例,還是用于開(kāi)發(fā)、測(cè)試或生產(chǎn)的后續(xù)實(shí)例的安裝;自定義安裝;只安裝少許有用的產(chǎn)品。本章介紹的安裝過(guò)程將涉及這些范圍中的大多數(shù),因此,到本章末,讀者將具備足夠的自信和知識(shí)來(lái)根據(jù)自己的需要完成任何后續(xù)的安裝。本書選擇使用開(kāi)發(fā)版是因?yàn)樵摪姹咀罘祥_(kāi)發(fā)者所需,它沒(méi)有企業(yè)版對(duì)于操作系統(tǒng)的種種要求。在光驅(qū)中插入所選擇版本的MicrosoftSQLServer2008光盤,啟動(dòng)安裝程序。接下來(lái)講述標(biāo)準(zhǔn)安裝。1.5.1開(kāi)始安裝首先,確保以管理員身份登錄,從而能夠在機(jī)器上創(chuàng)建文件和文件夾,這顯然是成功安裝所必需的。如果是使用CD-ROM進(jìn)行安裝,并且安裝進(jìn)程沒(méi)有自動(dòng)啟動(dòng),就打開(kāi)Windows資源管理器并雙擊autorun.exe(位于CD-ROM根目錄)。如果不使用CD-ROM進(jìn)行安裝,則雙擊你下載的可執(zhí)行的安裝程序。如果當(dāng)前沒(méi)有安裝Microsoft.NETFramework3.5版,則會(huì)出現(xiàn)該版本的安裝對(duì)話框。.NET是微軟創(chuàng)建的一種框架,允許用不同編程語(yǔ)言(如VB.NET、C#以及其他)編寫的程序有一個(gè)公共編譯環(huán)境。SQLServer2008在其自身內(nèi)部的一些工作要使用.NET,當(dāng)然,開(kāi)發(fā)人員也可以用任何微軟的.NET語(yǔ)言編寫.NET代碼,放入SQLServer中。在SQLServer2008中,除了可以用T-SQL以外,還能夠使用.NET和LINQ來(lái)查詢數(shù)據(jù)庫(kù)。注解包含.NET代碼是超出本書講述范圍的高級(jí)主題。更多相關(guān)信息請(qǐng)參看由RobinDewson和JulianSkinner編寫的ProSQLServer2005Assemblies(Apress,2005)。安裝完成后,會(huì)出現(xiàn)“SQLServer安裝中心”。如圖1-1所示,該對(duì)話框涉及計(jì)劃一個(gè)安裝,設(shè)定安裝方式(包括全新安裝,從以前版本的SQLServer升級(jí)),以及用于維護(hù)SQLServer安裝的許多其他選項(xiàng)。單擊安裝中心左邊的“安裝”條目,然后,從“安裝”選項(xiàng)列表中選擇第一個(gè)項(xiàng)目,即“全新SQLServer獨(dú)立安裝或向現(xiàn)有安裝添加功能”,這樣就開(kāi)始了SQLServer2008的安裝。在輸入產(chǎn)品密鑰并接受SQLServer許可條款之前,將進(jìn)行快速的系統(tǒng)檢查。在SQLServer的安裝過(guò)程中,要使用大量的支持文件,此外,支持文件也用來(lái)確保無(wú)瑕的和有效的安裝。在圖1-2中,可以看到快速系統(tǒng)檢查過(guò)程中有一個(gè)警告,但仍可以繼續(xù)安裝。假如檢查過(guò)程中沒(méi)出現(xiàn)任何錯(cuò)誤,則單擊“下一步”。

(點(diǎn)擊查看大圖)圖1-1使用“SQLServer安裝中心”開(kāi)始安裝

(點(diǎn)擊查看大圖)圖1-2系統(tǒng)配置檢查1.5.2選擇要安裝的功能接著,來(lái)到"功能選擇"界面,需要作出一些決定。如圖1-3所示,此處的安裝會(huì)安裝所有的功能,因?yàn)檫@將是一個(gè)開(kāi)發(fā)實(shí)例,開(kāi)發(fā)者將脫離所有正在進(jìn)行的項(xiàng)目開(kāi)發(fā)來(lái)測(cè)試SQLServer的各個(gè)方面。不過(guò),也可以根據(jù)需要,有選擇性地安裝各種組件。就本書而言,需要安裝"數(shù)據(jù)庫(kù)引擎服務(wù)"、"ReportingServices"、"客戶端工具"以及用來(lái)創(chuàng)建報(bào)表的"BusinessIntelligenceDevelopmentStudio",因此,請(qǐng)確保至少選中了這些功能。

(點(diǎn)擊查看大圖)圖1-3選擇安裝所有的組件下面簡(jiǎn)要說(shuō)明一下圖1-3中的大部分組件。數(shù)據(jù)庫(kù)引擎服務(wù)。這是SQLServer2008的主要核心,安裝SQLServer運(yùn)行所需的主要引擎、數(shù)據(jù)文件等。SQLServer復(fù)制。當(dāng)你在數(shù)據(jù)庫(kù)上執(zhí)行數(shù)據(jù)修改時(shí),如果你不僅想要把修改發(fā)送到該數(shù)據(jù)庫(kù)上,而且想要把修改發(fā)送到一個(gè)相似的數(shù)據(jù)庫(kù)上(這個(gè)相似數(shù)據(jù)庫(kù)是為了復(fù)制修改而創(chuàng)建的),那么你可以使用這一選項(xiàng)把修改復(fù)制到那個(gè)數(shù)據(jù)庫(kù)上。全文搜索。這一選項(xiàng)允許對(duì)數(shù)據(jù)庫(kù)中的文本進(jìn)行搜索。AnalysisServices。使用該工具可以獲取數(shù)據(jù)集,并對(duì)數(shù)據(jù)切塊、切片,分析其中所包含的信息。ReportingServices。這一服務(wù)允許從SQLServer生成報(bào)表,而不必借助第三方工具,如CrystalReport。該組件將在第14章詳細(xì)講述??蛻舳斯ぞ摺_@些工具中,一些為客戶端機(jī)器提供到SQLServer的圖形化界面,另一些則在客戶端協(xié)同SQLServer一起工作。這一選項(xiàng)適于布置在開(kāi)發(fā)人員的機(jī)器上。MicrosoftSyncFramework。當(dāng)與脫機(jī)應(yīng)用程序(例如,移動(dòng)設(shè)備上的應(yīng)用程序)一起工作時(shí),必須在適當(dāng)?shù)牡胤酱嬖谀撤N同步機(jī)制。這一選項(xiàng)允許發(fā)生這些交互。SQLServer聯(lián)機(jī)叢書。這是一個(gè)幫助系統(tǒng)。如果在SQLServer的任何方面需要更多的信息、說(shuō)明或額外的詳細(xì)資料,請(qǐng)求助于聯(lián)機(jī)叢書。BusinessIntelligenceDevelopmentStudio。如果你想要使用基于分析的服務(wù)來(lái)分析數(shù)據(jù),那么可以使用這個(gè)圖形用戶界面與數(shù)據(jù)庫(kù)進(jìn)行交互。本書不介紹這個(gè)選項(xiàng)。IntegrationServices。最后這個(gè)選項(xiàng)使你能夠創(chuàng)建完成行動(dòng)的過(guò)程,例如,從其他數(shù)據(jù)源導(dǎo)入數(shù)據(jù)并使用這些數(shù)據(jù)。在第7章中,當(dāng)我們考慮創(chuàng)建一個(gè)備份維護(hù)計(jì)劃時(shí),將看到IntegrationServices的實(shí)際運(yùn)作。在以上這些組件中,AnalysisServices、BusinessIntelligenceDevelopmentStudio超出了本書的范圍,我們只簡(jiǎn)單介紹這里提到的IntegrationServices。注解

此刻,SQLServer不再提供安裝示例數(shù)據(jù)庫(kù)的選項(xiàng)。微軟也改變了示例數(shù)據(jù)庫(kù)和示例的交付方式,因而你可以在SQLServer網(wǎng)站上(/sql或/SqlServerSamples)找到更新的版本。1.5.3為實(shí)例命名眾所周知,SQLServer是安裝在計(jì)算機(jī)上的,那么在一臺(tái)計(jì)算機(jī)上多次安裝SQLServer是完全有可能的。如果服務(wù)器功能強(qiáng)大,有足夠的資源(如內(nèi)存、處理器等)運(yùn)行兩三個(gè)不同的應(yīng)用程序,這種情形就可能出現(xiàn)。這些不同的應(yīng)用程序都想擁有自己的SQLServer。每一個(gè)安裝稱為一個(gè)實(shí)例(instance)?,F(xiàn)在應(yīng)該為安裝的實(shí)例命名。每一個(gè)實(shí)例必須有一個(gè)屬于它的唯一的名字,就連"無(wú)名"的默認(rèn)實(shí)例(defaultinstance),其"無(wú)名"也算是一個(gè)唯一的名字。作為建立外部環(huán)境的第一步,為實(shí)例命名是很重要的。例如,可能有一個(gè)實(shí)例用于開(kāi)發(fā),一個(gè)實(shí)例用于系統(tǒng)測(cè)試,最后還有一個(gè)實(shí)例用于用戶測(cè)試。讓除生產(chǎn)數(shù)據(jù)庫(kù)之外的任何東西與生產(chǎn)數(shù)據(jù)庫(kù)共享生產(chǎn)服務(wù)器硬件,這是一種很糟糕的習(xí)慣。如果無(wú)視這種提醒,當(dāng)出現(xiàn)不當(dāng)?shù)拈_(kāi)發(fā)行為并導(dǎo)致服務(wù)器崩潰時(shí),將會(huì)使連續(xù)的生產(chǎn)停頓下來(lái)。雖然,眼下的安裝過(guò)程一開(kāi)始的時(shí)候,你就應(yīng)該作出決定,但是,在為實(shí)例命名時(shí)再次提醒注意,這也是有幫助的。當(dāng)沒(méi)有為安裝指定明確的名字時(shí),將選定為默認(rèn)實(shí)例。一旦在學(xué)習(xí)環(huán)境之外安裝SQLServer,則應(yīng)避免這種情況,因?yàn)檫@樣會(huì)導(dǎo)致沒(méi)有命名的安裝,因而關(guān)于它的使用也沒(méi)有任何提示。因?yàn)槟壳吧性趯W(xué)習(xí)階段,而最易于理解的選項(xiàng)是使用默認(rèn)實(shí)例,所以如圖1-4所示,選擇"默認(rèn)實(shí)例",并單擊"下一步"。一旦在服務(wù)器上安裝了實(shí)例,

(點(diǎn)擊查看大圖)圖1-4

為安裝的實(shí)例命名就會(huì)在這里列出已安裝的實(shí)例。另外,對(duì)于前一步中所選的3個(gè)服務(wù),我們還可以在這里看到每一個(gè)服務(wù)的目錄的詳細(xì)路徑。【責(zé)任編輯:云霞TEL:(010)68476606】1.5.4選擇服務(wù)賬戶正如用戶在使用系統(tǒng)前必須先登錄到Windows一樣,SQLServer以及在"功能選擇"界面(見(jiàn)圖1-3)中定義的其他服務(wù)在啟動(dòng)前也必須先登錄到Windows。SQLServer、ReportingServices等服務(wù)不需要任何人登錄到安裝SQLServer的計(jì)算機(jī)上就可以運(yùn)行,只要計(jì)算機(jī)成功啟動(dòng)即可。當(dāng)SQLServer安裝在位于遠(yuǎn)程服務(wù)器機(jī)房中的服務(wù)器上時(shí),這種情況極為平常。在本章的結(jié)尾,我們會(huì)更詳細(xì)地討論這些選項(xiàng)。圖1-5中所示的選擇將用低級(jí)別特權(quán)安裝SQLServer。

(點(diǎn)擊查看大圖)圖1-5選擇服務(wù)賬戶以后,通過(guò)"控制面板"中的"管理工具"里的"服務(wù)"圖標(biāo),你也總能對(duì)此進(jìn)行更改。然而,使用"配置工具"中的"SQLServer配置管理器"或許會(huì)更好些。通過(guò)使用"SQLServer配置管理器",將會(huì)把賬戶添加到正確的組中,并給予恰當(dāng)?shù)臋?quán)限。單擊"下一步"。如果你注意到SQLServerBrowser(即SQLServerManagementStudio的另一個(gè)名字),會(huì)發(fā)現(xiàn)它默認(rèn)是被禁用的。多數(shù)的SQLServer安裝是在服務(wù)器上,并且常常是遠(yuǎn)程服務(wù)器上,因此,沒(méi)必要讓SQLServerBrowser運(yùn)行。一般來(lái)說(shuō),你會(huì)從客戶端機(jī)器上連接到SQLServer。盡管如此,這里還是假設(shè)該SQLServer安裝并非在服務(wù)器上,而是在一臺(tái)本地計(jì)算機(jī)上,因此,將該選項(xiàng)更改為自動(dòng)啟動(dòng)。1.5.4選擇服務(wù)賬戶正如用戶在使用系統(tǒng)前必須先登錄到Windows一樣,SQLServer以及在"功能選擇"界面(見(jiàn)圖1-3)中定義的其他服務(wù)在啟動(dòng)前也必須先登錄到Windows。SQLServer、ReportingServices等服務(wù)不需要任何人登錄到安裝SQLServer的計(jì)算機(jī)上就可以運(yùn)行,只要計(jì)算機(jī)成功啟動(dòng)即可。當(dāng)SQLServer安裝在位于遠(yuǎn)程服務(wù)器機(jī)房中的服務(wù)器上時(shí),這種情況極為平常。在本章的結(jié)尾,我們會(huì)更詳細(xì)地討論這些選項(xiàng)。圖1-5中所示的選擇將用低級(jí)別特權(quán)安裝SQLServer。

(點(diǎn)擊查看大圖)圖1-5選擇服務(wù)賬戶以后,通過(guò)"控制面板"中的"管理工具"里的"服務(wù)"圖標(biāo),你也總能對(duì)此進(jìn)行更改。然而,使用"配置工具"中的"SQLServer配置管理器"或許會(huì)更好些。通過(guò)使用"SQLServer配置管理器",將會(huì)把賬戶添加到正確的組中,并給予恰當(dāng)?shù)臋?quán)限。單擊"下一步"。如果你注意到SQLServerBrowser(即SQLServerManagementStudio的另一個(gè)名字),會(huì)發(fā)現(xiàn)它默認(rèn)是被禁用的。多數(shù)的SQLServer安裝是在服務(wù)器上,并且常常是遠(yuǎn)程服務(wù)器上,因此,沒(méi)必要讓SQLServerBrowser運(yùn)行。一般來(lái)說(shuō),你會(huì)從客戶端機(jī)器上連接到SQLServer。盡管如此,這里還是假設(shè)該SQLServer安裝并非在服務(wù)器上,而是在一臺(tái)本地計(jì)算機(jī)上,因此,將該選項(xiàng)更改為自動(dòng)啟動(dòng)。Server。盡管如此,這里還是假設(shè)該SQLServer安裝并非在服務(wù)器上,而是在一臺(tái)本地計(jì)算機(jī)上,因此,將該選項(xiàng)更改為自動(dòng)啟動(dòng)。1.5.5選擇身份驗(yàn)證模式現(xiàn)在,將定義如何在SQLServer的安裝中強(qiáng)制實(shí)施安全性。如圖1-6所示,這里有兩個(gè)選擇:Windows身份驗(yàn)證模式和混合模式。在本章的后面,你將了解更多關(guān)于模式的知識(shí)。十分簡(jiǎn)單明了,Windows身份驗(yàn)證模式表明將使用Windows的安全機(jī)制維護(hù)SQLServer的登錄,混合模式則或者使用Windows的安全機(jī)制,或者使用SQLServer定義的登錄ID和密碼。此外,如果使用混合模式,還需要為名為sa的特殊登錄ID設(shè)置密碼。關(guān)于這些,你很快就會(huì)了解到更多,但目前必須為其輸入一個(gè)有效的密碼。請(qǐng)使用有意義的、難以猜測(cè)的密碼,同時(shí)你自己要記牢。

(點(diǎn)擊查看大圖)圖1-6選擇身份驗(yàn)證模式(包括SQLServer管理員賬戶)另外,還必須指定SQLServer管理員賬戶。這是一個(gè)特殊的賬戶,在極其緊急的情況下(例如,當(dāng)SQLServer拒絕連接時(shí)),能夠使用這個(gè)賬戶進(jìn)行登錄。你可以用這個(gè)特殊的賬戶登錄,對(duì)當(dāng)前的情形進(jìn)行調(diào)試,并讓SQLServer恢復(fù)運(yùn)行。通常,管理員賬戶是某個(gè)服務(wù)器賬戶ID,但現(xiàn)在,我們使用了登錄到計(jì)算機(jī)上的這個(gè)當(dāng)前賬戶。對(duì)于AnalysisServices也會(huì)有類似的界面,并且,也使用相同的設(shè)置。1.5.5選擇身份驗(yàn)證模式現(xiàn)在,將定義如何在SQLServer的安裝中強(qiáng)制實(shí)施安全性。如圖1-6所示,這里有兩個(gè)選擇:Windows身份驗(yàn)證模式和混合模式。在本章的后面,你將了解更多關(guān)于模式的知識(shí)。十分簡(jiǎn)單明了,Windows身份驗(yàn)證模式表明將使用Windows的安全機(jī)制維護(hù)SQLServer的登錄,混合模式則或者使用Windows的安全機(jī)制,或者使用SQLServer定義的登錄ID和密碼。此外,如果使用混合模式,還需要為名為sa的特殊登錄ID設(shè)置密碼。關(guān)于這些,你很快就會(huì)了解到更多,但目前必須為其輸入一個(gè)有效的密碼。請(qǐng)使用有意義的、難以猜測(cè)的密碼,同時(shí)你自己要記牢。

(點(diǎn)擊查看大圖)圖1-6選擇身份驗(yàn)證模式(包括SQLServer管理員賬戶)另外,還必須指定SQLServer管理員賬戶。這是一個(gè)特殊的賬戶,在極其緊急的情況下(例如,當(dāng)SQLServer拒絕連接時(shí)),能夠使用這個(gè)賬戶進(jìn)行登錄。你可以用這個(gè)特殊的賬戶登錄,對(duì)當(dāng)前的情形進(jìn)行調(diào)試,并讓SQLServer恢復(fù)運(yùn)行。通常,管理員賬戶是某個(gè)服務(wù)器賬戶ID,但現(xiàn)在,我們使用了登錄到計(jì)算機(jī)上的這個(gè)當(dāng)前賬戶。對(duì)于AnalysisServices也會(huì)有類似的界面,并且,也使用相同的設(shè)置。1.5.7創(chuàng)建報(bào)表服務(wù)數(shù)據(jù)庫(kù)由于我們?cè)谇懊孢x擇了安裝ReportingServices,因此,需要?jiǎng)?chuàng)建報(bào)表服務(wù)器所使用的數(shù)據(jù)庫(kù)。對(duì)ReportingServices而言,有3個(gè)不同的安裝選項(xiàng):"本機(jī)"、"SharePoint"和"安裝但不配置"。如果選擇最后一個(gè)選項(xiàng),將在服務(wù)器上安裝SQLServerReportingServices,但不會(huì)對(duì)其進(jìn)行配置。如果只是為了報(bào)表選項(xiàng)而構(gòu)建特定的服務(wù)器,則該選項(xiàng)十分理想。安裝完成后,必須創(chuàng)建報(bào)表數(shù)據(jù)庫(kù)。如圖1-8所示,本機(jī)模式配置是最簡(jiǎn)單的選項(xiàng),也是我們要使用的選項(xiàng)。選擇該選項(xiàng),將在SQLServer中安裝ReportingServices,并創(chuàng)建必需的數(shù)據(jù)庫(kù)。僅當(dāng)你在本地實(shí)例而非遠(yuǎn)程實(shí)例上進(jìn)行安裝,并且ReportingServices也存在于那個(gè)本地實(shí)例上時(shí),該選項(xiàng)才是有效的。對(duì)服務(wù)賬戶,本地實(shí)例上(即localhost)的報(bào)表服務(wù)器的URL、報(bào)表管理器URL以及報(bào)表服務(wù)數(shù)據(jù)庫(kù)的名稱使用默認(rèn)值。如果部署了SharePoint安裝,并且想要ReportingServices使用該體系結(jié)構(gòu),則選擇這一選項(xiàng),這一選項(xiàng)允許你使用SharePoint的功能。這些內(nèi)容超出本書的講述范疇。

(點(diǎn)擊查看大圖)圖1-8為ReportingServices安裝本機(jī)模式配置1.5.7創(chuàng)建報(bào)表服務(wù)數(shù)據(jù)庫(kù)由于我們?cè)谇懊孢x擇了安裝ReportingServices,因此,需要?jiǎng)?chuàng)建報(bào)表服務(wù)器所使用的數(shù)據(jù)庫(kù)。對(duì)ReportingServices而言,有3個(gè)不同的安裝選項(xiàng):"本機(jī)"、"SharePoint"和"安裝但不配置"。如果選擇最后一個(gè)選項(xiàng),將在服務(wù)器上安裝SQLServerReportingServices,但不會(huì)對(duì)其進(jìn)行配置。如果只是為了報(bào)表選項(xiàng)而構(gòu)建特定的服務(wù)器,則該選項(xiàng)十分理想。安裝完成后,必須創(chuàng)建報(bào)表數(shù)據(jù)庫(kù)。如圖1-8所示,本機(jī)模式配置是最簡(jiǎn)單的選項(xiàng),也是我們要使用的選項(xiàng)。選擇該選項(xiàng),將在SQLServer中安裝ReportingServices,并創(chuàng)建必需的數(shù)據(jù)庫(kù)。僅當(dāng)你在本地實(shí)例而非遠(yuǎn)程實(shí)例上進(jìn)行安裝,并且ReportingServices也存在于那個(gè)本地實(shí)例上時(shí),該選項(xiàng)才是有效的。對(duì)服務(wù)賬戶,本地實(shí)例上(即localhost)的報(bào)表服務(wù)器的URL、報(bào)表管理器URL以及報(bào)表服務(wù)數(shù)據(jù)庫(kù)的名稱使用默認(rèn)值。如果部署了SharePoint安裝,并且想要ReportingServices使用該體系結(jié)構(gòu),則選擇這一選項(xiàng),這一選項(xiàng)允許你使用SharePoint的功能。這些內(nèi)容超出本書的講述范疇。

(點(diǎn)擊查看大圖)圖1-8為ReportingServices安裝本機(jī)模式配置1.5.8配置錯(cuò)誤和使用情況報(bào)告在SQLServer中,可以自動(dòng)報(bào)告任何錯(cuò)誤并把錯(cuò)誤報(bào)告發(fā)送到微軟,其中包含SQLServer異常關(guān)閉時(shí)的致命錯(cuò)誤。推薦啟用圖1-9中的錯(cuò)誤設(shè)置。因?yàn)椴粫?huì)發(fā)送組織機(jī)構(gòu)的任何信息,所以數(shù)據(jù)依然是安全的。這與在Excel崩潰時(shí)發(fā)送報(bào)告是類似的。最好是使該功能處于激活狀態(tài)。發(fā)送錯(cuò)誤報(bào)告給微軟,微軟將有望更快地開(kāi)發(fā)出補(bǔ)丁修復(fù)程序,并在將來(lái)發(fā)布更好的版本。另外,對(duì)于SQLServer來(lái)說(shuō),用戶可以獲得如何使用SQLServer的信息。打開(kāi)這一功能也是非常有幫助的,這樣微軟能夠接收到有助于改進(jìn)其產(chǎn)品的信息。不管怎樣,在與這一功能更加密切相關(guān)的生產(chǎn)環(huán)境中,打開(kāi)這一功能將會(huì)十分有益。

(點(diǎn)擊查看大圖)圖1-9"錯(cuò)誤和使用情況報(bào)告"設(shè)置點(diǎn)擊"下一步",將會(huì)出現(xiàn)關(guān)于安裝規(guī)則詳細(xì)信息的界面。在這里沒(méi)什么可處理的,只是點(diǎn)擊"下一步"就可以了,這時(shí)將顯示最終的界面(如圖1-10所示)?,F(xiàn)在完成了設(shè)置收集,已經(jīng)準(zhǔn)備好進(jìn)行安裝了。

(點(diǎn)擊查看大圖)圖1-10完成設(shè)置詳情1.6.1服務(wù)賬戶

2009-05-1511:12

董明等譯

人民郵電出版社

我要評(píng)論()摘要:《SQLServer2008基礎(chǔ)教程》第1章SQLServer2008概述和安裝,本章介紹了SQLServer中的安全性,使讀者能輕松地知曉自己想要以何種方式實(shí)現(xiàn)安全性,以及如何處理不同的用戶名。本節(jié)為大家介紹服務(wù)賬戶。標(biāo)簽:服務(wù)賬戶

SQLServer

SQLServer2008基礎(chǔ)教程限時(shí)報(bào)名參加“甲骨文全球大會(huì)·2010·北京”及“JavaOne和甲骨文開(kāi)發(fā)者大會(huì)2010”1.6安全性為了透徹地討論安裝中遇到的"服務(wù)賬戶"對(duì)話框,需要深入研究Windows安全性。本節(jié)中,首先考查Windows服務(wù)(而非程序)的概念,然后討論在安裝SQLServer時(shí)可以選擇的不同的身份驗(yàn)證類型。1.6.1服務(wù)賬戶SQLServer是作為一種Windows服務(wù)來(lái)運(yùn)行的。那么,什么是服務(wù)?服務(wù)的一個(gè)很好的例子是防病毒軟件,它從用戶重啟計(jì)算機(jī)開(kāi)始到計(jì)算機(jī)關(guān)閉為止持續(xù)運(yùn)行。而程序要么是載入到內(nèi)存并運(yùn)行著,要么是沒(méi)有啟動(dòng)。運(yùn)行服務(wù)的優(yōu)勢(shì)在于:如果一項(xiàng)工作可以作為服務(wù)運(yùn)行,Windows就能夠?qū)δ莻€(gè)進(jìn)程做更多的控制??梢詫⒎?wù)設(shè)置為在任何用戶登錄以前自動(dòng)啟動(dòng),而所有其他程序都需要用戶先登錄到Windows,進(jìn)而啟動(dòng)服務(wù)。此外,服務(wù)完全沒(méi)有用戶界面。在運(yùn)行時(shí)沒(méi)有需要顯示的表單,也沒(méi)有要處理的用戶輸入。與進(jìn)程之間唯一的交互,或者是通過(guò)單獨(dú)的用戶界面(完全隔離的工作單元)鏈接到服務(wù)中來(lái)進(jìn)行(例如SSMS),或者是從那個(gè)服務(wù)自身的Windows管理中進(jìn)行。源自服務(wù)的任何輸出都必須輸出到事件日志(EventLog)中,事件日志是用來(lái)存儲(chǔ)服務(wù)所發(fā)出的通知的Windows區(qū)域。服務(wù)沒(méi)有界面意味著對(duì)整個(gè)進(jìn)程的控制無(wú)需用戶的干預(yù)。倘使服務(wù)的設(shè)計(jì)良好,Windows就能獨(dú)自處理所有的可能性,并且能在任何用戶登錄到計(jì)算機(jī)之前啟動(dòng)服務(wù)。在大多數(shù)生產(chǎn)環(huán)境中,SQLServer是運(yùn)行在遠(yuǎn)程服務(wù)器上的,該服務(wù)器可能鎖藏于安全的、受控制的地方,唯一能進(jìn)入那里的人或許就是硬件工程師。在那里,甚至可能沒(méi)有安裝遠(yuǎn)程訪問(wèn)程序,因?yàn)檫@可能帶來(lái)對(duì)計(jì)算機(jī)的未經(jīng)授權(quán)的訪問(wèn)。SQLServer將在那里順暢地運(yùn)行著,幸運(yùn)的話,完全不發(fā)生任何錯(cuò)誤。但是,如果某天發(fā)生了錯(cuò)誤呢?假設(shè)SQLServer是作為程序運(yùn)行的,則不得不采取某種對(duì)策。即使SQLServer崩潰了,至少還有某種機(jī)制能夠重新啟動(dòng)它。這意味著需要運(yùn)行另外一個(gè)監(jiān)視進(jìn)程,而監(jiān)視進(jìn)程自身也可能導(dǎo)致大量問(wèn)題。然而,當(dāng)SQLServer作為服務(wù)運(yùn)行時(shí),是在Windows的控制之下的。一旦發(fā)生問(wèn)題,無(wú)論是與SQLServer有關(guān),還是與Windows有關(guān),或是由任何外因所致,Windows完全能夠通過(guò)服務(wù)進(jìn)程來(lái)巧妙地處理發(fā)生的問(wèn)題。如果確實(shí)登錄到了計(jì)算機(jī)上,那么,還可以用這個(gè)Windows用戶ID登錄SQLServer并啟動(dòng)它的服務(wù)。在你學(xué)習(xí)本書時(shí),由于SQLServer可以運(yùn)行在家庭或本地系統(tǒng)上,當(dāng)你進(jìn)入SQLServer時(shí),多半采用的是這種方式。這就是所謂的本地系統(tǒng)賬戶(localsystemaccount)。另一方面,也可以創(chuàng)建一個(gè)完全用于SQLServer的Windows登錄賬戶。這樣做有幾個(gè)理由。舉例來(lái)說(shuō),在對(duì)Windows賬戶進(jìn)行一番設(shè)置后,賬戶的密碼在使用了若干天后會(huì)過(guò)期,或者在若干次輸入錯(cuò)誤密碼的登錄嘗試后會(huì)鎖定賬戶。如此一來(lái),就從許多其他事物中保護(hù)了計(jì)算機(jī)和網(wǎng)絡(luò)。然而,SQLServer應(yīng)該使用單獨(dú)的賬戶,該賬戶的密碼同樣會(huì)過(guò)期,并且具有在若干次登錄嘗試失敗后鎖定賬戶的能力。這種非用戶特定的"一般"賬戶去除了SQLServer和組織機(jī)構(gòu)中人員間的聯(lián)系。在圖1-5中,如果考慮域用戶賬戶選項(xiàng),該賬戶多半是在網(wǎng)絡(luò)環(huán)境或生產(chǎn)環(huán)境中。有一種選擇是為每一個(gè)服務(wù)指定一個(gè)不同的賬戶。當(dāng)遷移至公司環(huán)境中時(shí),由于必須應(yīng)對(duì)隨之而來(lái)的安全問(wèn)題,這會(huì)是非常至關(guān)重要的選擇。SQLServer為不同的工作提供了幾種不同的處理過(guò)程。SQLServer用來(lái)運(yùn)行SQLServer自己,而SQLServer代理運(yùn)行一些處理過(guò)程,如批處理作業(yè)。實(shí)際上,SQLServer只應(yīng)訪問(wèn)其自身。因此,只應(yīng)該采用嚴(yán)格限制特權(quán)的域登錄賬戶。SQLServer代理運(yùn)行批處理和復(fù)雜任務(wù)(包括與其他服務(wù)器協(xié)同工作的復(fù)雜任務(wù)),需要功能更強(qiáng)大的域賬戶。你的網(wǎng)絡(luò)管理員可能已經(jīng)創(chuàng)建了這些賬戶,并且知道對(duì)于這些任務(wù)來(lái)說(shuō),最好使用哪個(gè)賬戶或者最好創(chuàng)建什么賬戶?,F(xiàn)在,進(jìn)一步討論在安裝過(guò)程中對(duì)于身份驗(yàn)證模式所做的選擇。【責(zé)任編輯:云霞TEL:(010)68476606】1.6.2身份驗(yàn)證模式(1)

2009-05-1511:25

董明等譯

人民郵電出版社

我要評(píng)論()摘要:《SQLServer2008基礎(chǔ)教程》第1章SQLServer2008概述和安裝,本章介紹了SQLServer中的安全性,使讀者能輕松地知曉自己想要以何種方式實(shí)現(xiàn)安全性,以及如何處理不同的用戶名。本節(jié)為大家介紹身份驗(yàn)證模式。標(biāo)簽:身份驗(yàn)證模式

SQLServer

SQLServer2008基礎(chǔ)教程限時(shí)報(bào)名參加“甲骨文全球大會(huì)·2010·北京”及“JavaOne和甲骨文開(kāi)發(fā)者大會(huì)2010”1.6.2身份驗(yàn)證模式(1)將要應(yīng)用于服務(wù)器上的身份驗(yàn)證模式,或許是整個(gè)安裝過(guò)程中最至關(guān)重要的信息以及要作出的最重大的決定。正如在前面的設(shè)置過(guò)程中看到的,關(guān)于身份驗(yàn)證模式有兩個(gè)選擇:Windows身份驗(yàn)證模式(Windowsauthenticationmode)和混合模式(mixedmode)。1.Windows身份驗(yàn)證模式要登錄到Windows2003/XP/Vista機(jī)器上,必須提供用戶名。關(guān)于這一點(diǎn),沒(méi)有選擇的余地(不像Windows9x/ME那樣,是否要提供用戶名是可選的)。因此,要登錄到Windows,必須先驗(yàn)證用戶名和密碼。當(dāng)完成這一步時(shí),Windows事實(shí)上是在域控制器中根據(jù)用戶名憑據(jù)驗(yàn)證用戶;或者,如果Windows/SQLServer是在本地的獨(dú)立機(jī)器上運(yùn)行,則進(jìn)行本地驗(yàn)證。憑據(jù)檢查用戶所屬的訪問(wèn)組(用戶權(quán)限)。用戶可以上至管理員,具有改變計(jì)算機(jī)中任何事物的能力,也可以下至基本用戶,只擁有極其有限的權(quán)限。于是這就給出了一種信任連接,換句話說(shuō),在登錄Windows之后啟動(dòng)的應(yīng)用程序可以相信,經(jīng)Windows驗(yàn)證,賬戶已經(jīng)通過(guò)了必要的安全檢查。當(dāng)應(yīng)用Windows身份驗(yàn)證模式時(shí),一旦登錄到Windows,SQLServer就將使用信任連接。如前面所述,這意味著SQLServer相信用戶名和密碼已被驗(yàn)證過(guò)了??墒?,如果用戶名不存在,那么僅基于用戶ID,你將無(wú)法登錄到那臺(tái)機(jī)器上。如果登錄無(wú)效,那么將檢查用戶所屬的Windows組,并檢查其安全性,以確定該組是否可以訪問(wèn)SQLServer。如果該用戶具有管理員權(quán)限,則至少連接到SQLServer上是完全不成問(wèn)題的。假如其他用戶可以訪問(wèn)你的機(jī)器,那么使用他們的用戶ID和密碼也能夠登錄到機(jī)器上。雖然這些用戶可以通過(guò)找到C驅(qū)動(dòng)器上的可執(zhí)行文件到達(dá)SQLServer,但SQLServer首先要檢查其在SQLServer中是否擁有有效的登錄名。目前的情況有點(diǎn)進(jìn)退維谷。在安裝過(guò)程中,需要了解安全性,可是要充分說(shuō)明它意味著要在SSMS中進(jìn)行工作,這是第2章要講述的內(nèi)容。為了使其簡(jiǎn)單,現(xiàn)在先看一個(gè)涉及安全性的例子。練習(xí):Windows身份驗(yàn)證模式(1)確保以管理員身份登錄到機(jī)器上。如果是本地計(jì)算機(jī),有可能當(dāng)前的登錄名就是管理員ID;如果是網(wǎng)絡(luò)中的計(jì)算機(jī),并且不能確定訪問(wèn)權(quán)限,請(qǐng)求助于計(jì)算機(jī)管理人員幫助解決ID和密碼的問(wèn)題。在WindowsVista中,如果想避免每一步都出現(xiàn)一個(gè)對(duì)話框向你確認(rèn)是否要繼續(xù),你需要修改用戶賬戶控制的設(shè)置。(2)單擊"開(kāi)始"→"控制面板",選擇"用戶賬戶"。(3)當(dāng)出現(xiàn)用戶和密碼對(duì)話框時(shí),在XP上單擊"創(chuàng)建一個(gè)新賬戶",在Vista上單擊"管理其他賬戶",隨后再單擊"創(chuàng)建一個(gè)新賬戶"。(4)如圖1-11所示,當(dāng)出現(xiàn)"為新賬戶起名"對(duì)話框時(shí),輸入用戶名JThakur。(點(diǎn)擊查看大圖)圖1-11創(chuàng)建新的用戶賬戶(5)確保在XP指定的賬戶類型是"受限"或在Vista指定的賬戶類型是"標(biāo)準(zhǔn)用戶"。這意味著該賬戶沒(méi)有管理員權(quán)限。然后單擊"創(chuàng)建賬戶"。(6)因?yàn)橐砑拥诙€(gè)用戶名,故停留在"用戶賬戶"對(duì)話框中。重復(fù)前述的步驟,并使用如下資料:用戶名:VMcGlynn賬戶類型:計(jì)算機(jī)管理員(7)從Windows中注銷,然后用剛才創(chuàng)建的第一個(gè)ID(JThakur)登錄。(8)登錄后,通過(guò)選擇"開(kāi)始"→"所有程序"→"MicrosoftSQLServer2008"→"SQLServerManagementStudio",啟動(dòng)SSMS。你需要在對(duì)話框中輸入安裝的服務(wù)器名稱。在"服務(wù)器名稱"下拉列表中單擊"瀏覽更多",然后選擇"數(shù)據(jù)庫(kù)引擎",再選擇安裝的服務(wù)器名稱。在第2章中,將更詳細(xì)地講述這些內(nèi)容。該對(duì)話框與圖1-12顯示的類似。(點(diǎn)擊查看大圖)圖1-12嘗試連接到SQLServer1.6.2身份驗(yàn)證模式(2)

2009-05-1511:25

董明等譯

人民郵電出版社

我要評(píng)論()摘要:《SQLServer2008基礎(chǔ)教程》第1章SQLServer2008概述和安裝,本章介紹了SQLServer中的安全性,使讀者能輕松地知曉自己想要以何種方式實(shí)現(xiàn)安全性,以及如何處理不同的用戶名。本節(jié)為大家介紹身份驗(yàn)證模式。標(biāo)簽:身份驗(yàn)證模式

SQLServer

SQLServer2008基礎(chǔ)教程限時(shí)報(bào)名參加“甲骨文全球大會(huì)·2010·北京”及“JavaOne和甲骨文開(kāi)發(fā)者大會(huì)2010”1.6.2身份驗(yàn)證模式(2)(9)查看出現(xiàn)的錯(cuò)誤信息,錯(cuò)誤信息應(yīng)該與在圖1-13中所看到的類似。JThakur作為一個(gè)登錄名沒(méi)有在SQLServer中明確定義,并且也不屬于允許訪問(wèn)的組。當(dāng)前唯一的組是在Windows的Administrators組中的一個(gè)用戶?;叵肭懊?,JThakur是受限用戶。

(點(diǎn)擊查看大圖)圖1-13登錄到服務(wù)器失敗(10)接下來(lái)測(cè)試剛才創(chuàng)建的另一個(gè)用戶。關(guān)閉SQLServer,從Windows中注銷,使用創(chuàng)建的第二個(gè)ID(VMcGlynn)登錄。登錄Windows以后,啟動(dòng)SSMS并連接到服務(wù)器上。這一次可以成功登錄。前面創(chuàng)建的兩個(gè)用戶名,一個(gè)具有受限的訪問(wèn)權(quán)限(JThakur),另一個(gè)具有管理權(quán)限(VMcGlynn)。無(wú)論怎樣,這兩個(gè)用戶名都不存在于SQLServer中(畢竟沒(méi)有在SQLServer中輸入它們,它們似乎也沒(méi)有因?yàn)槟撤N魔力而出現(xiàn))。那么,何以一個(gè)能成功登錄而另一個(gè)會(huì)失敗呢?Windows安全模式確保了兩個(gè)ID都是有效的。如果ID或密碼不正確,根本就不能登錄到Windows。因此,當(dāng)試圖連接到SQLServer時(shí),唯一進(jìn)行的檢查是:用戶是以操作系統(tǒng)的組成員身份訪問(wèn)SQLServer的,還是通過(guò)特定的登錄用戶賬戶訪問(wèn)的。正如圖1-14所示,JThakur和VMcGlynn都不存在于SQLServer中。

圖1-14SQLServer的對(duì)象資源管理器但是,在SQLServer的對(duì)象資源管理器中,可以看到一個(gè)名為BUILTIN\Administrators的Windows組。這意味著任何屬于Administrators組的用戶名都能夠登錄到SQLServer上。從而避免了將用戶設(shè)置為他們自己計(jì)算機(jī)的管理員(如果可能的話)。在生產(chǎn)環(huán)境中,如果允許用戶成為管理員,則將該組從系統(tǒng)中移除或許是可取的。由于VMcGlynn是Administrators組的成員,因而該用戶名也是BUILTIN\Administrators組的成員。2.混合模式如果將SQLServer安裝為混合模式,意味著既可以使用Windows身份驗(yàn)證(如前面所述),也可以使用SQLServer身份驗(yàn)證?;旌夏J脚cWindows身份驗(yàn)證模式有何不同?首先,需要提供用戶ID和密碼進(jìn)行連接,而不是由SQLServer取用登入賬戶的WindowsID或登入賬戶用戶所屬的組;其次,并不認(rèn)定提供的ID都是有效的。當(dāng)工作中用到ISP時(shí),混合模式在許多情況下都是適宜的。為闡明這一觀點(diǎn),假設(shè)用戶要在本地客戶端機(jī)器上使用遠(yuǎn)程數(shù)據(jù)進(jìn)行工作,那么遠(yuǎn)程的機(jī)器需要知道登錄憑據(jù),因而使用SQLServer身份驗(yàn)證將是最簡(jiǎn)單的方法。不過(guò),請(qǐng)不要在這里弄混了。如果想要在ISP上處理數(shù)據(jù),ISP可能提供了某種工具,或者,可以使用SSMS連接到數(shù)據(jù)上。接下來(lái),你就能夠隨心所欲地進(jìn)行工作了。如果網(wǎng)站的代碼是以ASP.NET編寫的,將使用Windows賬戶進(jìn)行登錄,因此,盡管可能鎖定了SQLServer混合模式賬戶,也不會(huì)妨礙網(wǎng)站正常工作。當(dāng)在第4章談?wù)摪踩詴r(shí),將學(xué)習(xí)到如何向SQLServer中添加用戶名(而不是添加Windows用戶)。關(guān)于安全性,還有一點(diǎn)需要討論,這就是sa登錄?!矩?zé)任編輯:云霞TEL:(010)68476606】1.7小結(jié)

2009-05-1511:25

董明等譯

人民郵電出版社

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論