
First Look at SQL Server 2005 for Developers : 'Yukon' Beta for Developers
by Beauchemin, Bob; Berglund, Niels; Sullivan, Dan-
Receive Free Shipping To The More Store!*
*Marketplace items do not qualify for the free shipping promotion.
Rent Book
New Book
We're Sorry
Sold Out
Used Book
We're Sorry
Sold Out
eBook
We're Sorry
Not Available
How Marketplace Works:
- This item is offered by an independent seller and not shipped from our warehouse
- Item details like edition and cover design may differ from our description; see seller's comments before ordering.
- Sellers much confirm and ship within two business days; otherwise, the order will be cancelled and refunded.
- Marketplace purchases cannot be returned to eCampus.com. Contact the seller directly for inquiries; if no response within two days, contact customer service.
- Additional shipping costs apply to Marketplace purchases. Review shipping costs at checkout.
Summary
Table of Contents
Foreword | p. xxi |
Foreword | p. xxv |
Foreword | p. xxvii |
About the Authors | p. xxix |
Preface | p. xxxi |
Acknowledgments | p. xxxvii |
Introduction | p. 1 |
The .NET Runtime and the Microsoft Platform | p. 1 |
.NET's Effects on SQL Server | p. 3 |
The SQL: 1999 Standard--Extending the Relational Model | p. 8 |
User-Defined Types and SQL Server | p. 10 |
XML--Data and Document Storage | p. 13 |
Web Services--XML as a Marshaling Format | p. 19 |
Client Access--And Then There Are Clients | p. 20 |
ObjectSpaces--Objects on the Middle Tier or Client | p. 23 |
Extending SQL Server into the Platform--Service Broker and Notification Services | p. 24 |
Where Are We? | p. 26 |
Hosting the Runtime: SQL Server as a Runtime Host | p. 27 |
Why Care How Hosting Works? | p. 27 |
What Is a .NET Runtime Host? | p. 28 |
SQL Server as a Runtime Host | p. 29 |
Loading the Runtime--Processes and AppDomains | p. 35 |
Safe Code--How the Runtime Makes It Safer to Run "Foreign Code" | p. 37 |
Where the Code Lives--Storing .NET Assemblies (Create Assembly) | p. 39 |
Assembly Dependencies--When Your Assemblies Use Other Assemblies | p. 42 |
Assemblies and SQL Schemas--Who Owns Assemblies (Information Schema) | p. 44 |
Maintaining User Assemblies (Alter Assembly, Drop Assembly) | p. 48 |
Specification Compliance | p. 51 |
Conclusions | p. 52 |
Where Are We? | p. 52 |
Procedures and Functions in .NET Languages | p. 53 |
Extending SQL Server | p. 53 |
CLR Methods in SQL Server | p. 55 |
System.Data.SqlTypes | p. 60 |
Procedures | p. 75 |
Scalar-Valued Functions | p. 81 |
Table-Valued Functions | p. 86 |
Triggers | p. 92 |
Where Are We? | p. 93 |
The In-Process Data Provider | p. 95 |
The SQL Server Programming Model | p. 95 |
Context--The SqlContext Class | p. 99 |
Connections | p. 102 |
Commands--Making Things Happen | p. 106 |
SqlExecutionContext and SqlDefinition | p. 110 |
Obtaining Results | p. 112 |
Transactions | p. 115 |
Pipe | p. 121 |
Exception Handling | p. 123 |
SqlTriggerContext | p. 126 |
Where Are We? | p. 129 |
User-Defined Types and Aggregates | p. 131 |
Why Do We Need User-Defined Types? | p. 131 |
Alias Types | p. 132 |
Overview of User-Defined Types | p. 133 |
Creating a User-Defined Type | p. 135 |
Implementing a User-Defined Type | p. 136 |
Implementing LDim | p. 142 |
Should Objects Be Represented by User-Defined Types? | p. 162 |
User-Defined Aggregates | p. 165 |
Where Are We? | p. 173 |
Security | p. 175 |
New Security Features in SQL Server 2005 | p. 175 |
Optional Features Are Turned Off by Default | p. 177 |
A Quick Review of SQL Server Security Concepts with Enhancements | p. 178 |
SQL Server Password Policies and Credentials | p. 186 |
Separation of Users and Schemas | p. 189 |
Specifying Execution Context for Procedural Code | p. 194 |
SQL Server Permissions and the New Objects | p. 197 |
Assembly Permissions--Who Can Catalog and Use an Assembly? | p. 198 |
Permissions, Visibility, UDTs, and User-Defined Aggregates | p. 202 |
What Can .NET Code Do from within SQL Server: Safety Levels | p. 204 |
Where Are We? | p. 209 |
T-SQL Enhancements | p. 211 |
Improvements to Transact-SQL | p. 211 |
SNAPSHOT Isolation | p. 212 |
Statement-Level Recompilation | p. 222 |
DDL Triggers | p. 226 |
Event Notifications | p. 231 |
Large Value Data Types | p. 235 |
T-SQL Language Enhancements | p. 236 |
Transaction Abort Handling | p. 263 |
Where Are We? | p. 264 |
XML in the Database: The XML Data Type | p. 265 |
The XML Data Type | p. 265 |
Using the XML Data Type in Tables | p. 266 |
Using XML Data Variables and Parameters | p. 271 |
Typed and Untyped XML--Cataloging and Using XML Schema Collections | p. 272 |
Creating an Index on an XML Column | p. 282 |
XML Type Functions | p. 283 |
SELECT ... FOR XML Enhancements | p. 284 |
Mapping SQL and XML Data Types | p. 294 |
OpenXML Enhancements | p. 297 |
Using XMl Bulk Load inside the Database | p. 299 |
ANSI SQL Standard Compliance | p. 300 |
Where Are We? | p. 304 |
XML Query Languages: XQuery and XPath | p. 305 |
What Is XQuery? | p. 305 |
An Introduction to XQuery | p. 307 |
Comparing and Contrasting XQuery and SQL | p. 318 |
Using XQuery with the XML Data Type | p. 321 |
XML DML--Updating XML Columns | p. 337 |
Special Considerations When Using XQuery inside SQL Server | p. 343 |
Where Are We? | p. 345 |
SQL Server as a Platform for Web Services | p. 347 |
Mixing Databases and Web Services | p. 347 |
HTTP Endpoint Declaration | p. 349 |
Endpoint State | p. 351 |
Parameters That Relate to Serving HTTP | p. 351 |
Security Choices and XML Web Services | p. 353 |
Defining Access through HTTP | p. 358 |
HTTP Endpoint Metadata Views | p. 361 |
XML Input and Output Types from SQL Server Web Services | p. 361 |
Using the XML Data Type and Web Services | p. 372 |
Accessing HTTP Endpoints with .NET Code | p. 374 |
Where Are We? | p. 381 |
ADO and ADO.NET Enhancements | p. 383 |
User-Defined Types and Relational Data Access APIs | p. 383 |
Using .NET UDTs in ADO.NET | p. 384 |
Fetching UDT Data from a DataReader | p. 385 |
Using the SqlMetaData Class | p. 389 |
Using .NET UDTs in ODBC, OLE DB, and ADO Clients | p. 392 |
Supporting and XML Data Type in ADO and ADO.NET Clients | p. 399 |
Using the New Types with the .NET DataSet and SqlDataAdapter | p. 403 |
Comparing the Client and Server Model for Stored Procedures | p. 407 |
Where Are We? | p. 407 |
SQL Client Enhancements | p. 409 |
ADO.NET 2.0 and the SqlClient Data Provider | p. 409 |
Multiple Active Resultsets | p. 413 |
Notification Support | p. 418 |
Asynchronous Support | p. 422 |
Snapshot Isolation | p. 427 |
Bulk Import in SqlClient | p. 429 |
Miscellaneous Features | p. 432 |
Where Are We? | p. 434 |
Client-Side XML: SQLXML and Mapping | p. 437 |
The Common Query Abstraction | p. 438 |
Mapping between Different Data Models | p. 441 |
XML Queries over XML Views of Relational Data | p. 448 |
Using XQuery Command with SQL Server or XML Documents | p. 450 |
Client versus SQL Server XQuery Functionality | p. 453 |
SqlXml Bulk Load and the SqlXmlRowsetAdapter | p. 454 |
SqlXml DBObject | p. 456 |
Where Are We? | p. 457 |
ObjectSpaces | p. 459 |
Introduction to Object-Relational Mapping | p. 459 |
A Simple ObjectSpaces Application | p. 462 |
Data Manipulation Classes in the ObjectSpaces API | p. 469 |
Accessing a Database with the ObjectSpace | p. 469 |
Patterns and Mapping | p. 471 |
Maintaining Object Identity and State | p. 480 |
Reading Objects with an ObjectReader | p. 484 |
ObjectSet | p. 486 |
The ObjectSpaces Query Model | p. 488 |
OPath Language Essentials | p. 490 |
Manipulating Graphs of Related Objects--Optimizations | p. 495 |
Beyond the ObjectSpace Class--Customizations | p. 501 |
Where Are We? | p. 502 |
SQL Server Service Broker | p. 503 |
Messaging Applications | p. 503 |
SQL Server Service Broker Overview | p. 505 |
Service Broker Applications Guidelines | p. 518 |
Service Broker Example | p. 519 |
Message Type | p. 519 |
Contracts | p. 523 |
Queues | p. 524 |
Services | p. 529 |
Dialogs | p. 531 |
Service Programs | p. 536 |
Routes | p. 547 |
Security | p. 549 |
Where Are We? | p. 555 |
Notification Services | p. 557 |
What Is SQL Server Notification Services? | p. 557 |
Notification Applications | p. 559 |
Components of SQl Server Notification Services | p. 561 |
Notification Applications Design Patterns | p. 565 |
Notification Services Delivery Features | p. 566 |
Terms Used in Notification Services | p. 566 |
Designing, Coding, and Generating a Notification Services Application | p. 567 |
A Sample Notification Application | p. 569 |
Instance and Application Configuration Files | p. 570 |
Events | p. 580 |
Subscribers and Subscriptions | p. 592 |
Notifications | p. 600 |
Distributor and Formatters | p. 603 |
Delivery | p. 605 |
Where Are We? | p. 609 |
Wrap-up: Relations, XML, Objects, and Services | p. 611 |
Lots of New Features | p. 611 |
Data Models, Programming, and SQL Server | p. 612 |
Any Functionality at Any Tier | p. 613 |
So Which Tier and What Data Model? | p. 615 |
The Database as Part of the Platform | p. 618 |
.NET 101 | p. 621 |
The Common Language Runtime | p. 621 |
Assemblies and Modules | p. 624 |
The CLR Type System | p. 629 |
Members of Types | p. 637 |
Memory Management | p. 641 |
Tools Integration | p. 645 |
SQL Server Management Studio | p. 645 |
Visual Studio 2005 | p. 655 |
Bibliography | p. 663 |
Index | p. 665 |
Table of Contents provided by Rittenhouse. All Rights Reserved. |
Excerpts
An electronic version of this book is available through VitalSource.
This book is viewable on PC, Mac, iPhone, iPad, iPod Touch, and most smartphones.
By purchasing, you will be able to view this book online, as well as download it, for the chosen number of days.
Digital License
You are licensing a digital product for a set duration. Durations are set forth in the product description, with "Lifetime" typically meaning five (5) years of online access and permanent download to a supported device. All licenses are non-transferable.
More details can be found here.
A downloadable version of this book is available through the eCampus Reader or compatible Adobe readers.
Applications are available on iOS, Android, PC, Mac, and Windows Mobile platforms.
Please view the compatibility matrix prior to purchase.