x Contents Service Accounts and Permissions 155 Domain Service Accounts versus Local Service Accounts . . . . . . . . . . .157 Summary of Exam Objectives 158 Exam Objectives Fast Track . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .158 Exam Objectives Frequently Asked Questions 161 Self Test 162 Self Test Quick Answer Key . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .167 Chapter 5 Managing Data Encryption 169 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .170 Understanding Transparent Data Encryption . . . . . . . . . . . . . . . . . . . . . . .170 Requirements 172 Enabling TDE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .172 How Data Is Encrypted 175 Encryption Keys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .175 Key Management 176 Database Encryption Keys 177 Best Practices for Managing Database Keys . . . . . . . . . . . . . . . . . . . . .177 Cell- and Column-Level Encryption 178 EFS Encryption (Through the Operating System) 180 EFS in a Clustered Environment 181 Restoring Encrypted Backups to Another Server or Instance . . . . . . . . . . . . . . . . . . . . . . . . . . . .182 Third-Party Encryption Tools 183 Summary of Exam Objectives 184 Exam Objectives Fast Track . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .184 Exam Objectives Frequently Asked Questions 187 Self Test 189 Self Test Quick Answer Key . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .194 Chapter 6 Managing High Availability . . . . . . . . . . . . . . . . . . . . . . . . 195 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .196 Defining High Availability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .196 SQL High-Availability Options 198 Log Shipping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .198 Mirroring 203 Clustering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .213 Special Hardware Requirements 223 Special Software Requirements 223 Geo-Clustering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .226 Contents xi Replication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .230 Recovery Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .231 Expandability 231 Hot Add CPU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .231 Hot Add Memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .232 Summary of Exam Objectives 233 Exam Objectives Fast Track . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .233 Exam Objectives Frequently Asked Questions 234 Self Test 236 Self Test Quick Answer Key . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .244 Chapter 7 Maintaining Your Database . . . . . . . . . . . . . . . . . . . . . . . . 245 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .246 Understanding Data Collation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .246 SQL Server Collations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .249 Binary Collations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .249 Using Collations 250 Collation Considerations for Backup and Restore . . . . . . . . . . . . . . . .253 Maintaining Data Files 256 Implementing Data Compression . . . . . . . . . . . . . . . . . . . . . . . . . . . .256 Row versus Page Compression 258 Estimating Space Savings Using sp_estimate_data_compression_savings . . . . . . . . . . . . . . . . . . . .259 Using Sparse Columns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .260 Maintaining Indexes 262 DBCC Explained 265 Using DBCC CHECKTABLE to Verify Table Integrity 268 Using the DBCC CHECKDB to Verify Database Integrity 271 Using the DBCC SHRINKFILE Option to Reclaim Database Space . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .272 Backing Up and Restoring Data 274 Understanding Database Recovery Models . . . . . . . . . . . . . . . . . . . . .274 Backup Types 275 Choosing a Database Backup Strategy 278 Restoring Databases 280 Performing Online Restore 281 Restoring Individual Pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .281 Performing Ongoing Maintenance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .283 Using SQL Server Agent 283 xii Contents Using Database Maintenance Plans . . . . . . . . . . . . . . . . . . . . . . . . . . .285 Policy-Based Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .287 Examples of Using Policy-Based Management . . . . . . . . . . . . . . . . .289 Using the Data Collector to Collect Performance Data . . . . . . . . . . . .290 Summary of Exam Objectives 294 Exam Objectives Fast Track . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .295 Exam Objectives Frequently Asked Questions 298 Self Test 301 Self Test Quick Answer Key . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .311 Chapter 8 ETL Techniques 313 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .314 Understanding ETL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .314 Bulk Copying Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .314 Using BCP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .315 Using BCP Data File Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .321 Using Format Files 324 Using the BULK INSERT Statement . . . . . . . . . . . . . . . . . . . . . . . . .330 Recovery Model and Bulk Operations . . . . . . . . . . . . . . . . . . . . . . . .333 Optimizing Bulk Load Performance . . . . . . . . . . . . . . . . . . . . . . . . . .336 Distributed Queries 337 Understanding Fully Qualified Object Names 337 Enabling Ad Hoc Distributed Queries 339 Using the OPENROWSET Function 342 Querying Data with OPENROWSET 344 Modifying Data with OPENROWSET . . . . . . . . . . . . . . . . . . . . .346 Copying Data with OPENROWSET 346 Using OPENROWSET (BULK,…) 347 Using the OPENDATASOURCE Function . . . . . . . . . . . . . . . . . . . .348 Using Linked Servers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .350 Using the OPENQUERY Function . . . . . . . . . . . . . . . . . . . . . . . . . .353 Using Distributed Transactions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .354 SQL Server Integration Services 355 Creating SSIS Packages 356 Using the Copy Database Wizard . . . . . . . . . . . . . . . . . . . . . . . . . .357 Using the Import and Export Wizard . . . . . . . . . . . . . . . . . . . . . . .361 Using Business Intelligence Development Studio 366 Using Package Configurations . . . . . . . . . . . . . . . . . . . . . . . . . . . .373 Contents xiii Managing SSIS 374 Understanding SSIS Package Storage . . . . . . . . . . . . . . . . . . . . . . .375 Deploying SSIS Packages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .376 Securing SSIS Packages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .377 Using Package Protection Levels . . . . . . . . . . . . . . . . . . . . . . . .377 MSDB Database Roles and SSIS Package Roles . . . . . . . . . . . . .378 Executing SSIS Packages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .380 Logging Package Execution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .381 Alternative ETL Solutions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .383 Coding Solutions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .383 Third-Party Solutions 383 Summary of Exam Objectives 384 Exam Objectives Fast Track . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .385 Exam Objectives Frequently Asked Questions 387 Self Test 389 Self Test Quick Answer Key . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .396 Chapter 9 Managing Replication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 397 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .398 Replication Scenarios 400 Article 400 Publication 400 Subscription 400 Publisher . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .400 Distributor 401 Subscriber . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .401 Replication Types 401 Snapshot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .401 Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .402 Transactional . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .402 Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .403 Updatable Subscription 403 Peer-to-Peer Replication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .404 Merge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .405 Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .407 Replication Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .407 Configuration of Distributor 407 Configuration of Publisher . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .408 xiv Contents Configuration of Subscriber(s) 412 Configuration of Peer-to-Peer Replication . . . . . . . . . . . . . . . . . . . . .416 Conflict Resolution 417 Conflict Resolution Mechanism in Peer-to-Peer Replication 419 DDL Replication 419 Security Considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .421 Snapshot Agent 421 Connect to Publisher . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .421 Replication Performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .421 Monitoring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .422 Replication Monitor 422 Tracer Tokens 425 Alerts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .426 Performance Monitor 428 Replication Agents 428 Replication Distribution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .429 Replication Logread 429 Replication Merge 429 Replication Snapshot 430 DMVs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .430 Summary of Exam Objectives 431 Exam Objectives Fast Track . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .431 Exam Objectives Frequently Asked Questions 433 Self Test 436 Self Test Quick Answer Key . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .442 Chapter 10 Monitoring and Troubleshooting 443 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .444 Service Troubleshooting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .444 Concurrency Issues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .446 Agent Issues 447 Error Logs 455 Windows Event Log 455 SQL Server Log 456 SQL Server Profiler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .460 Performance Monitor 465 Summary of Exam Objectives 467 Exam Objectives Fast Track . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .467 Exam Objectives Frequently Asked Questions 469 Self Test 470 Self Test Quick Answer Key . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .478 . 455 SQL Server Log 456 SQL Server Profiler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .460 Performance Monitor 465 Summary of Exam Objectives 467 Exam. . . . . . . .354 SQL Server Integration Services 355 Creating SSIS Packages 356 Using the Copy Database Wizard . . . . . . . . . . . . . . . . . . . . . . . . . .357 Using the Import and Export. .182 Third-Party Encryption Tools 183 Summary of Exam Objectives 184 Exam Objectives Fast Track . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .184 Exam Objectives Frequently Asked Questions