Removing a Database User from the Database . . . . . . . . . . . . . . . . . . . . . 491
Fixing Orphaned Database Users. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 491
Reporting Fixed Database Roles Information .
. . . . . . . . . . . . . . . . . . . . . . 493
Managing Fixed Database Role Membership . . . . . . . . . . . . . . . . . . . . . . . 494
Managing User-Defined Database Roles.
. . . . . . . . . . . . . . . . . . . . . . . . . . 495
Managing Application Roles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 497
■CHAPTER 18 Securables, Permissions, and Auditing . . . . . . . . . . . . . . . . . . . . . 501
Permissions Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 502
Reporting SQL Server Assignable Permissions. . . . . . . . . . . . . . . . . . . . . . 503
Server-Scoped Securables and Permissions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 505
Managing Server Permissions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 507
Querying Server-Level Permissions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 508
Database-Scoped Securables and Permissions . . . . . . . . . . . . . . . . . . . . . . . . . . 509
Managing Database Permissions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 510
Querying Database Permissions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 511
Schema-Scoped Securables and Permissions . . . . . . . . . . . . . . . . . . . . . . . . . . . 514
Managing Schemas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 516
Managing Schema Permissions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 517
Object Permissions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 519
Managing Object Permissions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 521
Mana
ging Permissions Across Securable Scopes
. . . . . . . . . . . . . . . . . . . . . . . . 522
Determining a Current Connection’s Permissions to a Securable . . . . . . 522
Reporting the Permissions for a Principal by Securable Scope . . . . . . . . 523
Changing Securable Ownership. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 527
Allowing SQL Logins to Access Non-SQL Server Resources. . . . . . . . . . . 528
Auditing SQL Instance and Database-Level Activity of Principals
Against Securables. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 529
Defining Audit Data Sources. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 530
Capturing SQL Instance–Scoped Events . . . . . . . . . . . . . . . . . . . . . . . . . . . 533
Capturing Database-Scoped Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 535
Querying Captured Audit Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 539
Managing, Modifying, and Removing Audit Objects. . . . . . . . . . . . . . . . . . 543
■CHAPTER 19 Encryption . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
547
Encryption by Passphrase. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 547
Using a Function to Encrypt by Passphrase . . . . . . . . . . . . . . . . . . . . . . . . 548
Master Keys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 550
Backing Up and Restoring a Service Master Key . . . . . . . . . . . . . . . . . . . . 550
Crea
ting,
Regenera
ting, and Dropping a Database Master Key
. . . . . . . .
551
■CONTENTSxviii
9802FM.qxd 6/25/08 11:40 AM Page xviii