SQL Server 2005開發指南

內容簡介

本書由SQLServer領域內兩位專家所寫,結合清楚的描述和大量範例,全面介紹了SQLServer2005中對開發者有用的新特性。同時還給出有價值的最佳實踐和指導,便於開發者迅速掌握這些新特性,在適當的時機選擇適當的特性開發新一代資料庫應用程式。
全書共17章,書中內容完全基於SQLServer2005正式版且經過廣泛的探討和篩選,對SQLServer開發者具有非常高的參考價值。

圖書目錄

第1章 引言
1.1 .NET Framework和Microsoft平台
1.2 .NET Framework對SQL Server的影響
1.3 SQL :1999標準:擴展關係模型
1.4 用戶定義的類型與SQL Server
1.5 XML:數據和文檔存儲
1.6 Web服務:XML作為一種封送格式
1.7 客戶訪問以及客戶
1.7.1 客戶端資料庫API和SQL Server 2005
1.7.2 客戶端基於XML 的API與SQL Server 2005的集成
1.8 擴展SQL Server到平台:Service Broker和Notification Service
小結
第2章 宿主運行時:SQL Server作為一個運行時宿主
2.1 為什麼要關心宿主的工作原理
2.2 什麼是.NET Framework運行時宿主
2.3 SQL Server作為一個運行時宿主
2.3.1 SQL Server的資源管理
2.3.2 異常情況處理
2.3.3 載入代碼
2.3.4 安全性
2.4 載入運行時:進程和AppDomain
2.5 安全代碼:運行時如何安全運行“外部”代碼
2.6 代碼存在何處:存儲.NET Framework程式集(CREATE ASSEMBLY)
2.7 程式集依賴:當自己的程式集使用其他程式集時
2.8 程式集和SQL架構:誰擁有程式集(信息架構)
2.8.1 系統元數據表和INFORMATION_SCHEMA
2.8.2 程式集元數據
2.9 維護用戶程式集(ALTER ASSEMBLY,DROP ASSEMBLY)
2.10 遵循規範
2.11 結論
小結
第3章 .NET CLR語言中的過程和函式
3.1 擴展SQL Server
3.2 CLR擴展基礎
3.3 CLR擴展詳解
3.4 System.Data.SqlTypes
3.4.1 關於空值的一些說明
3.4.2 使用SqlTypes
3.5 參數和返回值
3.6 用戶定義的函式
3.7 表值函式
3.8 存儲過程
3.9 觸發器
小結
第4章 進程內數據訪問
4.1 用SqlClient編程
4.2 上下文:SqlContext類
4.3 連線
4.4 命令:使事情發生
4.5 獲得結果
4.6 事務

4.6.1TransactionScope的另類用法 88

4.6.2最佳實踐 89

4.7管道 90

4.8創建並傳送新的行集 92

4.9使用WindowsIdentity 93

4.10從SQLCLR調用一個Web服務 94

4.11異常處理 97

4.12SqlTriggerContext 101

4.13不能在伺服器端使用的SqlClient類 102

小結 102

第5章用戶定義的類型和聚合函式 103

5.1為什麼需要用戶定義的類型 103

5.2用戶定義的類型概覽 104

5.3創建用戶定義的類型 105

5.3.1空值的實現 107

5.3.2字元串的實現 108

5.3.3二進制的實現 111

5.3.4IBinarySerialize.Read/Write 113

5.3.5創建用戶定義類型 114

5.3.6公共性質、欄位和方法 116

5.3.7幫助函式 122

5.3.8驗證用戶定義類型 124

5.3.9維護用戶定義類型的定義 125

5.3.10用戶定義類型和XML 126

5.3.11對象是否應該用用戶定義類型來表示 131

5.3.12用戶定義的聚合函式 143

5.3.13實現用戶定義的聚合 145

5.3.14創建用戶定義的聚合函式 148

5.3.15Format.Native與

Format.UserDefined 148

小結 150

第6章安全性 152

6.1SQLServer2005中新的安全性特徵 152

6.2默認設定為關閉的可選特徵 153

6.2.1配置安全性設定 153

6.2.2安全性和元數據 155

6.3增強的SQLServer安全性概念簡單回顧 155

6.3.1認證和授權:用戶和許可權 155

6.3.2執行上下文和擁有權鏈 160

6.4SQLServer密碼策略和證書 163

6.5加密密鑰和內置加密函式 165

6.6加密函式 167

6.7用戶和架構的分離 172

6.8同義詞 175

6.9指定過程代碼的執行上下文 176

6.10代碼簽名 179

6.11SQLServer許可權和SQLCLR對象 181

6.12程式集許可權:誰可以編目和使用程式集 182

6.13在SQLServer安全級別內,.NETFramework代碼可以做什麼? 186

6.13.1代碼訪問安全性入門 186

6.13.2代碼訪問安全性和.NETFramework程式集 187

小結 190

第7章SQL引擎增強 191

7.1SQL引擎的改進 191

7.2SNAPSHOT隔離 191

7.2.1版本控制的缺點 197

7.2.2版本控制監視 198

7.3數據定義語言觸發器 199

7.4事件通知 203

7.5大值數據類型 205

7.6用新的BULK提供者載入數據 208

7.7語句級重編譯 208

7.8查詢提示、計畫指南和計畫強制 209

小結 213

第8章T-SQL語言的增強 215

8.1Transact-SQL的改進 215

8.2錯誤處理 215

8.3INTERSECT和EXCEPT 225

8.4TOP 228

8.5ONDELETE和ONUPDATE 230

8.6OUTPUT 232

8.7APPLY操作符 235

8.8通用表表達式 237

8.9遞歸查詢 243

8.10PIVOT和UNPIVOT操作符 249

8.10.1PIVOT 249

8.10.2UNPIVOT 253

8.11分級和分區 254

8.11.1ROW_NUMBER 255

8.11.2RANK 256

8.11.3DENSE_RANK 257

8.11.4NTILE 257

8.11.5PARTITIONBY 258

8.11.6聚合分區 259

8.12TABLESAMPLE 261

小結 264

第9章資料庫中的XML:XML數據類型 265

9.1XML數據類型 265

9.2在表中使用XML數據類型 266

9.3使用XML數據變數和參數 270

9.4有類型和無類型的XML:分類和

使用XML架構集合 271

9.4.1SQLServerXML架構集合 272

9.4.2有類型的XML 273

9.4.3XML架構和架構集合的管理 275

9.4.4XML架構集合的安全性和強類型實例 277

9.5在XML列中創建索引 278

9.6XML類型函式 279

9.7SELECT…FORXML的增強 279

9.7.1FORXMLPATH模式 281

9.7.2生成XML數據類型 282

9.7.3生成一個內聯XSD格式的

架構 283

9.7.4NULL資料庫值 284

9.7.5產生根元素 285

9.7.6其他特徵 286

9.8SQL和XML數據類型的映射 287

9.8.1將SQL類型映射到XML類型 287

9.8.2String,Binary和

Decimal類型 288

9.8.3其他通用的數據類型 289

9.8.4Date數據類型 289

9.8.5基於模式的數據類型 289

9.8.6通配符數據類型 290

9.8.7可為空性 290

9.9增強的OpenXML 290

9.10從檔案載入XML到資料庫中 291

9.11ANSISQL標準兼容性 292

9.11.1XML數據類型 293

9.11.2將SQL目錄和表映射到

XML 294

9.11.3將SQL數據類型映射為XML數據類型 295

小結 296

第10章XML查詢語言:XQuery和XPath 297

10.1什麼是XQuery 297

10.2XQuery入門 298

10.2.1XQuery序 301

10.2.2XQuery體 302

10.3比較XQuery和SQL的異同 307

10.4在XQuery中使用XML數據類型 310

10.4.1xml.exist(字元串XQuery文本) 310

10.4.2xml.value(字元串xquery文本,字元串SQLType) 311

10.4.3xml.query(字元串XQuery文本) 313

10.4.4xml.node(字元串XQuery文本) 315

10.4.5XQuery標準函式和操作符 318

10.4.6SQLServerXQuery函式和操作符 319

10.5SQLServer支持的XQuery函式 319

10.6SQLServer支持的Xquery操作符 320

10.6.1SQLServerXQuery擴展函式 321

10.6.2在SQLServerXQuery中的多文檔查詢 323

10.7XMLDML:更新XML列 323

10.7.1xml.modify(‘insert…’) 324

10.7.2xml.modify(‘delete…’) 327

10.7.3xml.modify(‘replacevalueof…’) 327

10.7.4通用結論和最佳實踐 327

10.8在SQLServer內使用XQuery的一些特殊考慮 328

10.8.1XMLSchema和SQLServer

2005XQuery 328

10.8.2在XQuery中XML索引的用法 329

小結 331

第11章SQLServerServiceBroker 332

11.1訊息處理應用程式 332

11.2訊息處理 339

11.3業務事務 343

11.3.1服務程式 345

11.3.2會話 349

11.3.3會話組 352

11.3.4訊息類型 357

11.3.5約定 360

11.3.6SEND語句和訊息類型 362

11.3.7循環處理 364

11.3.8毒藥訊息 368

11.3.9補償 369

11.3.10分散式 370

小結 382

第12章作為Web服務平台的SQLServer2005 383

12.1混合使用資料庫和Web服務 383

12.1.1HTTP端點聲明 384

12.1.2CREATEENDPOINT語句 388

12.1.3端點URL 389

12.1.4端點狀態 390

12.1.5端點元數據 390

12.1.6Web方法 391

12.1.7Web服務定義語言 395

12.1.8XML命名空間 417

12.1.9生成WSDL 418

12.1.10Web服務中的存儲過程 426

12.1.11SQL批處理 432

12.1.12其他特徵 436

12.1.13SQLXML4.0與

SQLServer2005 437

小結 445

第13章SQLServer2005與客戶端 447

13.1SQL本地客戶端 447

13.2新數據類型和數據類型兼容模式 449

13.3用戶自定義類型和關係數據訪問API 450

13.4在ADO.NET中使用.NETFrameworkUDT 450

13.5從DataReader中獲取UDT 451

13.6在ODBC、OLEDB和ADO客戶端中使用.NETFrameworkUDT 456

13.7在客戶端支持XML數據類型 458

13.7.1在ADO.NET中使用XML數據類型 458

13.7.2把XML數據當作XML或字元串返回 460

13.7.3文檔、文檔片斷和FORXML支持 461

13.7.4在經典ADO中使用XML數據類型 464

13.8在客戶端支持大值數據類型 465

13.9查詢通知支持 468

13.9.1SQLServer2005中的查詢通知 469

13.9.2在OLEDB和ODBC中使用查詢通知 471

13.9.3向最終用戶或快取分發通知 472

13.9.4從資料庫客戶端使用查詢通知 474

13.9.5使用SqlDependency 474

13.9.6使用SqlNotificationRequest 476

13.9.7在ASP.NET中使用SqlCacheDependency 478

13.9.8主動通知 479

13.9.9什麼時候不該使用通知 480

13.10多活動結果集 480

13.10.1在ADO.NET2.0中使用MARS 482

13.10.2SQL本地客戶端中的MARS 485

13.11ADO.NET中新的事務和隔離特性 485

13.11.1使用新的隔離級別 485

13.11.2可升級、聲明性事務 486

13.12SQLServer2005登錄相關的改變 488

13.12.1修改密碼支持 488

13.12.2故障轉移支持 489

13.12.3加密支持 490

13.13對比存儲過程的客戶端和伺服器端模型 491

小結 491

第14章ADO.NET2.0和SqlClient 492

14.1使用ADO.NET2.0基類和工廠進行泛型編程 492

14.2提供者工廠 495

14.3指定配置信息 497

14.4枚舉數據源和構造連線字元串 498

14.5泛型編程的其他注意事項 500

14.6ADO.NET2.0中的架構 501

14.6.1不管怎樣,誰需要元數據呢 502

14.6.2可以使用哪些元數據 503

14.6.3定製和擴展元數據 506

14.6.4用戶定製 507

14.7跟蹤數據訪問 509

14.7.1安裝數據跟蹤 509

14.7.2運行跟蹤 511

14.7.3把結果收集成CSV檔案 511

14.7.4閱讀跟蹤輸出 512

14.7.5用戶數據和ADO.NET跟蹤 512

14.7.6配置對哪些應用程式進行跟蹤 514

14.7.7使用跟蹤來調試一個參數綁定問題 515

14.7.8深入數據跟蹤 516

14.7.9什麼是ETW 517

14.8異步支持 517

14.9SqlClient中的批量導入 521

14.10客戶端統計 523

14.11.NETFramework2.0DataSet和SqlDataAdapter增強 525

小結 527

第15章SQLServer管理對象 529

15.1簡介 529

15.1.1為什麼使用SMO 531

15.1.2ADO.NET與SMO的對比 533

15.2對象模型 534

15.3SMO項目 536

15.4連線 539

15.4.1默認的Windows認證連線 540

15.4.2使用Runas 541

15.4.3自動連線 541

15.4.4仿冒其他Windows身份 542

15.4.5SQLServer登錄 543

15.4.6修改SQLServer登錄密碼 544

15.4.7連線管理 545

15.5Server 546

15.6SMO對象 547

15.6.1對象標識和URN 547

15.6.2GetSmoObject 549

15.6.3URN對象獲取限制 550

15.6.4SMO對象模型 551

15.6.5SMO屬性 552

15.6.6瀏覽SMO父對象 554

15.6.7SMO狀態 555

15.7創建、修改和刪除 555

15.8腳本 559

15.9配置管理 565

小結 566

第16章通知服務 567

16.1什麼是SQLServer通知服務 567

16.2通知應用程式 568

16.3SQLServer通知服務的組件 570

16.4通知應用程式設計模式 572

16.5通知服務傳送特性 573

16.6通知服務使用的術語 573

16.7設計、編碼以及生成通知服務應用程式 574

16.7.1計畫步驟 574

16.7.2編碼步驟 575

16.7.3應用程式生成步驟 575

16.8一個示例通知服務應用程式 575

16.9實例和應用程式配置檔案 576

16.9.1實例配置檔案 576

16.9.2應用程式定義檔案 580

16.9.3NSControl 582

16.10事件 584

16.10.1事件類型 584

16.10.2事件存儲過程 587

16.10.3事件提供者 589

16.10.4編目 592

16.11訂閱者和訂閱 593

16.11.1訂閱類型 594

16.11.2訂閱者 595

16.11.3訂閱 597

16.12通知 599

16.13格式化器和分發器 602

16.14傳送 603

16.14.1傳送協定 604

16.14.2定製 606

小結 606

第17章結語:面向服務的資料庫應用程式 607

17.1許多新特性:怎樣使用它們 607

17.2數據模型、編程和SQLServer 607

17.3任一層面的任一功能 608

17.4什麼才是最佳實踐 609

17.5朝著面向服務的資料庫體系結構邁進 615

17.6資料庫作為平台的一部分 617

附錄A.NETFramework101 618

附錄BSQLServerManagementStudio 636

附錄CVisualStudio2005集成:SQLServer項目 654

相關詞條

相關搜尋

熱門詞條

聯絡我們