1. Trang chủ
  2. » Công Nghệ Thông Tin

Hướng dẫn học Microsoft SQL Server 2008 part 2 docx

10 566 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 10
Dung lượng 324,01 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

xxxv Part I Laying the Foundation Chapter 1: The World of SQL Server... Set-based queries...37 Indexing...37 Concurrency...38 Advanced scalability...38 A performance framework...39 Issue

Trang 1

Contents at a Glance

Chapter 35: Asynchronous Messaging with Service Broker 807

Chapter 36: Replicating Data 813

Chapter 37: Performing ETL with Integration Services 829

Chapter 38: Access as a Front End to SQL Server 867

Part VI Enterprise Data Management Chapter 39: Configuring SQL Server 883

Chapter 40: Policy-Based Management 939

Chapter 41: Recovery Planning 953

Chapter 42: Maintaining the Database 985

Chapter 43: Automating Database Maintenance with SQL Server Agent 1011

Chapter 44: Transferring Databases 1039

Chapter 45: Database Snapshots 1059

Chapter 46: Log Shipping 1069

Chapter 47: Database Mirroring 1091

Chapter 48: Clustering 1119

Part VII Security Chapter 49: Authenticating Principals 1169

Chapter 50: Authorizing Securables 1187

Chapter 51: Data Cryptography 1197

Chapter 52: Row-Level Security 1205

Part VIII Monitoring and Auditing Chapter 53: Data Audit Triggers 1223

Chapter 54: Schema Audit Triggers 1233

Chapter 55: Performance Monitor 1237

Chapter 56: Tracing and Profiling 1243

Chapter 57: Wait States 1255

Chapter 58: Extended Events 1261

Chapter 59: Change Tracking 1267

Chapter 60: Change Data Capture 1285

Chapter 61: SQL Audit 1297

Chapter 62: Management Data Warehouse 1305

Part IX Performance Tuning and Optimization Chapter 63: Interpreting Query Execution Plans 1313

Chapter 64: Indexing Strategies 1321

Chapter 65: Query Plan Reuse 1357

Chapter 66: Managing Transactions, Locking, and Blocking 1363

Chapter 67: Data Compression 1415

Chapter 68: Partitioning 1427

Chapter 69: Resource Governor 1453

Part X Business Intelligence Chapter 70: BI Design 1461

Chapter 71: Building Multidimensional Cubes with Analysis Services 1469

Chapter 72: Programming MDX Queries 1509

Chapter 73: Authoring Reports with Reporting Services 1527

Chapter 74: Administering Reporting Services 1559

Chapter 75: Analyzing Data with Excel 1577

Chapter 76: Data Mining with Analysis Services 1593

Appendix A: SQL Server 2008 Specifications 1613

Appendix B: Using the Sample Databases 1619

Index 1625

Trang 2

Foreword .xxxiii

Introduction . xxxv

Part I Laying the Foundation Chapter 1: The World of SQL Server .3

A Great Choice 4

SQL Server Database Engine 6

Database Engine 6

Transact-SQL 8

Policy-Based Management 10

.NET Common Language Runtime 10

Service Broker 11

Replication services 11

Integrated Full-Text Search 11

Server management objects 12

Filestream 12

SQL Server Services 12

SQL Server Agent 12

Database Mail 12

Distributed Transaction Coordinator (DTC) 12

Business Intelligence 14

Business Intelligence Development Studio 14

Integration Services 14

Analysis Services 15

Reporting Services 17

UI and Tools 17

SQL Server Management Studio 18

SQL Server Configuration Manager 18

SQL Profiler/Trace 19

Performance Monitor 19

Command-line utilities 19

Books Online 20

SQL Server Editions 20

Exploring the Metadata 22

System databases 22

Metadata views 22

What’s New? 23

Summary 26

Chapter 2: Data Architecture .27

Information Architecture Principle 28

Database Objectives 28

Usability 29

Extensibility 29

Data integrity 30

Performance/scalability 31

Availability 31

Security 31

Smart Database Design 33

Database system 34

Physical schema 36

Trang 3

Set-based queries 37

Indexing 37

Concurrency 38

Advanced scalability 38

A performance framework 39

Issues and objections 40

Summary 40

Chapter 3: Relational Database Design . 43

Database Basics 43

Benefits of a digital database 44

Tables, rows, columns 45

Database design phases 46

Normalization 47

The three ‘‘Rules of One’’ 47

Identifying entities 48

Generalization 49

Primary keys 51

Foreign keys 52

Cardinality 52

Optionality 52

Data Design Patterns 55

One-to-many pattern 55

One-to-one pattern 56

Many-to-many pattern 56

Supertype/subtype pattern 59

Domain integrity lookup pattern 61

Recursive pattern 61

Database design layers 65

Normal Forms 65

First normal form (1NF) 66

Second normal form (2NF) 67

Third normal form (3NF) 69

The Boyce-Codd normal form (BCNF) 70

Fourth normal form (4NF) 70

Fifth normal form (5NF) 71

Summary 71

Chapter 4: Installing SQL Server 2008 .73

Selecting Server Hardware 73

CPU planning 73

Copious memory 74

Disk-drive subsystems 74

Network performance 76

Preparing the Server 78

Dedicated server 78

Operating system 79

Service accounts 79

Server instances 79

Performing the Installation 81

Attended installations 81

Unattended installations 85

Remote installations 86

Upgrading from Previous Versions 86

Upgrading from SQL Server 2005 87

Migrating to SQL Server 87

Migrating from Access 87

Migration Assistant 88

Removing SQL Server 90

Summary 91

Chapter 5: Client Connectivity . 93

Enabling Server Connectivity 93

Server Configuration Manager 94

SQL Native Client Connectivity (SNAC) 95

Trang 4

SQL Server Native Client Features 96

Requirements 97

Asynchronous operations 97

Multiple Active Result Sets (MARS) 97

XML data types 98

User-defined types 98

Large value types 98

Handling expired passwords 98

Snapshot isolation 99

Summary 99

Chapter 6: Using Management Studio . 101

Organizing the Interface 104

Window placement 104

The Context Menu 106

Registered Servers 107

Managing Servers 107

Server Groups 109

Object Explorer 110

Navigating the tree 110

Filtering Object Explorer 113

Object Explorer Details 113

The Table Designer 114

Building database diagrams 115

The Query Designer 116

Object Explorer reports 118

Using the Query Editor 119

Opening a query connecting to a server 119

Opening a sql file 119

Shortcuts and bookmarks 121

Query options 122

Executing SQL batches 123

Results! 123

Viewing query execution plans 123

Using the Solution Explorer 125

Jump-Starting Code with Templates 126

Using templates 126

Managing templates 126

Summary 126

Chapter 7: Scripting with PowerShell .129

Why Use PowerShell? 130

Basic PowerShell 130

Language features 130

Creating scripts 137

Communicating with SQL Server 142

SQL Server Management Objects 142

ADO.NET 147

Scripting SQL Server Tasks 150

Administrative tasks 150

Data-based tasks 159

SQL Server PowerShell Extensions 161

SQLPS.exe 161

The SQL PSDrive — SQLSERVER: 162

SQL cmdlets 162

Summary 164

Part II Manipulating Data with Select Chapter 8: Introducing Basic Query Flow .167

Understanding Query Flow 168

Syntactical flow of the query statement 168

A graphical view of the query statement 169

Trang 5

Logical flow of the query statement 170

Physical flow of the query statement 171

From Clause Data Sources 171

Possible data sources 171

Table aliases 173

[Table Name] 173

Fully qualified names 174

Where Conditions 175

Using the between search condition 176

Comparing with a list 176

Using the like search condition 179

Multiple where conditions 181

Select where 182

Columns, Stars, Aliases, and Expressions 183

The star 183

Aliases 183

Qualified columns 184

Ordering the Result Set 185

Specifying the order by using column names 185

Specifying the order by using expressions 187

Specifying the order by using column aliases 188

Using the column ordinal position 188

Order by and collation 189

Select Distinct 191

Top () 192

The with ties option 193

Selecting a random row 194

Summary 195

Chapter 9: Data Types, Expressions, and Scalar Functions .197

Building Expressions 197

Operators 198

Bitwise operators 199

Case expressions 202

Working with nulls 204

Scalar Functions 209

User information functions 210

Date and time functions 210

String Functions 214

Soundex Functions 218

Using the SOUNDEX() function 220

Using the DIFFERENCE() Soundex function 221

Data-Type Conversion Functions 222

Server Environment Information 224

Summary 225

Chapter 10: Merging Data with Joins and Unions .227

Using Joins 228

Inner Joins 230

Building inner joins with the Query Designer 231

Creating inner joins within SQL code 231

Number of rows returned 233

ANSI SQL 89 joins 234

Multiple data source joins 235

Outer Joins 236

Using the Query Designer to create outer joins 238

T-SQL code and outer joins 238

Outer joins and optional foreign keys 240

Full outer joins 241

Red thing blue thing 241

Placing the conditions within outer joins 243

Multiple outer joins 244

Self-Joins 244

Cross (Unrestricted) Joins 247

Trang 6

Exotic Joins 248

Multiple-condition joins 248

(theta) joins 249

Non-key joins 249

Set Difference Queries 250

Left set difference query 251

Full set difference queries 252

Using Unions 254

Union [All] 254

Intersection union 255

Difference union/except 256

Summary 257

Chapter 11: Including Data with Subqueries and CTEs . 259

Methods and Locations 259

Simple Subqueries 262

Common table expressions 264

Using scalar subqueries 265

Using subqueries as lists 267

Using subqueries as tables 271

Row constructors 273

All, some, and any 274

Correlated Subqueries 276

Correlating in the where clause 276

Correlating a derived table using apply 280

Relational Division 281

Relational division with a remainder 282

Exact relational division 285

Composable SQL 286

Summary 288

Chapter 12: Aggregating Data .289

Simple Aggregations 289

Basic aggregations 290

Aggregates, averages, and nulls 293

Using aggregate functions within the Query Designer 293

Beginning statistics 294

Grouping within a Result Set 295

Simple groupings 296

Grouping sets 297

Filtering grouped results 298

Aggravating Queries 299

Including group by descriptions 299

Including all group by values 301

Nesting aggregations 303

Including detail descriptions 304

OLAP in the Park 306

Rollup subtotals 306

Cube queries 308

Building Crosstab Queries 309

Pivot method 309

Case expression method 311

Dynamic crosstab queries 312

Unpivot 313

Cumulative Totals (Running Sums) 314

Correlated subquery solution 315

T-SQL cursor solution 315

Multiple assignment variable solution 316

Summary 317

Chapter 13: Windowing and Ranking .319

Windowing 319

The Over() clause 320

Partitioning within the window 321

Trang 7

Ranking Functions 322

Row number() function 322

Rank() and dense_rank() functions 324

Ntile() function 325

Aggregate Functions 326

Summary 327

Chapter 14: Projecting Data Through Views . 329

Why Use Views? 329

The Basic View 331

Creating views using the Query Designer 332

Creating views with DDL code 334

Executing views 334

Altering and dropping a view 336

A Broader Point of View 336

Column aliases 337

Order by and views 337

View restrictions 338

Nesting views 338

Updating through views 340

Views and performance 341

Locking Down the View 341

Unchecked data 342

Protecting the data 342

Protecting the view 343

Encrypting the view’s select statement 344

Application metadata 345

Using Synonyms 345

Summary 346

Chapter 15: Modifying Data .347

Inserting Data 348

Inserting simple rows of values 349

Inserting a result set from select 352

Inserting the result set from a stored procedure 353

Creating a default row 355

Creating a table while inserting data 355

Updating Data 358

Updating a single table 359

Performing global search and replace 360

Referencing multiple tables while updating data 360

Deleting Data 365

Referencing multiple data sources while deleting 366

Cascading deletes 367

Alternatives to physically deleting data 368

Merging Data 369

Returning Modified Data 373

Returning data from an insert 373

Returning data from an update 374

Returning data from a delete 374

Returning data from a merge 374

Returning data into a table 375

Summary 376

Chapter 16: Modification Obstacles . 377

Data Type/Length 377

Primary Key Constraint and Unique Constraint 378

Identity columns 379

Globally unique identifiers (GUIDs) 381

Deleting Duplicate Rows 383

Deleting duplicate rows using windowing 384

Deleting duplicate rows using a surrogate key 385

Deleting duplicate rows using select distant into 386

Foreign Key Constraints 387

Null and Default Constraints 389

Check Constraints 389

Trang 8

Instead of Triggers 390

After Triggers 391

Non-Updateable Views 392

Views With Check Option 393

Calculated Columns 394

Security Constraints 395

Summary 396

Part III Beyond Relational Chapter 17: Traversing Hierarchies .399

Adjacency List Pattern 401

Single-level queries 404

Subtree queries 407

Is the node an ancestor? 415

Determining the node’s level 415

Reparenting the adjacency list 415

Indexing an adjacency list 416

Cyclic errors 416

Adjacency list variations 417

Adjacency list pros and cons 419

The Materialized-Path Pattern 419

Subtree queries 422

Is the node in the subtree? 424

Determining the node level 425

Single-level queries 426

Reparenting the materialized path 427

Indexing the materialized path 427

Materialized path pros and cons 427

Using the New HierarchyID 428

Selecting a single node 430

Scanning for ancestors 430

Performing a subtree search 431

Single-level searches 431

Inserting new nodes 432

Performance 432

HierarchyID pros and cons 433

Summary 433

Chapter 18: Manipulating XML Data .435

XML Processing in SQL Server 2008 436

Generating XML documents 437

Querying XML documents 437

Validating XML documents 438

Sample Tables and Data 440

XML Data Type 441

Typed and untyped XML 442

Creating and using XML columns 443

Declaring and using XML variables 444

Using XML parameters and return values 445

Loading/querying XML documents from disk files 446

Limitations of the XML data type 447

Understanding XML Data Type Methods 448

XPath 449

value() 449

nodes() 449

exist() 450

query() 451

modify() 451

Joining XML nodes with relational tables 451

Using variables and filters in XQuery expressions 452

Accessing the parent node 454

Generating XML Output Using FOR XML 455

FOR XML AUTO 455

FOR XML RAW 457

Trang 9

FOR XML EXPLICIT 458

FOR XML PATH 464

TYPE directive 468

XSINIL Directive 469

Generating XML Schema information 470

Generating XML namespaces 471

Understanding XQuery and FLWOR operations 472

Simple queries 472

FLWOR operation 473

What’s new for XQuery in SQL Server 2008 475

Understanding XQuery Functions 476

String functions 476

Numeric and aggregate functions 476

Other functions 477

Performing XML Data Modification 477

Insert operation 478

Update operation 478

Delete operation 479

What’s new for XML DML operations in SQL Server 2008 479

Handling Namespaces 480

Shredding XML Using OPENXML() 481

XSD and XML Schema Collections 483

Creating an XML Schema collection 483

Creating typed XML columns and variables 484

Performing validation 484

XML DOCUMENT and CONTENT 485

Altering XML Schema collections 485

What’s in the ‘‘collection’’? 485

What’s new in SQL Server 2008 for XSD 487

Understanding XML Indexes 487

XML Best Practices 488

Summary 489

Chapter 19: Using Integrated Full-Text Search .491

Configuring Full-Text Search Catalogs 494

Creating a catalog with the wizard 494

Creating a catalog with T-SQL code 496

Pushing data to the full-text index 496

Maintaining a catalog with Management Studio 497

Maintaining a catalog in T-SQL code 498

Word Searches 498

The Contains function 498

The ContainsTable function 499

Advanced Search Options 501

Multiple-word searches 501

Searches with wildcards 502

Phrase searches 502

Word-proximity searches 502

Word-inflection searches 504

Thesaurus searches 504

Variable-word-weight searches 505

Fuzzy Searches 507

Freetext 507

FreetextTable 507

Performance 508

Summary 508

Part IV Developing with SQL Server Chapter 20: Creating the Physical Database Schema .513

Designing the Physical Database Schema 514

Logical to physical options 515

Refining the data patterns 515

Designing for performance 515

Trang 10

Responsible denormalization 516

Designing for extensibility 517

Creating the Database 517

The Create DDL command 517

Database-file concepts 519

Configuring file growth 520

Using multiple files 522

Planning multiple filegroups 525

Creating Tables 526

Designing tables using Management Studio 526

Working with SQL scripts 528

Schemas 529

Column names 530

Filegroups 531

Creating Keys 532

Primary keys 532

The surrogate debate: pros and cons 532

Database design layers 534

Creating foreign keys 537

Creating User-Data Columns 542

Column data types 542

Calculated columns 546

Sparse columns 546

Column constraints and defaults 547

Creating Indexes 550

Composite indexes 552

Primary keys 552

Filegroup location 552

Index options 553

Include columns 553

Filtered indexes 553

Summary 556

Chapter 21: Programming with T-SQL .559

Transact-SQL Fundamentals 560

T-SQL batches 560

T-SQL formatting 562

Variables 563

Variable default and scope 563

Using the set and select commands 564

Incrementing variables 565

Conditional select 566

Using variables within SQL queries 566

Multiple assignment variables 567

Procedural Flow 568

If 569

While 570

Goto 571

Examining SQL Server with Code 572

Dynamic Management Views 572

sp_help 572

System functions 573

Temporary Tables and Table Variables 574

Local temporary tables 574

Global temporary tables 575

Table variables 576

Summary 577

Chapter 22: Kill the Cursor! . 579

Anatomy of a Cursor 580

The five steps to cursoring 580

Managing the cursor 581

Watching the cursor 583

Cursor options 583

Update cursor 584

Ngày đăng: 04/07/2014, 09:20

TỪ KHÓA LIÊN QUAN