MCTS Self-Paced Training Kit (Exam 70-431): Microsoft … CHECKDB, 469–472 RECEIVE, 804 RESTORE,...
Transcript of MCTS Self-Paced Training Kit (Exam 70-431): Microsoft … CHECKDB, 469–472 RECEIVE, 804 RESTORE,...
923
Index
Symbols1205 errors, 58632-bit editions, infrastructure requirements for
installation, 10–1364-bit editions, infrastructure requirements for
installation, 13–15
Aabstraction, services, 795access control list (ACL), 732accessing hardware counters, 573AccountingMgr database role, 84ACL (access control list), 732ACTIVATION clause (CREATE QUEUE command), 792active logs, 419ad hoc SQL, enabling, 487Add Publisher dialog box, 763administrative tasks
implementation of Database Snapshots, 613scheduling, 525–526
Advanced page (New Job Step window), 499AdventureWorks database, restoring, 435AFTER triggers, 367Agent History Clean Up, Distribution Agent, 704agents
permissions, 733–734replication, 703–704
aggregate functions, querying data with Transact-SQL, 177–178
alerts, configurationmonitoring replication, 764–765SQL Server Agent jobs, 519–523
alias names, tables, 172ALL option (ALTER INDEX...REBUILD statement), 453ALTER DATABASE AUTO_SHRINK option, 463ALTER DATABASE statement, 465
modifying data and log file configuration, 55syntax, 57
ALTER ENDPOINT statement, 485ALTER FULLTEXT INDEX command, 826ALTER INDEX Transact-SQL statement, disabling
indexes, 158ALTER INDEX...REBUILD
ALL option, 453index fragmentation management, 452–453ONLINE option, 453
ALTER INDEX...REORGANIZE, index fragmentation management, 452
ALTER PARTITION FUNCTION command, SPLIT and MERGE operators, 226–227
ALTER SCHEMA statement, 85ALTER SERVICE MASTER KEY statement, 89ALTER TABLE command, SWITCH operators, 227ALTER TABLE statement, 131ALTER USER statement, modifying user properties, 81American National Standards Institute. See ANSIannotated keywords, XSD schemas, 299ANSI (American National Standards Institute), 112API (application programming interface), 532applications, Service Broker, 775–811
architecture, 778–783case scenarios, 809–810contracts, 784, 787, 788conversations, 798–802key terms, 808–809message types, 784–785, 787–788practice tasks, 810–811queues, 790–794, 796Real World scenarios, 776–777receiving messages, 803, 804, 805–806sending messages, 803–804, 805–806services, 790, 795, 796
approximate numeric data types, 110–111architecture
Database Mail configuration, 64full-text indexes, 820–821Service Broker, 778–783
contracts, 780conversations, 779–780enabling Service Broker, 781–782endpoints, 779initiator, 779message types, 780messaging-application interaction, 780–781messaging overview, 778–779queues, 780services, 780targets, 779
archiving data, case scenario, 234articles (replication), 698–699AS clause (CREATE VIEW command), 241AS DEFAULT clause (CREATE FULLTEXT CATALOG
command), 818AS modifier, 189AS SNAPSHOT OF clause (CREATE DATABASE
command), 605ASC keyword, 155assigning permissions to a role, stored procedures,
363–364asymmetric keys, encryption (SQL Server 2005
configuration), 89–90
Z03I62271X.fm Page 923 Monday, May 1, 2006 12:45 PM
924
asynchronous applications, Service Brokerarchitecture, 778–783case scenarios, 809–810contracts, 786–787, 788conversations, 798–802key terms, 808–809message types, 784–785, 787–788practice tasks, 810–811queues, 790–794, 796Real World scenarios, 776–777receiving messages, 804, 805–806sending messages, 803–804, 805–806services, 795, 796
asynchronous processing, 790Attach method, upgrading to SQL Server 2005
installation, 37, 42–43attach operations, moving databases, 437, 440auditing components, Database Mail architecture, 64authentication
database mirroring, 628HTTP endpoint security, 480modes
configuration, server security principals, 74–75, 78installation, new instances, 23
AUTHORIZATION clauseCREATE CONTRACT command, 786CREATE FULLTEXT CATALOG command, 818CREATE MESSAGE TYPE command, 784
AutoCreatedLocal default route, 800AUTO_CREATE_STATISTICS database option, 457–458automatic generation, statistics, Transact-SQL database
management, 457–458AUTO_SHRINK option (ALTER DATABASE), 463AVG aggregate function, 177
BB-trees (Balanced trees), index structure, 149–151backing up databases, 416–426
differential backups, 418–419filegroup backups, 420–421full backups, 417–418locations, 422mirrored backups, 421–422partial backups, 422–423permissions, 416practice tasks, 445
differential backups, 423filegroup backups, 424–425full backups, 423transaction log backups, 423, 424–425
transaction log backups, 419–420backup and restore process, database mirroring, 623BACKUP command, 421
FORMAT clause, 422READ_WRITE_FILEGROUPS clause, 422
BACKUP DATABASE command, 418
backup devices, 417backup files, 38
placement, 503BACKUP LOG command, 431BACKUP LOG...WITH TRUNCATE_ONLY command,
430Backup method, upgrading to SQL Server 2005
installation, 38, 43–44backup options
log shipping configuration, 659–660setting up replication, 722
backup plans, maintenance tasks, 507BACKUP SERVICE MASTER KEY statement, 88backup striping, 421backward compatibility, login management, 77balance of index maintenance, nonclustered indexes,
162–163Balanced trees. See B-Treesbaseline trace configuration, SQL Server Profiler,
545–546bcp utility, 387–392
command-line syntax, 388defined, 387hint parameter, 389importing data, 390–392limitations, 387parameters, 388, 389permissions, 389
BEGIN DIALOG CONVERSATION command, 799BEGIN TRANSACTION command, 198best-effort restore, 434BIDS (Business Intelligence Development Studio), SSIS
Import/Export wizard, 402binary data types, 115binding rules, constraints, 129blocking issues, 582–592
isolation levels, 583–584locking, 582–583termination, 585
broken ownership chains, 242–243built-in aggregate functions, querying data with
Transact-SQL, 177built-in functions, formatting result sets with
Transact-SQL, 186–187built-in system accounts, SQL Server and SQL Server
Agent services, 22BULK INSERT command, 393–397
bcp vs., 393–395importing data, 396–397parameters, 394–395permissions, 395
bulk loading XML files, 330–332Bulk-Logged recovery models, 70
database mirroring, 622Business Intelligence Development Studio. See BIDS
asynchronous applications
Z03I62271X.fm Page 924 Monday, May 1, 2006 12:45 PM
925
Ccaching, operating modes, 638case expressions
output paths, 177querying data with Transact-SQL, 176syntax, 176
case scenariosdatabase design, 143–144database management, 474–475Database mirroring, 648Database Snapshots, 613databases, 444flat files, 410Full-Text Search, 837HTTP endpoints, 491–492indexes, 167log shipping, 691–692partitions, 234performance monitoring, 598programmable objects, 376replication management, 772Service Broker, 809–810SQL Server 2005 configuration, 101–102SQL Server 2005 installation, 47–48SQL Server Agent jobs, 525–526Transact-SQL, 203–204views, 253XML data management, 342–344
CAST function, 177catalog of changed pages, 604certificates, encryption, 90char data types, 114character data types, 112–115check constraints, 127–128
foreign key constraints vs., 132CHECK_EXPIRATION option (CREATE LOGIN
statement), 75checklists, upgrading SQL Server 2005 installation, 40CHECK_POLICY option (CREATE LOGIN statement),
75Choose a Destination page (SSIS Import/Export wizard),
404–405clean up, tables, 122closure, XQUERY querying language, 286CLR (Common Language Runtime), 186CLR UDTs, 138–139
formatting result sets with Transact-SQL, 188clustered indexes, 154–160, 449
creating, 159disabling, 158implementation, 154–158physical ordering, 154relational index options, 156–158selection, 155
clustering keys, 154code efficiency, stored procedures, 365
code pages, 24code testing, transactions, 199collation setting, new instances, 24column-level check constraints, 127columns
aliases, 189decryption, 91–92encryption, 91–92output, 189–190statistics, 458–459
COM-based resolvers, 749commands. See also statements
ALTER FULLTEXT INDEX, 826ALTER PARTITION FUNCTION, 226–227ALTER TABLE, 227BACKUP, 421BACKUP DATABASE, 418BACKUP LOG, 431BACKUP LOG...WITH TRUNCATE_ONLY, 430bcp, 388BEGIN DIALOG CONVERSATION, 799BEGIN TRANSACTION, 198BULK INSERT, 393–397
bcp vs., 393–395importing data, 396–397parameters, 394–395permissions, 395
COMMIT TRANSACTION, 198CREATE CONTRACT, 786CREATE DATABASE, 605CREATE FULLTEXT CATALOG, 817–818CREATE FULLTEXT INDEX, 821–823CREATE INDEX, 154, 218, 249CREATE MESSAGE TYPE, 784CREATE PARTITION FUNCTION, 210–212CREATE PARTITION SCHEME, 215CREATE QUEUE, 791CREATE SERVICE, 795CREATE TABLE, 119, 194, 218CREATE TYPE, 137CREATE VIEW, 240–243DBCC CHECKDB, 469–472RECEIVE, 804RESTORE, 428RESTORE DATABASE, 610RESTORE VERIFYONLY (previous versions), 434ROLLBACK TRANSACTION, 198SEE STATISTICS PROFILE ON, 830SELECT INTO, 194SEND, 803–804terminator, 803
COMMIT TRANSACTION command, 198Common Language Runtime. See CLRCommon Language Runtime UDTs. See CLR UDTscompanion CD, xxxivComplete the Wizard screen (SSIS Import/Export
wizard), 406–407
Complete the Wizard screen
Z03I62271X.fm Page 925 Monday, May 1, 2006 12:45 PM
926
compositionality, XQUERY querying language, 286COMPUTE BY clause (CREATE VIEW command), 241COMPUTE clause (CREATE VIEW command), 241computed columns, tables, 118concurrency
handling database issues, 316replication performance, 767
configurationalerts
monitoring replication, 764–765SQL Server Agent jobs, 519–523
baseline trace, SQL Server Profiler, 545–546Database Mail architecture, 64database mirroring, 630distribution database, 707Distributor, 706–710log shipping monitor server, 685–686log shipping options, 658–675
backup options, 659–660Copy Files task, 665preparing environment, 671–673primary database, 658–659, 673restore options, 665–666scripting, 661–663secondary database, 663–665, 673–674
noise words (full-text indexes), 821operating modes, database mirroring, 639–640operators, SQL Server Agent jobs, 515–518publications, 710–715replication security, 731–746
agent permissions, 733–734environment, 731–732publications, 732–733transactional replication, 734–745
snapshot replication, 722–729configuring publishing and distribution, 723–725configuring subscription, 727–729preparation of environment, 722–723snapshot publication, 725–727testing replication configuration, 729
SQL Server 2005, 51–102case scenarios, 101–102Database Mail, 63–69database securables, 81–87encryption, 88–93key terms, 100linked servers, 94–98log and data files, 53–62practice tasks, 102Real World scenarios, 52recovery models, 70–73server security principals, 74–80
Subscriber, 715–718System Monitor counter logs, 552–553
Configure Database Mirroring Security wizard, 631Configure Destination Database page (Copy Database
Wizard), 438
Configure Distribution wizard, 707Configure System Parameters page (Database Mail
Configuration Wizard), 66conflict resolution, configuring for merge replication,
747–760basics, 747deleting previous setup, 751–752merge publications, 752–754resolvers, 747–751subscribing to publication, 754–755verification, 755–759
conflict resolvers, 747–751Minimum, 753stored procedures, 749
CONNECT authority, endpoints, 629CONNECT permission (HTTP endpoints), 481Connect to Server dialog box, 664consolidated performance view, correlation of data,
580–581constraints, 127–136
check constraints, 127–128default constraints, 129foreign key constraints, 130–131pattern matching, 128practice, 133–135primary key constraints, 130rules, 128–129unique constraints, 129–130
CONTAINS functionfull-text index data queries, 831–833full-text searches, 179–180
CONTAINSTABLE functionfull-text index data queries, 833full-text searches, 180
context, databases, 503contract_name clause (CREATE CONTRACT
command), 786contracts, Service Broker, 780, 784, 786–787, 788CONTROL permission, 89conversations, Service Broker, 798–802
architecture, 779–780creating, 798–799, 801routing messages to a service, 800–801
CONVERT function, 177cooperative multiprocessing model, 575Copy Database Wizard
moving databases, 438–439upgrading to SQL Server 2005 installation, 38
Copy Files task, log shipping configuration, 665copy-on-write technology, Database Snapshots, 603–604copy system objects, database mirroring, 623–624correlation of data, performance and monitoring data,
575–581consolidated performance view, 580–581DMVs/DMFs and System Monitor, 579DMVs/DMFs with traces, 578
compositionality
Z03I62271X.fm Page 926 Monday, May 1, 2006 12:45 PM
927
multiple DMVs/DMFs, 579–580query processing architecture, 575–577System Monitor and Profiler, 577
corrupt pages, restoring databases, 432–433counter logs, System Monitor, 550–553counters, 765–766covering indexes, nonclustered indexes, 162crawl, 825CREATE ASYMMETRIC KEY statement, 90CREATE CERTIFICATE statement, 90CREATE CONTRACT command, 786CREATE DATABASE command, 264, 605, 709–710
configuring data and log files, 55syntax, 57
CREATE ENDPOINT statement, 484–485CREATE FULLTEXT CATALOG command, 817–818CREATE FULLTEXT INDEX command, 821–823CREATE FUNCTION statement, 352, 353CREATE INDEX command, 154, 218, 249CREATE LOGIN statement, 75CREATE MASTER KEY statement, 89CREATE MESSAGE TYPE command, 784CREATE PARTITION FUNCTION command, 210–212CREATE PARTITION SCHEME command, 215CREATE QUEUE command, 791CREATE ROUTE statement, 800–801CREATE SERVICE command, 795CREATE STATISTICS statement, 458, 459CREATE SYMMETRIC KEY statement, 89CREATE TABLE command, 119, 194, 218, 265CREATE TABLE permission, 119CREATE TYPE command, 137CREATE VIEW command, 240–243creating
Database Snapshots, 603–608copy-on-write technology, 603–604retrieving data from, 606structure, 603
DDL triggers, 373–374DML triggers, 372–373full-text catalogs, 817–819full-text indexes, 820–824, 821–824functions, 357–358HTTP endpoints, 484–487
namespaces, 486practice, 488schemas, 486SOAP payload parameters, 486–487Web methods, 485WSDL support, 486
indexes, 147–168case scenarios, 167clustered indexes, 154–160key terms, 166–167nonclustered indexes, 161–164practice tasks, 167–168Real World scenarios, 148structure, 149–153
linked servers, SQL Server 2005 configuration, 94–96partitions, 207–235
case scenarios, 234indexes, 218–222key terms, 233–234management, 226–231partition functions, 210–214partition schemes, 215–217practice tasks, 234–235querying, 223–225Real World scenarios, 208tables, 218–222
Service Broker conversations, 798–799, 801SQL Server Agent jobs, 495–503
job schedules, 500–501job steps, 495–496, 497–500practice, 502–503specifying job owners, 497
statistics, Transact-SQL database management, 459–460
stored procedures, 360–362, 360–366, 364–365System Monitor counter logs, 550–553tables, 107–126
computed columns, 118data types, 107–117identity, 118nulls, 117–118permanent tables, 119–121permissions, 123–125practice, 125–126space utilization, 110temporary tables, 121–122variables, 122–123
views, 240–244CREATE VIEW command, 240–243ownership chains, 242–243practice, 243–244
XML indexes, 334–340primary indexes, 335–336secondary indexes, 336–338
XML schemas, 263–267CROSS APPLY operator, 326–327, 572cross-reference tables, 135cursors, data modification with Transact-SQL, 192–193
DDAC (dedicated administrator connection), error
handling, 593–595, 594–595data
correlation of, performance and monitoring, 575–581destination, flat files, 381–382files, configuration, 53, 55–57, 58import/export
bcp utility, 390–392BULK INSERT command, 396–397upgrading to SQL Server 2005 installation, 39
data
Z03I62271X.fm Page 927 Monday, May 1, 2006 12:45 PM
928
data definition language (DDL) triggers. See DDL (data definition language) triggers
data-formatting functions, 186–187data() function, 289data manipulation language (DML) triggers. See DML
(data manipulation language) triggersdata modification
Transact-SQL, 192–197cursors, 192–193SELECT INTO command, 194temporary tables, 193–194, 195–196
views, 245–247data pages, 449, 450data queries
full-text indexes, 828–835CONTAINS function, 831–833CONTAINSTABLE function, 833FREETEXT function, 829–830FREETEXTTABLE function, 830–831
Transact-SQL, 171–185Data Transformation Services. See DTSdata types, 107–117
approximate numeric, 110–111binary, 115character, 112–115date and time, 112defining new data types, 138–139definitions, 108exact numeric, 109–110instances, XML indexes, 334mismatches, 134monetary, 111–112specialized, 115–116
database administrators. See DBAsDatabase Engine Tuning Advisor. See DTAdatabase-level roles, 620Database Mail
accounts, 64configuration
architecture, 64Database Mail Configuration Wizard, 64–66practice, 67prerequisites, 63
profiles, 64SQL Server 2005 configuration, 63–69stored procedures, 66
Database Mail Configuration Wizard, 64–66database management systems. See DBMSsdatabase master keys, 782database mirroring, 419, 615–650
case scenarios, 648configuration, 630enabling with trace flag 1400, 616endpoints, 627–633
establishing, 630–632port numbers, 628security, 628–629TCP vs. HTTP, 627
failover, 642–644initiation, 643scenarios, 642–643
initialization mechanism, 623key terms, 647–648manual failover, 642operating modes, 634–641
caching, 638configuration, 639–640High Availability operating mode, 635–637High Performance operating mode, 637High Protection operating mode, 638Real World scenarios, 634–635Transparent Client Redirection, 639
practice tasks, 649–650preparation of databases, 622–626
backup and restore process, 623copy system objects, 623–624recovery model, 622
Real World scenarios, 616–617removing, 645–646roles, 618–621
mirror role, 619principal role, 619witness server, 619–620
sessions, 605, 619Database Properties - Adventure Works dialog box, 632database securables, SQL Server 2005 configuration,
81–87database roles, 82–84management of database users, 81–82schema management, 84–85
Database Snapshots, 601–614case scenarios, 613copy-on-write technology, 603–604creating, 603–608key terms, 612practice tasks, 613–614Real World scenarios, 602restrictions, 605retrieving data from, 606reverting a database from, 609–611structure, 603
DATABASE_MIRRORING (endpoint payload), 480databases, 413–446
backing up, 416–426differential backups, 418–419filegroup backups, 420–421full backups, 417–418in-place upgrades, 35locations, 422mirrored backups, 421–422partial backups, 422–423permissions, 416transaction log backups, 419–420
case scenarios, 444configuration, 57–60, 58–60
data definition language
Z03I62271X.fm Page 928 Monday, May 1, 2006 12:45 PM
929
consistency, upgrading SQL Server 2005 installation, 40
context, 503errors, 593–595
DAC, 593–595, 594–595review of error logs, 594
indexing case scenario, 167key terms, 443management of roles, 82–84moving, 437–441
Copy Database Wizard, 438–439Detach/Attach, 437, 440
overwriting, 428practice tasks, 445–446
backing up, 445moving, 446restoring, 445
restoring, 38, 427–436AdventureWorks database, 435backup validation, 434corrupt pages, 432–433differential backups, 429filegroup differential backups, 429full backups, 427–428media errors, 433–434partial restores, 432transaction log backups, 430–431
shrinking files, 465–466statistics, DMVs and DMFs, 568–569structure, 414–416tables, 107–126, 134
alias names, 172clean up, 122computed columns, 118cross-reference tables, 135data types, 107–117deleting, 121design, 119identity, 118implementation, 104log_shipping_monitor_error_detail, 684–685log_shipping_monitor_history_detail, 684–685naming conventions, 119normalization, 119nulls, 117–118partitions, 218–222permanent tables, 119–121permissions, 123–125querying data with Transact-SQL, 171–172referencing, 132space utilization, 110temporary tables, 121–122variables, 122–123
Transact-SQL management, 447–476DBCC CHECKDB command, 469–472index fragmentation, 449–456Real World scenarios, 448
shrinking files, 463–468statistics, 457–462
usersmanagement, 81–82removing, 82
date and time data types, 112datetime data types, 112DBAs (database administrators), 602DBCC CHECKDB command, 469–472
execution of statement, 470–471integrity issues, 469practice tasks, 476
DBCC SHOW_STATISTICS statement, 459DBCC SHRINKDATABASE statement, 464DBCC SHRINKFILE statement, 464DBMSs (database management systems), 138–80dbo schema, creating tables, 120db_owner rights, 740–741DDL (data definition language) triggers, 367, 371–372
creating, 373–374event groups, 372
deadlock detection, 586deadlock traces, 586deadlock victim, 586deadlocking issues, 582–592, 585–591
isolation levels, 583–584locking, 582–583
decimal data types, 109, 110DecryptByAsmKey function, 90DecryptByCert function, 90DecryptBYKey function, 89decryption, columns, 91–92dedicated administrator connection. See DACdefault constraints, 129default filegroups, 54default instances, SQL Server 2005 installation, 17–18delegation security mode, linked servers, 97delete keyword, XML DML, 311Delete Object dialog box, 735DELETE operations, 450DELETED tables, triggers, 368–369deleting tables, 121dequeuing, 804derived tables, subqueries, 178DESC keyword, 155design
filegroups, 55tables, 119
Detach method, upgrading to SQL Server 2005 installation, 37, 42–43
detach operations, moving databases, 437, 440detection of 1205 errors, 586deterministic functions, 356–357Developer Edition, 4
32-bit editions, infrastructure requirements, 1264-bit editions, OS requirements, 14
Developer Edition
Z03I62271X.fm Page 929 Monday, May 1, 2006 12:45 PM
930
dialog boxesAdd Publisher, 763Connect to Server, 664Database Properties - Adventure Works, 632Delete Object, 735Find and Replace, 739Log Shipping Monitor Settings, 685Maintenance Cleanup Task, 513Manage Connections, 513Microsoft Replication Conflict Viewer, 756New Database Mail Account, 65New Job Schedule, 500–501, 744New User, 736Quick Replace, 738Run As, 741Secondary Database Settings, 663Snapshot Agent Synchronization History, 769Subscription Synchronization History, 769Trace Definition, 532
dialog conversations, Service Broker, 779@dialog_handle variable, 799differential database backups, 418–419
practice, 423restoring databases, 429
Disable Publishing and Distribution Wizard, 735DISABLED (endpoint state), 480disabling
clustered indexes, 158publishing, 710
disk space, upgrading SQL Server 2005 installation, 40distributed queries, execution, 94Distribution Agent, 703Distribution Clean Up, Distribution Agent, 704distribution database, 699, 707Distributor, configuration, 706–710Distributor server role, (replication), 699DLL (dynamic-link library), 139–80DMFs (Dynamic Management Functions), 451, 566–574
correlation of data with traces, 578database statistics, 568–569hardware statistics, 572–573I/O statistics, 572prefixes, 567–573query statistics, 570–572Real World scenarios, 566–567sys.dm_db_index_operational_stats, 568sys.dm_db_index_physical_stats, 568, 569sys.dm_exec_query_plans, 571sys.dm_exec_sql_text, 571sys.dm_io_pending_io_requests, 572sys.dm_io_virtual_file_stats, 572
DML (data manipulation language) triggers, 367, 367–371
AFTER, 367creating, 372–373INSTEAD OF, 367–368
DMVs (Dynamic Management Views), 566–574correlation of data with traces, 578database statistics, 568–569hardware statistics, 572–573I/O statistics, 572prefixes, 567–573query statistics, 570–572Real World scenarios, 566–567sys.dm_db_index_usage_stats, 568sys.dm_exec_cached_plans, 571sys.dm_exec_requests, 570sys.dm_exec_sessions, 570sys.dm_os_performance_counters, 573sys.dm_os_wait_stats, 573
Document Object Model (DOM), 309DOM (Document Object Model), 309domain user accounts
local system accounts vs., 28SQL Server and SQL Server Agent services, 22
DROP LOGIN statement, 76DROP SCHEMA statement, 85DROP STATISTICS statement, 458DROP USER statement, 81DTA (Database Engine Tuning Advisor), 554–565
performance impact, 558performance recommendations, 560Real World scenarios, 554–555saving recommendations, 562workload analysis, 556–562, 563–564workload files, 556
DTS (Data Transformation Services), 39, 402DTSWizard.exe command prompt, starting SSIS Import/
Export wizard, 403duration of synchronization, replication performance,
767dynamic cursors, data modification with Transact-SQL,
192dynamic-link library. See DLLDynamic Management Functions. See DMFsDynamic Management Views. See DMVs
Ee-mail, sending to operators, 517Edge Table, 324editions (SQL Server 2005), 3–9effect of transactions, 200employee pay rates, querying data with Transact-SQL,
182–184enabling
ad hoc SQL, 487Service Broker, 781–782
EncryptByAsmKey function, 90EncryptByCert function, 90EncryptBYKey function, 89
dialog boxes
Z03I62271X.fm Page 930 Monday, May 1, 2006 12:45 PM
931
encryptiondatabase mirroring, 629HTTP endpoint security, 481SQL Server 2005 configuration, 88–93
certificates, 90columns, 91–92hierarchy, 88–89symmetric and asymmetric keys, 89–90
endpoints. See also HTTP endpointsdatabase mirroring, 627–633
establishing, 630–632port numbers, 628security, 628–629TCP vs. HTTP, 627
Express Edition, 629HTTP endpoint security
payload, 480permissions, 481state, 477–480type, 479
retrieving an address, 640retrieving information, 631Service Broker architecture, 779specifying name, 631
enqueuing, 803Enterprise Edition, 3
32-bit editions, infrastructure requirements, 1164-bit editions, OS requirements, 13, 14
error handlingdatabase errors, 593–595
DAC, 593–594, 594–595review of error logs, 594
transactions, 199error messages, HTTP endpoints, 488ERROR_LINE function, 199ErrorLog table, 362ERROR_MESSAGE function, 199ERROR_NUMBER function, 199ERROR_SEVERITY function, 199ERROR_STATE function, 199ETL (extraction, transformation, and loading) tool, 402evaluation edition, support, xxxviievaluation software CD, xxxiveven data distribution, partitions, 225event groups, DDL triggers, 372events
Locks\Deadlock Graph, 586Locks\Lock
Deadlock, 589Deadlock Chain, 589
SPStmtCompleted, 535StmtStarting, 535
exact numeric data types, 109–110exceptions, triggers, 368exclusive locks, 583executables, Database Mail architecture, 64execution plans, 571
exist() method, executing XQUERY and XPATH expressions, 290–292
Expired Subscription Clean Up Agent, 704explicit mapping, OPENXML, 323–324Express Edition, 4
32-bit editions, infrastructure requirements, 1264-bit editions, OS requirements, 14endpoints, 629
extensions, log files, 54external API (application programming interface), 532external fragmentation, 450–451, 452extraction, transformation, and loading (ETL) tool, 402
Ffailover, database mirroring, 642–644
initiation, 643scenarios, 642–643
features, editions (SQL Server 2005), 4–7FIELDTERMINATOR parameter (BULK INSERT
command), 395filegroup database backups, 420–421
practice, 424–425recovering from, 420
filegroup differential backups, 429filegroups, 54–55
configuration, 58–60design, 55properties, 54restoring, 429
filters, 536full-text indexes, 821
Find and Replace dialog box, 739FIRSTROW parameter (BULK INSERT command), 395fixed server roles
properties, 78server security principals, 77–78
flat files, 379–411bcp utility, 387–392
command-line syntax, 388defined, 387hint parameter, 389importing data, 390–392limitations, 387parameters, 388, 389permissions, 389
best-case scenario, 382–384BULK INSERT command, 393–397
bcp vs., 393–395importing data, 396–397parameters, 394–395permissions, 395
case scenarios, 410data destination, 381–382import mechanism, 381importing bulk XML data, 398–401
OPENROWSET function, 398–401key terms, 409–410
flat files
Z03I62271X.fm Page 931 Monday, May 1, 2006 12:45 PM
932
flat files, continuedminimal logging, 382–383practice tasks, 410–411Real World scenarios, 380recovery models, 384–385source file location, 381SSIS Import/Export wizard, 402–408
Choose a Destination page, 404–405Complete the Wizard screen, 406–407Save and Execute Package page, 405–406Select Source Tables and Views page, 405selecting a data source, 403starting the wizard, 402–403
float data types, 110FLWOR expression, 286–289fn_tracegettable(), 562fn_trace_gettable function, 540folder choices, snapshot replication, 707FOR clause (FLWOR expression), 286FOR XML construct
AUTO mode, 271–274EXPLICIT mode, 281–284
formatting, 284result set requirements, 281–282
PATH mode, 274–277RAW mode, 270–271retrieving XML data, 269–285
foreign key constraints, 130–131check constraints vs., 132
FOREIGN KEY keyword, 131foreign key restraints, NOT FOR REPLICATION option, 719FORMAT clause (BACKUP command), 422formatting
Transact-SQL result sets, 186–191CLR user-defined types, 188column aliases, 189column output, 189–190system functions, 186–187user-defined functions, 187
FOR XML EXPLICIT mode, 284FOR XML RAW mode, 271
FREETEXT functionfull-text indexes, 829–830full-text searches, 180
FREETEXTTABLE functionfull-text indexes, 830–831full-text searches, 180
full database backups, 417–418practice, 423restoring databases, 427–428steps, 417–418
full outer joins, 172, 173Full recovery models, 70
database mirroring, 622full-text catalogs, 817–819full-text indexes, 180, 820–824
architecture, 820–821creating, 821–824
data queries, 828–835CONTAINS function, 831–833CONTAINSTABLE function, 833FREETEXT function, 829–830FREETEXTTABLE function, 830–831
populating, 825–827Full-Text Search, 813–838
case scenarios, 837data queries, 179–180full-text catalogs, 817–819full-text indexes, 820–824, 825–827, 828–835
architecture, 820–821creating, 821–824
installation, 814key terms, 836–837practice tasks, 837–838Real World scenarios, 814–816
functions, 352–359CONTAINS, 831–833CONTAINSTABLE, 833creating, 357–358DecryptByAsmKey, 90DecryptByCert, 90DecryptBYKey, 89deterministic vs. nondeterministic, 356–357EncryptByAsmKey, 90EncryptByCert, 90EncryptBYKey, 89fn_trace_gettable, 540FREETEXT, 829–830FREETEXTTABLE, 830–831OPENQUERY, 94OPENROWSET, 94
importing bulk XML data, 398–401$PARTITION, 223–224partitions, 210–214scalar functions, 352–354sql
column, 290variable, 290
table-valued functions, 354
Gglobal temporary tables, 193–194granting monitor rights, 768graphical user interface (GUI), 413GROUP BY clause, 178GUI (graphical user interface), 413
Hhandling errors
database errorsDAC, 594–595review of error logs, 594
transactions, 199
float data types
Z03I62271X.fm Page 932 Monday, May 1, 2006 12:45 PM
933
hard disk space requirements32-bit editions of SQL Server 2005, 1264-bit editions of SQL Server 2005, 14
hardware counters, accessing, 573hardware requirements, xxxii–xxxiiihardware statistics, DMVs and DMFs, 572–573header section, SQLXML updategrams, 314helper services (full-text indexes), 820heterogeneous environments, SQL Server 2005
configuration, 102hidden tables, 790hierarchy
encryption, 88–89FOR XML AUTO mode, 273
High Availability operating modeconfiguring witness server, 619–620database mirroring, 635–637
High Performance operating mode, database mirroring, 637
High Protection operating mode, database mirroring, 638
hint parameter, bcp utility, 389histograms, 457HTTP endpoints, 477–492
case scenarios, 491–492creating, 484–487
namespaces, 486practice, 488schemas, 486SOAP payload parameters, 486–487Web methods, 485WSDL support, 486
database mirroring, 627error messages, 488key terms, 491practice tasks, 492protocol-specific arguments, 484Real World scenarios, 478security, 479–483
II/O (input/output) operations, 450I/O statistics, DMVs and DMFs, 572identification, index fragmentation, 451–452identity columns, NOT FOR REPLICATION option, 720identity, tables, 118image data types, 115implementation
clustered indexes, 154–158constraints, 127–136
check constraints, 127–128default constraints, 129foreign key constraints, 130–131practice, 133–135primary key constraints, 130rules, 128–129unique constraints, 129–130
database mirroring, 615–650case scenarios, 648endpoints, 627–633failover, 642–644key terms, 647–648operating modes, 634–641practice tasks, 649–650preparation of databases, 622–626removing, 645–646roles, 618–621
Database Snapshots for administrative actions, 613functions, 352–359
creating, 357–358deterministic vs. nondeterministic, 356–357scalar functions, 352–354table-valued functions, 354
log shipping, 651–693configuration components, 653–654configuration options, 658–675mode selection, 676–683monitor server, 684–689operations, 655Real World scenarios, 652requirements, 655version compatibility, 655
nonclustered indexes, 161tables, 104Transact-SQL UDTs, 140triggers, 367–374views, 237–253
case scenarios, 253creating, 240–244data modification, 245–247indexed views, 248–251key terms, 252practice tasks, 253Real World scenarios, 238–239
implicit mapping, OPENXML, 322–323import mechanism, flat files, 381importing data
bcp utility, 390–392BULK INSERT command, 396–397bulk XML data, flat files, 398–401
IN PATH clause (CREATE FULLTEXT CATALOG command), 817–818
In-Place upgrades, 35included columns
nonclustered indexes, 163partitions, 219–220
index fragmentation, 449–456database management, 474identification, 451–452management, 452–453
ALTER INDEX...REBUILD, 452–453ALTER INDEX...REORGANIZE, 452statements to execute, 453
index fragmentation
Z03I62271X.fm Page 933 Monday, May 1, 2006 12:45 PM
934
index pages, 449maximum size, 450
index population, 825–827index rebuild, 453indexed views, 248–251
creating, 248, 250partitions, 218–219prerequisites, 248–249query substitution, 249
indexes, 147–168case scenarios, 167clustered indexes, 154–160
creating, 159disabling, 158implementation, 154–158physical ordering, 154relational index options, 156–158selection, 155
key terms, 166–167nonclustered indexes, 161–164
balance of index maintenance, 162–163covering indexes, 162creating, 164implementation, 161included columns, 163
partitions, 218–222practice tasks, 167–168Real World scenarios, 148structure, 149–153
B-trees, 149–151levels, 151–152
sys.dm_db_missing_index_*track, 569XML indexes, 334–340
infrastructure requirements, SQL Server 2005 installation, 10–16
32-bit editions, 10–1364-bit editions, 13–15
INIT parameter (WITH clause), BACKUP DATABASE command, 418
initialization mechanism, database mirroring, 623initiator, Service Broker architecture, 779inner joins, 172input/output (I/O) operations, 450input parameters (procedures), 361INSERT command, Database Snapshots, 609insert keyword, XML DML, 310–311INSERT operations, 450INSERTED tables, triggers, 368–369installation
Full-Text Search, 814SQL Server 2005, 1–50
case scenarios, 47–48infrastructure requirements, 10–16instances, 17–20, 21–33key terms, 47practice tasks, 49–50upgrading, 34–45version selection, 3–9
instances, SQL Server 2005 installation, 17–20, 21–33default and named instances, 17–18, 25–32multiple instances, 18new instances, 21–33
INSTEAD OF trigger, 246, 367–368int data types, 110integration, XQUERY querying language, 286integrity issues
case scenario, 475DBCC CHECKDB statement, 469execution of DBCC CHECKDB command, 471
intermediate levels (B-Trees), 149internal fragmentation, 450, 452Internet requirements
32-bit editions of SQL Server 2005, 12–1364-bit editions of SQL Server 2005, 14–15
INTO keyword (CREATE VIEW command), 241invalid XML documents, 262isolation levels, 583–584issue correction, execution of DBCC CHECKDB
command, 471
JJob Activity Monitor, 516job owners, creating SQL Server Agent jobs, 497job scheduling, SQL Server Agent, 493–527
case scenarios, 525–526configuration of alerts, 519–523configuration of operators, 515–518creating jobs, 495–503key terms, 524–525maintenance plans, 504–514practice tasks, 526–527Real World scenarios, 494
job stepscreating SQL Server Agent jobs, 495–496, 497–500logging options, 500Transact-SQL, 498
join types, querying data with Transact-SQL, 172–173
KKEY INDEX clause (CREATE FULLTEXT INDEX
command), 822key terms
constraints, 143database management, 474Database mirroring, 647–648database operations, 443Database Snapshots, 612flat files, 409–410Full-Text Search, 836–837HTTP endpoints, 491indexes, 166–167log shipping, 690–691partitions, 233–234performance monitoring, 597–598programmable objects, 375–376
index pages
Z03I62271X.fm Page 934 Monday, May 1, 2006 12:45 PM
935
replication management, 771Service Broker, 808–809SQL Server 2005 configuration, 100SQL Server 2005 installation, 47SQL Server Agent jobs, 524–525tables, 143Transact-SQL, 203UDTs, 143views, 252XML data management, 341–342
keyset cursors, data modification, 192keywords
XML DML, 310–311XML view files, 303XSD schemas, 299
KILL spid, 585
Llanguage files, 820latency, replication performance, 767leaf levels (B-Trees), 149left outer joins, 172LET clause (FLWOR expression), 287levels
index structure, 151–152RAID systems, 58
leveraging trace tables, 562limitations
bcp utility, 387ping test, 636XML data storage, 259, 261XML view files, 303–304
linked servers, SQL Server 2005 configuration, 94–98creating linked servers, 94–96Microsoft Access linked servers, 97security model, 97
loading XML data, OPENXML, 330loading XML schemas, 263local system accounts, 22, 28local temporary tables, data modification, 193–194lock escalation, 583locking, 582–583
exclusive locks, 583isolation levels, 583–584shared locks, 583update locks, 583
locks, 193Locks\Deadlock Graph event, 586Locks\Lock
Deadlock Chain event, 589Deadlock event, 589
log filesconfiguration, 54, 55–57, 58extension, 54
Log Reader Agent, 703Log Sequence Number. See LSNlog shipping, 651–693
case scenarios, 691–692configuration options, 658–675
backup options, 659–660components, 653–654Copy Files task, 665preparing environment, 671–673primary database, 658–659, 673restore options, 665–666scripting, 661–663secondary database, 663–665, 673–674
key terms, 690–691mode selection, 676–683
No Recovery Mode, 676–678Standby Mode, 678–680, 680–682
monitor server, 684–689configuration, 685–686creating a log shipping configuration, 686–689role of, 684–685
operations, 655practice tasks, 692–693Real World scenarios, 652reports, 686requirements, 655version compatibility, 655
Log Shipping Monitor Settings dialog box, 685logging
Database Mail architecture, 64job steps, 500
loginspassword policies, 76removing, 76server security principals, 75–77, 78upgrading SQL Server 2005 installation, 41
LOGIN_TYPE parameter, HTTP endpoint security, 481log_shipping_monitor_error_detail table, 684–685log_shipping_monitor_history_detail table, 684–685LSN (Log Sequence Number), 419
MMaintenance Cleanup Task dialog box, 513Maintenance Plan Tasks toolbox, 513maintenance plans, SQL Server Agent jobs, 504–514
creating, 504–513maintenance tasks, 506–508
maintenance tasks, SQL Server Agent job backup plans, 507
Manage Connections dialog box, 513management
databaseroles, 82–84Transact-SQL, 447–476users, 81–82
management
Z03I62271X.fm Page 935 Monday, May 1, 2006 12:45 PM
936
management, continuedDatabase Snapshots, 601–614
case scenarios, 613copy-on-write technology, 603–604creating, 603–608key terms, 612practice tasks, 613–614Real World scenarios, 602restrictions, 605retrieving data from, 606reverting database from, 609–611structure, 603
index fragmentation, 452–453ALTER INDEX...REBUILD, 452–453ALTER INDEX...REORGANIZE, 452statements to execute, 453
partitions, 226–231practice, 229–231SPLIT and MERGE operators, 226–227SWITCH operators, 227–228
replication, 695–773agents, 703–704case scenarios, 772configuring security, 731–746conflict resolution, 747–760key terms, 771merge replication, 702–703monitoring replication, 761–770peer-to-peer, 702practice tasks, 773Real World scenarios, 697setting up replication, 706–730snapshot replication, 701terminology, 698–700transactional replication, 701–702
schemas, 84–85SQL Server Agent jobs, 516XML data, 255–348
case scenarios, 342–344converting from relational data, 320–333creating new databases, 263–267creating XML schemas, 263–267indexes, 334–340key terms, 341–342modifications, 309–319practice tasks, 344–348Real World scenarios, 256retrieving data using middle-tier technologies,
298–308retrieving data using server-side technologies,
269–297schemas, 262storage options, 257–258
manual failover, database mirroring, 642manual generation, statistics, 458, 459–461manual schema rebuild, upgrading to SQL Server 2005
installation, 39
mapping keywords, 300master keys, 782maximum sizes, index and data pages, 450mechanisms, Service Broker conversations, 798–802media errors, restoring databases, 433–434media sets, 421membership levels, setting up replication, 731–732memory requirements
32-bit editions of SQL Server 2005, 1264-bit editions of SQL Server 2005, 14OPENXML, 321
Merge Agent, 704MERGE operator, partition management, 226–227merge replication, 702–703
conflict resolution, 751–759deleting previous setup, 751–752merge publications, 752–754subscribing to publication, 754–755verification, 755–759
messages, Service Brokerreceiving, 803, 804, 805–806sending, 803–804, 805–806types, 780, 784–785, 785, 787–788
messaging-application interactions, Service Broker architecture, 780–781
messaging components, Database Mail architecture, 64Messenger Service, 516Microsoft Access linked servers, SQL Server 2005
configuration, 97Microsoft COM-based resolvers, 749Microsoft Knowledge Base, xxxviiMicrosoft Press Web site, xxxviiMicrosoft Replication Conflict Viewer dialog box, 756Microsoft SQL Server Replay Lab, 544–545middle-tier technologies, retrieving XML data, 298–308
annotated XML schemas and views, 304–305SQLXML-annotated XSD schemas, 299–304
minimal logging, flat files, 382–383Minimum conflict resolver, 753mirror roles, database mirroring, 619MIRROR TO clause (BACKUP command), 421mirrored backups, 422mirroring databases, 419, 615–650
backups, 421–422case scenarios, 648configuration, 630Database Mirroring sessions, 605enabling with trace flag 1400, 616endpoints, 627–633
establishing, 630–632port numbers, 628security, 628–629TCP vs. HTTP, 627
failover, 642–644initiation, 643scenarios, 642–643
manual failover
Z03I62271X.fm Page 936 Monday, May 1, 2006 12:45 PM
937
initialization mechanism, 623key terms, 647–648manual failover, 642operating modes, 634–641
caching, 638configuration, 639–640High Availability operating mode, 635–637High Performance operating mode, 637High Protection operating mode, 638Real World scenarios, 634–635Transparent Client Redirection, 639
practice tasks, 649–650preparation of databases, 622–626
backup and restore process, 623copy system objects, 623–624recovery model, 622
Real World scenarios, 616–617removing, 645–646roles, 618–621
mirror role, 619principal role, 619witness server, 619–620
sessions, 605, 619mismatches, data types, 134Mixed Mode authentication, 23, 74mode selections, log shipping, 676–683
No Recovery Mode, 676–678Standby Mode, 678–680, 680–682
modificationsTransact-SQL data, 192–197XML data, 309–319
SQLXML updategrams, 313–316XML values and structures, 310–313
modify() method, XML data modification, 310monetary data types, 111–112monitor server, log shipping, 684–689
configuration, 654, 685–686creating log shipping configuration, 686–689role of, 684–685
monitoring performance, 529–600blocking and deadlocking issues, 582–592
blocking, 584–585deadlocking, 585–591isolation levels, 583–584locking, 582–583termination, 585
case scenarios, 598correlation of data, 575–581
consolidated performance view, 580–581DMVs/DMFs with System Monitor data, 579DMVs/DMFs with traces, 578multiple DMVs/DMFs, 579–580query processing architecture, 575–577System Monitor and Profiler, 577
database errors, 593–595DAC, 593–594, 594–595review of error logs, 594
DMVs and DMFs, 566–574database statistics, 568–569hardware statistics, 572–573I/O statistics, 572prefixes, 567–573query statistics, 570–572Real World scenarios, 566–567
DTA (Database Engine Tuning Advisor), 554–565Real World scenarios, 554–555saving recommendations, 562workload analysis, 556–562, 563–564workload files, 556
key terms, 597–598practice tasks, 599–600Real World scenarios, 531SQL Server Profiler, 532–547
configuring baseline trace, 545–546defining traces, 532–538pausing traces, 538replay traces, 543–544saving trace data, 539–540showplan data, 540–542starting traces, 538stopping traces, 538
System Monitor, 548–553configuring counter logs, 552–553counter logs, 550–552Real World scenarios, 548–550
monitoring replication, 761–770configuring alerts, 764–765performance improvement, 767review of agent status history, 768–769SSRM, 761–764
non-sysadmin access, 762viewing replication status, 763–764
System Monitor, 765–767monolog conversations, Service Broker, 779moving databases, 437–441
Copy Database Wizard, 438–439Detach/Attach, 437, 440practice tasks, 446
multiple DMVs/DMFs, correlation of data, 579–580multiple instances, SQL Server 2005 installation, 18MUST CHANGE option (CREATE LOGIN statement),
75
Nname (message types), 784named instances, SQL Server 2005 installation, 17–18,
25–32namespaces
creating HTTP endpoints, 486declaration, SQLXML updategrams, 314
naming conventions, 502Service Broker, 781tables, 119
naming conventions
Z03I62271X.fm Page 937 Monday, May 1, 2006 12:45 PM
938
nested queries, modification of XML structures, 279–281nested triggers, 370–371Network Service account, 22networking requirements
32-bit editions of SQL Server 2005, 12–1364-bit editions of SQL Server 2005, 14–15
New Database Mail Account dialog box, 65new instances, SQL Server 2005 installation, 21–33
authentication mode, 23collation setting, 24service accounts, 21–23
New Job General page (New Job window), 497New Job Schedule dialog box, 500–501, 744New Job Step window, 499New Job window, 496New Publication wizard, 710, 741, 749New Subscription wizard, 716, 743New User dialog box, 736No Recovery Mode, log shipping, 676–678nodes() method
OPENXML, 326shredding XML, 325–327
noise words (full-text indexes), 820–821non-SQL Server subscribers, 716non-sysadmin access, monitoring replication with SSRM,
762nonclustered indexes, 161–164, 449
balance of index maintenance, 162–163covering indexes, 162creating, 164implementation, 161included columns, 163
noncorrelated subqueries, querying data with Transact-SQL, 175
nondeterministic functions, 356–357NORECOVERY option (RESTORE command), 623normalization, tables, 119NOT FOR REPLICATION option, 719–721
foreign key restraints, 719identity columns, 720triggers, 719updateable subscriptions, 720–721
ntext data types, 114NTFS security, 738NULL values, adding support for in XML, 278nulls, tables, 117–118numeric data types, 109nvarchar (max) data types, 114–115
Oobjects, Service Broker
contracts, 784, 786–787, 788message types, 784–785, 787–788queues, 790–794, 796services, 790, 795, 796
OLTP (online transaction processing), 163, 579ON clause (CREATE FULLTEXT INDEX command),
822online operations, restrictions, 559ONLINE option
ALTER INDEX...REBUILD statement, 453relational index options, 157–158
online transaction processing (OLTP), 163, 579OPENQUERY function, 94OPENROWSET function, 94, 398–401OPENXML
explicit mapping, 323–324implicit mapping, 322–323loading XML data, 330memory requirements, 321nodes() method performance, 326shredding XML, 320–324
operating modes, database mirroring, 634–641caching, 638configuration, 639–640High Availability operating mode, 635–637High Performance operating mode, 637High Protection operating mode, 638Real World scenarios, 634–635Transparent Client Redirection, 639
operatorsCROSS APPLY, 326–327, 572OUTER APPLY, 326–327partition management
SPLIT and MERGE, 226–227SWITCH, 227–228
sending e-mail to, 517SQL Server Agent job configuration, 515–518
OPTION clause (CREATE VIEW command), 241ORDER BY clause
CREATE VIEW command, 241FLWOR expression, 287
ORDER hint parameter, bcp utility, 389orphaned users, 82OS requirements
32-bit editions of SQL Server 2005, 1164-bit editions of SQL Server 2005, 13
OUTER APPLY operator, 326–327outer joins, 172, 172–173output parameters (procedures), 361output paths, case expressions, 177overwriting databases, 428ownership chains, creating views, 242–243
Ppage splits, 163, 450PAGE_VERIFY CHECKSUM option (RESTORE
command), 432paging, 450PAL (publication access list), 732
nested queries
Z03I62271X.fm Page 938 Monday, May 1, 2006 12:45 PM
939
parametersbcp utility, 388, 389BULK INSERT command, 394–395sniffing, 829–830sp_addsubscription stored procedure, 718
partial database backups, 422–423partial restores, restoring databases, 432PARTITION clause (CREATE PARTITION SCHEME
command), 215$PARTITION function, 223–224partitions, 207–235
case scenarios, 234creating schemes, 215–216even data distribution, 225existing tables/indexes, 220functions, 210–214
CREATE PARTITION FUNCTION command, 210–212
creating, 212–213included columns, 219–220indexed views, creating, 218–219indexes, 218–222key terms, 233–234management, 226–231
practice, 229–231SPLIT and MERGE operators, 226–227SWITCH operators, 227–228
practice tasks, 234–235querying, 223–225Real World scenarios, 208schemes, 215–217tables, 218–222
password policies, SQL Server logins, 76pattern matching, constraints, 128pausing traces, SQL Server Profiler, 538payload parameters, SOAP, creating HTTP endpoints,
486–487PDSs (physical design structures), 558peer-to-peer replication, 702PerfMon (Performance Monitor). See System Monitorperformance
encryption mechanisms, 91monitoring and troubleshooting, 529–600
blocking and deadlocking issues, 582–592case scenarios, 598correlating data, 575–581database errors, 593–595DMVs and DMFs, 566–574DTA (Database Engine Tuning Advisor), 554–565key terms, 597–598practice tasks, 599–600Real World scenarios, 531SQL Server Profiler, 532–547Web resources, 529
monitoring replication, 767objects, 765–766
Performance Tools menu, File, New Trace command, 532permanent tables, creating, 119–121permissions
assigning to a role for stored procedure, 363–364backing up databases, 416bcp utility, 389BULK INSERT command, 395HTTP endpoint security, 481replication agents, 733–734security, 123tables, 123–125
PERSISTED keyword, 118physical design structures (PDSs), 558physical ordering, clustered indexes, 154PHYSICAL_ONLY option (DBCC CHECKDB
statement), 470ping test limitation, 636PIVOT operations, querying data with Transact-SQL,
178–179placement, backup files, 503populating full-text indexes, 825–827port numbers, endpoints, 628practice tasks
creating constraints, 144creating tables, 144database management with Transact-SQL, 475–476Database mirroring, 649–650Database Snapshots, 613–614databases, 445–446
backing up, 445moving, 446restoring, 445
flat files, 410–411Full-Text Search, 837–838HTTP endpoints, 492indexes, 167–168log shipping, 692–693partitions, 234–235performance monitoring and troubleshooting,
599–600programmable objects, 376–377replication management, 773Service Broker, 810–811SQL Server 2005 configuration, 102SQL Server 2005 installation, 49–50SQL Server Agent jobs, 526–527Transact-SQL, 204–205views, 253XML data management, 344–348
practice tests, xxxiv–xxxvipredefined templates, SQL Server Profiler, 533prefixes, DMVs and DMFs, 567–573preparation of databases, database mirroring, 622–626
backup and restore process, 623copy system objects, 623–624recovery model, 622
preparation of databases
Z03I62271X.fm Page 939 Monday, May 1, 2006 12:45 PM
940
prerequisitesDatabase Mail configuration, 63indexed views, 248–249
previous versions, backup verification, 434primary data files, 53primary databases, log shipping configuration, 654,
658–659primary filegroups, 54primary indexes, XML indexes, 335–336primary key constraints, 130primary servers, log shipping configuration, 654principal roles, database mirroring, 619principals, SQL Server 2005 configuration, 74–80privileges, system accounts, 23processor requirements
32-bit editions of SQL Server 2005, 1064-bit editions of SQL Server 2005, 13
Profiler. See SQL Server Profilerprogrammable objects, 349–377
case scenarios, 376functions, 352–359
creating, 357–358deterministic vs. nondeterministic, 356–357scalar functions, 352–354table-valued functions, 354
key terms, 375–376practice tasks, 376–377Real World scenarios, 350–351stored procedures, 360–366
assigning permissions to a role, 363–364creating, 360–362, 364–365
triggers, 367–374programmatic trace generation, SQL Server Profiler, 534programmatically handling errors, Transact-SQL
transactions, 199properties
filegroups, 54fixed server roles, 78
protocol handlers (full-text indexes), 821protocol-specific arguments, HTTP endpoints, 484proxy accounts (SQL Server Agent), 497public key certificates, 90publication access list (PAL), 732publications (replication), 698–699
configuration, 710–715security, 732–733
Publisher server role (replication), 699PublisherUser User Mapping, 740publishing, disabling, 710pull subscriptions (replication), 700push subscriptions (replication), 700
Qqueries
partitions, 223–225plans, 571
query() method, executing XQUERY and XPATH expressions, 287–289
query optimizer, 571query statistics, DMVs and DMFs, 570–572query substitution, indexed views, 249querying data
full-text indexes, 828–835CONTAINS function, 831–833CONTAINSTABLE function, 833FREETEXT function, 829–830FREETEXTTABLE function, 830–831
Transact-SQL, 171–185aggregate functions, 177–178case expressions, 176columns to return, 173–174employee pay rates, 182–184full-text searches, 179–180join types, 172–173PIVOT and UNPIVOT operations, 178–179subqueries, 174–176tables, 171–172TABLESAMPLE clause, 181
Queue Reader Agent, 704queues, Service Broker, 780, 790–794, 796Quick Replace dialog box, 738quorum, 636
RRAID 0, 57RAID 1, 57RAID 1+0, 58RAID 10, 58RAID 5, 57RAID (redundant array of inexpensive disks), 51, 58RAID systems, configuring database files, 57–58RANGE clause (CREATE PARTITION FUNCTION
command), 210RANGE LEFT clause (CREATE PARTITION FUNCTION
command), 211RANGE RIGHT clause (CREATE PARTITION
FUNCTION command), 211read-only filegroups, 54READ_WRITE_FILEGROUPS clause (BACKUP
command), 422real data types, 110Real World scenarios
backup and restore strategies, 415Database Snapshots, 602databases
management with Transact-SQL, 448mirroring, 616–617
DMVs and DMFs, 566–567DTA, 554–555flat files, 380Full-Text Search, 814–816HTTP endpoints, 478
prerequisites
Z03I62271X.fm Page 940 Monday, May 1, 2006 12:45 PM
941
indexes, 148log shipping, 652monitoring performance, 531operating modes, database mirroring, 634–635partitions, 208programmable objects, 350–351replication management, 697Service Broker, 776–777SQL Server 2005 configuration, 52SQL Server Agent jobs, 494System Monitor, 548–550Transact-SQL, 170XML data management, 256
REBUILD clause (ALTER INDEX statement), 158REBUILD option (ALTER FULLTEXT INDEX
command), 826RECEIVE command, 804receiving messages, Service Broker, 803, 804, 805–806recommendations, saving DTA, 562recompilation, stored procedures, 361recoveries
filegroup database backups, 420models, 384–385, 417
preparation of databases, 622SQL Server 2005 configuration, 70–73
plans, upgrading to SQL Server 2005 installation, 40recovery-oriented planning, 427recursive triggers, 370–371redundant array of inexpensive disks (RAID), 51referencing tables, 132referential integrity, triggers, 368Reinitialize Subscriptions Having Data Validation
Failures Agent, 704relational data
converting between XML data, 320–333bulk loading XML files, 330–332nodes() method, 325–327OPENXML, 320–324SQLXML, 328–329XML stored procedures, 320–324
converting to XML, FOR XML construct, 269–284storing XML data as, 258
relational index options, 156–158relative identifiers (RIDs), 161remote credentials security modes, linked servers, 97remote Distributors, 706removing
Database mirroring, 645–646database users, 82logins, 76
REORGANIZE option (ALTER FULLTEXT INDEX command), 826
REPAIR_ALLOW_DATA_LOSS option (DBCC CHECKDB statement), 470
REPAIR_FAST option (DBCC CHECKDB statement), 470
REPAIR_REBUILD option (DBCC CHECKDB statement), 470
REPLACE function, 190REPLACE option (RESTORE command), 428replace value of keyword, XML DML, 311Replay Lab, 544–545replay traces
SQL Server Profiler, 543–544synching with database backups, 543
ReplDistAgent User Mapping, 740replication, 701Replication Agents Checkup Agent, 704replication configuration, 722–729
preparation of environment, 722–723publishing and distribution, 723–725snapshot publication, 725–727subscription, 727–729testing replication configuration, 729
replication folders, 707replication management, 695–773
agents, 703–704case scenarios, 772configuring security, 731–746
agent permissions, 733–734environment, 731–732publications, 732–733transactional replication, 734–745
conflict resolution, 747–760basics, 747configuring for merge replication, 751–759resolvers, 747–751
key terms, 771merge replication, 702–703monitoring replication, 761–770
configuring alerts, 764–765performance improvement, 767review of agent status history, 768–769SSRM, 761–764System Monitor, 765–767
peer-to-peer, 702practice tasks, 773Real World scenarios, 697setting up replication, 706–730
Distributor configuration, 706–710membership levels, 731–732NOT FOR REPLICATION option, 719–721publication configuration, 710–715snapshot replication configuration, 722–729Subscriber configuration, 715–718
snapshot replication, 701terminology, 698–700transactional replication, 701–702
replication mirroring, 419Replication Monitoring Refresher for Distribution Agent,
704ReplSnapAgent User Mapping, 740
ReplSnapAgent User Mapping
Z03I62271X.fm Page 941 Monday, May 1, 2006 12:45 PM
942
repopulating full-text catalogs, upgrading SQL Server 2005 installation, 41
reports, log shipping, 686representation types (XML data), 258requirements
CREATE DATABASE statement, 605log shipping, 655SWITCH operators, 228
resolvers, conflict resolution, 747–751resource consumption, replication performance, 767RESTORE command, 428, 623RESTORE DATABASE command (Database Snapshots),
610Restore method, upgrading to SQL Server 2005
installation, 38, 43–44restore options
log shipping configuration, 665–666setting up replication, 722
RESTORE SERVICE MASTER KEY statement, 88restore strategy, 413Restore Transaction Log tab (Secondary Database
Settings dialog box), 665–666RESTORE VERIFYONLY command (previous versions),
434restoring databases, 427–436
AdventureWorks database, 435backup validation, 434corrupt pages, 432–433differential backups, 429filegroup differential backups, 429full backups, 427–428media errors, 433–434partial restores, 432practice tasks, 445transaction log backups, 430–431
restricted permissions, SQL Server service account, 22restrictions
creating indexed views, 248Database Snapshots, 605online operations, 559
result setsformatting, Transact-SQL, 186–191requirements, FOR XML EXPLICIT mode, 281–282
RETENTION clause (CREATE QUEUE command), 792retrieving
data, Database Snapshots, 606endpoint information, 631
retrieving XML datamiddle-tier technologies, 298–308
annotated XML schemas and views, 304–305SQLXML-annotated XSD schemas, 299–304
server-side technologies, 269–297FOR XML construct, 269–285XML data types, 285–292
RETURN clause (FLWOR expression), 287RETURNS clause (CREATE FUNCTION statement), 353reverting a database from Database Snapshots, 609–611
RIDs (relative identifiers), 161right outer joins, 172–173roles, database mirroring, 618–621
mirror role, 619principal role, 619witness server, 619–620
ROLLBACK TRANSACTION command, 198rolling back transactions, Transact-SQL, 198root nodes
adding to FOR XML clause, 277–278B-Trees, 149
routing messages to service, Service Broker conversations, 800–801
ROWTERMINATOR parameter (BULK INSERT command), 395
rules, constraints, 128–129Run As dialog box, 741running bcp command, 391–392
SSave and Execute Package page (SSIS Import/Export
wizard), 405–406saving
DTA recommendations, 562trace data, SQL Server Profiler, 539–540
SAX (Simple API for XML), 309scalar functions, 352–354scenarios
database design, 143–144database management, 474–475Database mirroring, 648Database Snapshots, 613databases, 444flat files, 410Full-Text Search, 837HTTP endpoints, 491–492indexes, 167log shipping, 691–692partitions, 234performance monitoring, 598programmable objects, 376Real World
backup and restore strategies, 415Database Snapshots, 602databases, 448, 616–617DMVs and DMFs, 566–567DTA, 554–555flat files, 380Full-Text Search, 814–816HTTP endpoints, 478indexes, 148log shipping, 652monitoring performance, 531operating modes, database mirroring, 634–635partitions, 208programmable objects, 350–351
repopulating full-text catalogs
Z03I62271X.fm Page 942 Monday, May 1, 2006 12:45 PM
943
replication management, 697Service Broker, 776–777SQL Server 2005 configuration, 52SQL Server Agent jobs, 494System Monitor, 548–550Transact-SQL, 170XML data management, 256
replication management, 772Service Broker, 809–810SQL Server 2005 configuration, 101–102SQL Server 2005 installation, 47–48SQL Server Agent jobs, 525–526Transact-SQL, 203–204views, 253XML data management, 342–344
schedules, creating SQL Server Agent jobs, 500–501Schedules page (New Job window), 500scheduling administrative tasks, 525–526SCHEMABINDING option (CREATE VIEW command,
WITH clause), 241schemas
creating HTTP endpoints, 486management, 84–85
schemes, partitions, 215–217scripting
Distribution configuration, 708log shipping configuration
primary database, 661–663secondary database, 667–670
Publication configuration, 713Subscriber configuration, 717
searches, Full-Text Search, 813–838case scenarios, 837full-text catalogs, 817–819full-text indexes, 820–824, 825–827, 828–835installation, 814key terms, 836–837practice tasks, 837–838Real World scenarios, 814–816
secondary data files, 53secondary database, log shipping configuration, 654,
663–665failover, 670–671scripting, 667–670
Secondary Database Settings dialog box, 663, 665–666secondary indexes, XML indexes, 336–338secondary servers, log shipping configuration, 654security
database mirroring endpoints, 628–629encryption mechanisms, 91HTTP endpoints, 479–481, 479–483permissions, 123replication, 731–746
agent permissions, 733–734environment, 731–732publications, 732–733transactional replication, 734–745
SQL Server 2005 configuration, case scenario, 101
security models, linked servers, 97SEE STATISTICS PROFILE ON command, 830Select Configuration Task page (Database Mail
Configuration Wizard), 65SELECT/INSERT permissions (bcp utility), 389SELECT INTO command (data modification with
Transact-SQL), 194SELECT* queries, 174Select Source Tables and Views page (SSIS Import/
Export wizard), 405SELECT statement (Database Snapshots), 606selections, clustered indexes, 155self-mapping security mode, linked servers, 97semistructured data, 258SEND command, 803–804sending messages, Service Broker, 803–804, 805–806SENT BY clause (CREATE CONTRACT command), 786server-level roles, database-level roles vs., 620Server Management Objects (SMOs), 484, 532server roles (replication), 699–700server securables, SQL Server 2005 configuration, 81–87,
85–76server security principals, SQL Server 2005
configuration, 74–80authentication modes, 74–75, 78fixed server roles, 77–78logins, 75–77, 78
server-side technologies, retrieving XML data, 269–297FOR XML construct, 269–285XML data types, 285–292
service accounts, new instances, 21–23Service Broker, 63, 775–811
architecture, 778–783contracts, 780conversations, 779–780enabling Service Broker, 781–782endpoints, 779initiator, 779message types, 780messaging-application interaction, 780–781messaging overview, 778–779queues, 780services, 780targets, 779
case scenarios, 809–810contracts, 784, 786–787, 788conversations, 798–802
creating, 798–799, 801routing messages to service, 800–801
enabling, 781–782key terms, 808–809message types, 784–785, 787–788naming conventions, 781practice tasks, 810–811queues, 790–794, 796Real World scenarios, 776–777
Service Broker
Z03I62271X.fm Page 943 Monday, May 1, 2006 12:45 PM
944
Service Broker, continuedreceiving messages, 803, 804, 805–806sending messages, 803–804, 805–806services, 790, 795, 796
service master keys, 88SERVICE_BROKER (endpoint payload), 480services, Service Broker, 780, 790, 795, 796setting up replication, 706–730
Backup and Restore, 722Distributor configuration, 706–710membership levels, 731–732NOT FOR REPLICATION option, 719–721
foreign key restraints, 719identity columns, 720triggers, 719updateable subscriptions, 720–721
publication configuration, 710–715snapshot replication configuration, 722–729Subscriber configuration, 715–718
shared locks, 583showplan data, SQL Server Profiler, 540–542shredding XML
nodes() method, 325–327OPENXML, 320–324SQLXML, 328–329
shrinking filespractice tasks, database management with
Transact-SQL, 476Transact-SQL database management, 463–468
automatic, 463databases, 465–466manual, 464transaction logs, 464–465
side-by-side migration, upgrading to SQL Server 2005 installation, 35–36
Simple API for XML (SAX), 309Simple Mail Transfer Protocol. See SMTPsimple recovery models, 70, 622simplicity, XQUERY querying language, 286SINGLE_BLOB format (OPENROWSET function), 399smalldatetime data types, 112smallmoney data types, 111–112SMOs (Server Management Objects), 484, 532SMTP (Simple Mail Transfer Protocol), 63Snapshot Agent, 703Snapshot Agent Synchronization History dialog box, 769snapshot replication, 701
configuration, 722–729preparation of environment, 722–723publishing and distribution, 723–725snapshot publication, 725–727subscription, 727–729testing replication configuration, 729
folder choices, 707SOAP, 477
endpoint payload, 480payload parameters, creating HTTP endpoints,
486–487
software requirements, xxxiiisource databases, 603source file locations, flat files, 381SP
StmtCompleted event, 535StmtStarting event, 535
space utilization tables, 110sp_addarticle stored procedure, 715sp_adddistpublisher stored procedure, 710sp_adddistributiondb stored procedure, 709–710sp_adddistributor stored procedure, 709sp_addextendedproperty stored procedure, 710sp_addlinkedserver stored procedure, 97sp_add_log_shipping_primary_database stored
procedure, 661sp_add_log_shipping_secondary_database stored
procedure, 667sp_add_log_shipping_secondary_primary stored
procedure, 667sp_addmergearticle stored procedure, 751sp_addpublication stored procedure, 714sp_addpublication_snapshot stored procedure, 715sp_addpushsubscription_agent stored procedure, 717sp_add_schedule stored procedure, 661sp_addsubscription stored procedure, 717, 718sparse files, 603sp_attach_schedule stored procedure, 661sp_autostats system stored procedure, 458sp_bindrule system stored procedure, 129sp_createstats system stored procedure, 458sp_dropsrvrolemember stored procedure, 77specialized data types, 115–116sp_grant_publication_access stored procedure, 733sp_help_publication_access stored procedure, 733SPID (system process ID), 570split-brain problem, 636SPLIT operator, partition management, 226–227sp_replicationdboption stored procedure, 714sp_revoke_publication_access stored procedure, 733sp_updateextendedproperty stored procedure, 710sp_update_job stored procedure, 661sp_updatestats system stored procedure, 458sp_xml_preparedocument stored procedure, 320sp_xml_removedocument stored procedure, 320sql
column function, 290variable function, 290
SQL Server 2005, 21–22configuration, 51–102
case scenarios, 101–102Database Mail, 63–69database securables, 81–87encryption, 88–93key terms, 100linked servers, 94–98log and data files, 53–62practice tasks, 102
service master keys
Z03I62271X.fm Page 944 Monday, May 1, 2006 12:45 PM
945
Real World scenarios, 52recovery models, 70–73server security principals, 74–80
installation, 1–50case scenarios, 47–48infrastructure requirements, 10–16instances, 17–33key terms, 47practice tasks, 49–50upgrading, 34–45version selection, 3–9
SQL Server Agent jobs, 493–527case scenarios, 525–526configuration
alerts, 519–523operators, 515–518
creating, 495–503job schedules, 500–501job steps, 495–496, 497–500practice, 502–503specifying job owners, 497
key terms, 524–525maintenance plans, 504–514
creating, 504–513maintenance tasks, 506–508
management, 516practice tasks, 526–527Real World scenarios, 494troubleshooting, 516
SQL Server Agent proxy accounts, 497SQL Server Configuration Manager. See SSCMSQL Server Installation Wizard, 25SQL Server Integration Services (SSIS), 39, 438, 624SQL Server Maintenance Plan Wizard, 504, 504–506SQL Server Management Studio. See SSMSSQL Server Profiler, 532–547
configuring a baseline trace, 545–546correlation of data with System Monitor, 577defining traces, 532–538pausing traces, 538predefined templates, 533replay traces, 543–544saving trace data, 539–540showplan data, 540–542starting traces, 538stopping traces, 538traces, programmatic generation, 534
SQL Server Replay Lab, 544–545SQL Standard XML-Related Specifications (SQLXML),
257, 313–316SQL trace, 532SqlOleDB provider, 304sql_variant data types, 116SQLXML
querying UniversalLog table, 305–307retrieving XML data, 298–308, 299–304shredding XML, 328–329
SQLXML-annotated XSD schemas, retrieving XML data, 299–304
SQLXML (SQL Standard XML-Related Specifications), 257, 313–316
SQLXML XML views, 301–304SSCM (SQL Server Configuration Manager), 696SSIS Import/Export wizard, 402–408
Choose a Destination page, 404–405Complete the Wizard screen, 406–407Save and Execute Package page, 405–406Select Source Tables and Views page, 405selecting a data source, 403starting wizard, 402–403
SSIS (SQL Server Integration Services), 39, 438, 624SSMS (SQL Server Management Studio), 540, 606
backup and restore facilities, 413partitioning, 209starting SSIS Import/Export wizard, 402–403viewing XML results, 270
SSRMconfiguring alerts, 764–765monitoring replication, 761–764
non-sysadmin access, 762viewing replication status, 763–764
Standard Edition, 332-bit editions, infrastructure requirements, 1164-bit editions, OS requirements, 14
Standby Mode, log shipping, 678–680, 680–682STANDBY option (RESTORE command), 428STARTED (endpoint state), 480starting SSIS Import/Export wizard, 402–403starting traces, SQL Server Profiler, 538statements. See also commands
ALTER DATABASE, 465modifying data and log file configuration, 55syntax, 57
ALTER ENDPOINT, 485ALTER INDEX, disabling indexes, 158ALTER SCHEMA, 85ALTER SERVICE MASTER KEY, 89ALTER TABLE, 131ALTER USER, modifying user properties, 81BACKUP SERVICE MASTER KEY, 88CREATE ASYMMETRIC KEY, 90CREATE CERTIFICATE, 90CREATE DATABASE, 264, 605, 709–710
configuring data and log files, 55CREATE ENDPOINT, 484–485CREATE FUNCTION, 352CREATE LOGIN, 75CREATE MASTER KEY, 89CREATE ROUTE, 800–801CREATE STATISTICS, 458, 459CREATE SYMMETRIC KEY, 89CREATE TABLE, 265DBCC SHOW_STATISTICS, 459DBCC SHRINKDATABASE, 464, 466
statements
Z03I62271X.fm Page 945 Monday, May 1, 2006 12:45 PM
946
statements, continuedDBCC SHRINKFILE, 464DROP LOGIN, 76DROP SCHEMA, 85DROP STATISTICS, 458DROP USER, removing database users, 81INSERT, Database Snapshots, 609RESTORE SERVICE MASTER KEY, 88SELECT, Database Snapshots, 606UPDATE, Database Snapshots, 609UPDATE STATISTICS, 458, 461
static analysis, XQUERY querying language, 286static cursors, data modification with Transact-SQL, 192statistics
practice tasks, database management with Transact-SQL, 475–476
Transact-SQL database management, 457–462automatic generation, 457–458manual generation, 458, 459–461viewing column statistics, 458–459
STATS_DATE function, 459STATUS clause (CREATE QUEUE command), 792steps, full database backups, 417–418STOPAT option (RESTORE command), 430STOPPED (endpoint state), 480stopping traces, SQL Server Profiler, 538storage options, XML data, 257–258
limitations, 259, 261relational data, 258text columns, 259XML data type columns, 260–261
storage queues, 791stored procedures, 360–366
assigning permissions to a role, 363–364code efficiency, 365conflict resolvers, 749creating, 360–362, 364–365Database Mail, 66recompilation, 361sp_addarticle, 715sp_adddistpublisher, 710sp_adddistributiondb, 709–710sp_adddistributor, 709sp_addextendedproperty, 710sp_add_log_shipping_primary_database, 661sp_add_log_shipping_secondary_database, 667sp_add_log_shipping_secondary_primary, 667sp_addmergearticle, 751sp_addpublication, 714sp_addpublication_snapshot, 715sp_addpushsubscription_agent, 717sp_add_schedule, 661sp_addsubscription, 717, 718sp_attach_schedule, 661sp_grant_publication_access, 733sp_help_publication_access, 733sp_replicationdboption, 714
sp_revoke_publication_access, 733sp_updateextendedproperty, 710sp_update_job, 661sp_xml_preparedocument, 320sp_xml_removedocument, 320syntax, 360
string summary, 457structured data, 258structures
Database Snapshots, 603databases, 414–416indexes, 149–153
B-trees, 149–151levels, 151–152
STUFF function, 190subqueries
derived tables, 178querying data with Transact-SQL, 174–176
Subscriberconfiguration, 715–718server role (replication), 699–700
SubscriberUser User Mapping, 740Subscription Synchronization History dialog box, 769subscriptions (replication), 700SUBSTRING function, 190success criteria, upgrading to SQL Server 2005
installation, 39–40SWITCH operators
partition management, 227–228requirements, 228
symmetric keys, encryption, 89–90sync section, SQLXML updategrams, 314@sync_type parameter (sp_addsubscription stored
procedure), 720syntax
ALTER DATABASE, 57BACKUP DATABASE command, 418bcp command, 388case expressions, 176CREATE DATABASE, 57stored procedures, 360table-valued functions, 354
sysadmin roles, job modification, 497sys.database_mirroring_witnesses catalog view, 619–620sys.dm_db_index_operational_stats DMF, 568sys.dm_db_index_physical_stats DMF, 451, 568, 569sys.dm_db_index_usage_stats DMV, 568sys.dm_db_missing_index_*track indexes, 569sys.dm_exec_cached_plans DMV, 571sys.dm_exec_query_plans DMF, 571sys.dm_exec_requests DMV, 570sys.dm_exec_sessions DMV, 570sys.dm_exec_sql_text DMF, 571sys.dm_io_pending_io_requests DMF, 572sys.dm_io_virtual_file_stats DMF, 572sys.dm_os_performance_counters DMV, 573sys.dm_os_wait_stats DMV, 573
static analysis
Z03I62271X.fm Page 946 Monday, May 1, 2006 12:45 PM
947
sys.schemas catalog view, 85sys.server_role_members catalog view, 77sys.stats catalog view, 458sys.stats _columns catalog view, 459system accounts, privileges, 23System Configuration Checker, 25system functions, formatting result sets with
Transact-SQL, 186–187System Monitor (Performance Monitor)
configuring counter logs, 552–553correlation of data with Profiler, 577counter logs, 550–552monitoring replication, 765–767Real World scenarios, 548–550
system process ID (SPID), 570
Ttable-level check constraints, 127table-valued functions, 354table variables, 353tables, 107–126
alias names, 172clean up, 122computed columns, 118cross-reference tables, 135data types, 107–117deleting, 121design, 119identity, 118implementation, 104log_shipping_monitor_error_detail, 684–685log_shipping_monitor_history_detail, 684–685naming conventions, 119normalization, 119nulls, 117–118partitions, 218–222permanent tables, 119–121permissions, 123–125querying data with Transact-SQL, 171–172referencing, 132space utilization, 110temporary tables, 121–122variables, 122–123
TABLESAMPLE clause, querying data with Transact-SQL, 181
TABLOCK hint parameter, bcp utility, 389tail of the log (backing up), 431targets, Service Broker architecture, 779tasks, maintenance tasks, 506–508TCP endpoints, 479, 627technical support, xxxvi, xxxviitempdb database, 121temporary tables
creating, 121–122data modification with Transact-SQL, 193–194,
195–196
termination processes, blocking, 585terminator commands, 803terminology
Database mirroring, 647–648database operations, 443Database Snapshots, 612flat files, 409–410Full-Text Search, 836–837HTTP endpoints, 491indexes, 166–167log shipping, 690–691partitions, 233–234performance monitoring, 597–598programmable objects, 375–376replication management, 698–700, 771Service Broker, 808–809SQL Server 2005
configuration, 100installation, 47
Transact-SQL, 203, 474XML data management, 341–342
testing codes, transactions, 199testing criteria, upgrading to SQL Server 2005
installation, 39–40text columns, XML data storage, 259text data types, 114thesaurus files, 832throughput, replication performance, 767TO clause, BACKUP DATABASE command, 418tokens (full-text indexes), 821ToString method, 188Trace Definition dialog box, 532trace flag 1400, enabling database mirroring, 616trace tables, leveraging, 562traces (SQL Server Profiler)
defining, 532–538SQL Server Profiler
configuring a baseline trace, 545–546correlation of data with DMVs/DMFs, 578pausing, 538programmatic generation, 534replay traces, 543–544saving trace data, 539–540starting, 538stopping, 538
Transact-SQL, 169–205case scenarios, 203–204data modification, 192–197
cursors, 192–193SELECT INTO command, 194temporary tables, 193–194, 195–196
database management, 447–476DBCC CHECKDB command, 469–472index fragmentation, 449–456Real World scenarios, 448shrinking files, 463–468statistics, 457–462
Transact-SQL
Z03I62271X.fm Page 947 Monday, May 1, 2006 12:45 PM
948
Transact-SQL, continuedformatting result sets, 186–191
CLR user-defined types, 188column aliases, 189column output, 189–190system functions, 186–187user-defined functions, 187
job steps, 498key terms, 203practice tasks, 204–205querying data, 171–185
aggregate functions, 177–178case expressions, 176columns to return, 173–174employee pay rates, 182–184full-text searches, 179–180join types, 172–173PIVOT and UNPIVOT operations, 178–179subqueries, 174–176tables, 171–172TABLESAMPLE clause, 181
Real World scenarios, 170transactions, 198–201
effect of transactions, 200programmatically handling errors, 199rolling back transactions, 198
Transact-SQL scripts, as workload files, 556Transact-SQL UDTs, 137–138, 140Transaction Log Backup Settings window, 659–660transaction log database backups, 419–420
practice, 423, 424–425restoring databases, 430–431
transaction logs, shrinking files, 464–465Transaction Undo File (TUF), 678transactional log mirroring, 419transactional replication, 701–702
secure configuration, 734–745deleting unsecure replication, 735–736finishing environment, 739–740preparing environment, 736–738scripting publishing configuration, 738–739snapshot publications, 740–742subscription configuration, 742–744testing configuration, 744–745
transactions, Transact-SQL, 198–201effect of transactions, 200programmatically handling errors, 199rolling back transactions, 198
transient operating states, 619triggers, 367–374
DDL, 367, 371–372creating, 373–374event groups, 372
DELETED tables, 368–369DML, 367, 367–371
AFTER, 367creating, 372–373INSTEAD OF, 367–368
exceptions, 368INSERTED tables, 368–369nested, 370–371NOT FOR REPLICATION option, 719recursive, 370–371referential integrity, 368views, 246
troubleshootingperformance, 529–600
blocking and deadlocking issues, 582–592case scenarios, 598correlating data, 575–581database errors, 593–595DMVs and DMFs, 566–574DTA (Database Engine Tuning Advisor), 554–565key terms, 597–598practice tasks, 599–600Real World scenarios, 531SQL Server Profiler, 532–547System Monitor, 548–553Web resources, 529
SQL Server Agent jobs, 516TRY/CATCH format, control-of-flow statements, 199TSQL (endpoint payload), 480TUF (Transaction Undo File), 678TYPE COLUMN clause (CREATE FULLTEXT INDEX
command), 822typed XML data, 262
UUDFs (user-defined functions), formatting result sets
with Transact-SQL, 187UDTs (user-defined types), 137–140
CLR, 138–139Transact-SQL, 137–138, 140
ufnGetProductListPrice UDF, 187UMS (User Mode Scheduler), 576UNC (Universal Naming Convention), 422, 660Unicode data types, 113unique constraints, 129–130UNIQUE keyword, 155Universal Log table
querying with XQUERY, 293–295SQLXML queries, 305–307
Universal Naming Convention (UNC), 422, 660Universal Table, 281–284UNPIVOT operations, querying data with Transact-SQL,
178–179unstructured data, 258untyped XML data, 262update locks, 583UPDATE operations, 450UPDATE statement, Database Snapshots, 609UPDATE STATISTICS statement, 458, 461updateable subscriptions, NOT FOR REPLICATION
option, 720–721updateable views, creating, 245–247
Transact-SQL scripts
Z03I62271X.fm Page 948 Monday, May 1, 2006 12:45 PM
949
@update_mode parameter (sp_addsubscription stored procedure), 720–721
updating statistics, Transact-SQL database management, 461
upgrading SQL Server 2005 installation, 34–45Backup/Restore method, 38, 43–44Copy Database Wizard, 38data export/import, 39Detach/Attach method, 37, 42–43In-Place upgrades, 35manual schema rebuild, 39recovery plans, 40side-by-side migration, 35–36successful upgrade tips, 40–41testing and success criteria, 39–40
usage counters, upgrading SQL Server 2005 installation, 41
user-defined filegroups, 54user-defined functions (UDFs), formatting result sets
with Transact-SQL, 187user-defined types. See UDTsuser mapping, 740User Mode Scheduler (UMS), 576
Vvalid XML documents, 262validation
backups, restoring databases, 434message types, 784
VALIDATION clause (CREATE MESSAGE TYPE command), 785
value() method, executing XQUERY and XPATH expressions, 290
VARBINARY(MAX) data type (message types), 785varchar (max) data types, 114–115variables, tables, 122–123viewing column statistics, Transact-SQL database
management, 458–459VIEW_METADATA option (CREATE VIEW command,
WITH clause), 241views, 237–253
case scenarios, 253creating, 240–244
CREATE VIEW command, 240–243ownership chains, 242–243practice, 243–244
data modification, 245–247indexed views, 248–251
creating, 250prerequisites, 248–249query substitution, 249
key terms, 252practice tasks, 253Real World scenarios, 238–239triggers, 246
vocabulary. See terminology
Wwait types, 573Web methods, creating HTTP endpoints, 485Web resources, monitoring performance, 529Web services, 477
HTTP endpointscase scenarios, 491–492creating, 484–487key terms, 491Real World scenarios, 478security, 479–483
Web Services Description Language (WSDL), 486Web sites, Microsoft Press, xxxviiWelcome page (Database Mail Configuration Wizard),
65well-formed XML, 260WHERE clause (FLWOR expression), 287windows
New Job, 496New Job Step, 499Transaction Log Backup Settings, 659–660
Windows authentication, 23, 74Windows Management Instrumentation (WMI) events,
519WITH CHECK OPTION (CREATE VIEW command),
241WITH clause
BACKUP DATABASE command, 418CREATE FULLTEXT CATALOG command, 818CREATE VIEW command, 241
WITH CONTINUE_AFTER_ERROR option (RESTORE command), 433
WITH MOVE option (RESTORE command), 428WITH NORECOVERY clause (RESTORE command),
428WITH RECOVERY clause (RESTORE command), 428witness servers, database mirroring, 619–620wizards
Configure Database Mirroring Security, 631Configure Distribution, 707Copy Database, moving databases, 438–439Copy Database Wizard, upgrading to SQL Server 2005
installation, 38Database Mail Configuration Wizard, 64–66Disable Publishing and Distribution, 735New Publication, 710, 741, 749New Subscription, 716, 743SQL Server Installation Wizard, 25SQL Server Maintenance Plan Wizard, 504, 504–506SSIS Import/Export, 402–408
Choose a Destination page, 404–405Complete the Wizard screen, 406–407Save and Execute Package page, 405–406Select Source Tables and Views page, 405selecting a data source, 403starting wizard, 402–403
wizards
Z03I62271X.fm Page 949 Monday, May 1, 2006 12:45 PM
950
WMI (Windows Management Instrumentation) events, 519
word breakers (full-text indexes), 820Workgroup Edition, 4, 11workload analysis, DTA, 556–562, 563–564workload files
DTA, 556Transact-SQL script as, 556
WSDL (Web Services Description Language), 486
XXML data management, 255–348
case scenarios, 342–344converting from relational data, 320–333
bulk loading XML files, 330–332nodes() method, 325–327OPENXML, 320–324SQLXML, 328–329XML stored procedures, 320–324
creatingnew databases, 263–267XML schemas, 263–267
importing to flat files, 398–401key terms, 341–342modifications, 309–319
SQLXML updategrams, 313–316XML values and structures, 310–313
nested queries, 279–281practice tasks, 344–348Real World scenarios, 256representation types, 258retrieving data
middle-tier technologies, 298–308server-side technologies, 269–297
returning XML as XML data type instance, 279storage options, 257–258
limitations, 259, 261relational data, 258text columns, 259XML data type columns, 260–261
typed XML data, 262
untyped XML data, 262XML indexes, 334–340
data type instances, 334primary indexes, 335–336secondary indexes, 336–338
XML schemas, 262XML data manipulation language (XML DML), 309,
310–311XML data type columns, XML data storage, 260–261XML data types, retrieving XML data from, 285–295XML DML (XML data manipulation language), 309,
310–311XML files, bulk loading, 330–332XML indexes, 334–340
data type instances, 334primary indexes, 335–336secondary indexes, 336–338
XML Schema Definition (XSD), 299, 485XML schemas, 262
creating, 263–267loading from a file, 263
XML stored procedures, shredding XML, 320–324XML view files
keywords, 303restrictions, 303–304
XPATH querying language, 286–292exist() method, 290–292query() method, 287–289value() method, 290
XQUERY querying language, 286–295closure, 286compositionality, 286exist() method, 290–292FLWOR expression, 286–289integration, 286query() method, 287–289querying UniversalLog table, 293–295simplicity, 286static analysis, 286value() method, 290
XSD (XML Schema Definition), 299, 485
WMI
Z03I62271X.fm Page 950 Monday, May 1, 2006 12:45 PM