Microsoft SQL Server 2008 R2 Master Data Services: Implementation & Administration Tyler Graham Suzanne Selhorn Mc Grauu Hill New York Chicago San Francisco Lisbon London Madrid Mexico City Milan New Delhi San Juan Seoul Singapore Sydney Toronto
Contents Foreword Acknowledgments Introduction xv xvii x'x Chapter 1 Introduction to Master Data Services 1 What Is Master Data Management? 2 History of Master Data Management 3 An Overview of Master Data Management Solutions 3 Shortcomings oferp Systems as MDM Solutions 4 Spedalized Master Data Management Solutions 5 Catering to the Titans 6 Microsoft'sSolution to Master Data Management 6 What Master Data Services Delivers 6 The Value Proposition 8 About the Sample Company 8 Summary 9 Chapter 2 Installation and Configuration 11 Determining the Initial Scope ofyour Project 12 About the Main Street Clothing Company Implementation 14 Preparing the Web Server 15 Windows7 Web Application Requirements 15 Windows Server 2008 R2 Web Application Requirements 15 Installing Master Data Services 18 Procedure: Install Master Data Services 18 About MDS Configuration Manager 20 Creating an MDS Database 21 Procedure: Create an MDS Database 21 About System Settings 25 Creating the Master Data Manager Web Application 26 Procedure: Create a Master Data Manager Web Site (Optional) 27 Procedure: Create a Master Data Manager Web Application 30 Procedure: Associate the MDS Database with the Web Application 32 V
vi Microsoft SQL Server 2008 R2 Master Data Services Securing Your Web Application 36 Getting the Latest Version of MDS 37 Summary 40 Chapter 3 Starting an MDS Project 41 How Do I Know Master Data When I See It? 42 Business Process Models 42 System Roles 44 System of Entry 44 System of Record 44 Subscribing System 45 Mapping the Data 45 Determining What to Do with Duplicate Records 46 Determining Which Attributes to Manage 46 The Main Street Clothing Company Example 47 Finding a Data Steward 47 Leveraging the Business Process Models 47 Filling in the Gaps 48 Determining System Types 50 Cleansing Data for Initial Import into MDS 52 Summary 53 Chapter4 CreatingYour Model 55 MDS Modeling Concepts 56 Building a Model 57 Deploying a Model 58 Procedure: How to Deploy a Model 59 About Models 62 About Main Street Clothing Company's Models 62 Procedure: How to Create a Model 62 About Entities 66 About Main Street Clothing Company's Entities 66 Procedure: How to Create an Entity 66 About Members 70 About Main Street Clothing Company's Members 71 Procedure: How to Add a Member 71 About Attributes 74 About Main Street Clothing Company's Attributes 74
Contents vi i Procedure: How to Create an Attribute 74 Procedure: How to Create a Domain-Based Attribute 78 About Attribute Groups 83 About Main Street Clothing Company's Attribute Groups 83 Procedure: How to Create an Attribute Group 84 Procedure: How to Reorder Attribute Groups 88 Using Web Services 90 Creating a Model 90 Creating an Entity 91 Creating an Attribute 91 Summary 92 Chapter 5 Integrating Master Data Services with Other Systems 93 Staging Architecture 94 Preparing Data for Import 95 Security in Staging 95 System Settings 96 Loading Members 96 About Main Street Clothing Company's Staging Process 97 tbistgmember Fields 98 Member Staging Examples 99 Loading Attributes 101 tbistgmemberattribute Fields 102 Attribute Staging Examples 103 Using Staging to Deactivate and Reactivate Members 104 Loading Relationships 105 tbistgrelationship Fields 106 Relationship Staging Examples 107 Importing Data into the Staging Tables 109 Procedure: How to Import Data into SQL Server by Using SSIS 109 Initiating the Staging Process 111 Procedure: How to Use Master Data Manager to Initiate the Staging Process 112 Procedure: How to Use Stored Procedures to Initiate the Staging Process 114 Using Web Services to Stage Data 115 Creating Batches 116 Initiating the Staging Process 116 Clearing Batches 117
viii Microsoft SQL Server 2008 R2 Master Data Services Errors that Occur During Staging 118 Procedure: How to View Staging Errors in the Web Application 118 Member Staging Errors 119 Attribute Staging Errors 120 Relationship Staging Errors 122 Viewing the Staging Batch Table 124 Procedure: How to Clear the Staging Queue 126 Summary 126 Chapter 6 Working with Hierarchies and Collections 127 Ragged vs. Level-Based Hierarchies 129 Derived Hierarchies 129 Explicit Hierarchies 129 Derived vs. Expl icit: Which Hierarchy Is Best? 130 Creating Derived Hierarchies 131 Procedure: How to Create a Derived Hierarchy 131 Procedure: Howto Create a Three-Level Derived Hierarchy 134 Hiding Levels 137 System Settings for Hierarchies 138 Number of Members in the Hierarchy by Default 138 Show Names in Hierarchy by Default 138 Creating Explicit Hierarchies 138 Non-mandatory Explicit Hierarchies 138 Mandatory Explicit Hierarchies 138 Procedure: How to Create an Explicit Hierarchy 140 Recursive Hierarchies 144 Procedure: How to Create a Recursive Hierarchy 144 Derived Hierarchies with Explicit Caps 148 Procedure:Howto Create a Derived Hierarchy with an Explicit Cap 148 Collections 150 Limitations of Collections 151 Procedure: Howto Create a Collection 151 Creating Hierarchies by Using Web Services 155 Creating a Derived Hierarchy with the MetadataCreate Operation 155 Summary 157
Contents ix Chapter 7 Working with Master Data 159 Viewing the Base Entity 160 Finding Data by Filtering 161 Operators 163 Using Similarity Level 163 Sorting and Pagination 165 Sorting 165 Pagination 165 Editing Attributes 165 Edit One Attribute for One Member 166 Edit One Attribute for Multiple Members 167 Edit Multiple Attributes for One Member 168 Exporting Members 169 Working with Data in Hierarchies 170 Moving Members by Dragging and Dropping 170 Moving Members by Using the Clipboard 171 Moving Members ina Derived Hierarchyby Updating Attribute Values 174 Transactions 176 Reviewing Transactions 177 Reversing Transactions 177 Annotations 178 Annotating Members 178 Annotating Transactions 180 Metadata 181 Using Web Services to Work with Members 181 Retrieving Members 181 Creating and Updating Members 182 Summary 184 Chapter 8 Using Business Rules 185 Business Rules Overview 186 Business Rule Structure 186 Business Rule Workflow 187 Creating a Business Rule 187 Configuring a Rule's Expression 188 Procedure: How to Require Attribute Values 189 Deleting a Condition or Action 192
X Microsoft SQL Server 2008 R2 Master Data Services More Expression Examples 193 Creating Your Own Expressions 204 Publishing Business Rules 207 Procedure: How to Publish a Business Rule 207 Business Rule Statuses 208 Applying Business Rules 208 Procedure: How to Apply Business Rules in Explorer 209 Resolving Validation Issues in Explorer 210 Procedure: Howto Validate a Version 211 Other Business Rule Tasks 211 Procedure: How to Change the Rule Name and Description 211 Procedure: Howto Setthe Rule's Priority Order 212 Procedure: Howto Exclude Business Rules 213 Configuring E-Mail Notifications 214 Procedure: How to Configure E-Mail Notifications 214 Procedure: How to Configure a Business Rule to Send E-Mail 216 Creating and Triggering Workflows 217 Creating a Workflow in MDS 217 Triggering an External Workflow 224 Using Web Services to Manage Business Rules 228 Getting a List of Rules 229 Creating a Business Rule 229 Summary 231 Chapter 9 CreatingVersions of Data 233 Versions Overview 234 Changing the Structure ofyour Model 235 Committing Versions 235 Versioning for Main Street Clothing Company 235 Updating Your Version Name and Description 237 Procedure: Howto Change the Version Name and Description 237 Version Statuses 238 Procedure: How to Lock a Version 238 Validating a Version 239 Procedure: How to Validate a Version 239 Procedure: How to Resolve Validation Issues 241 Reviewing and Reversing Transactions 242
Contents xi Committing and Copying a Version 242 Procedure: Howto Commit a Version 242 Procedure: How to Reopen a Committed Version 243 Procedure: How to Copy a Version 244 Version Flags 245 Procedure: How to Create a Version Flag and Assign It to a Version 245 Viewing a Version's Ancestry 247 Procedure: How to Delete a Version 248 Using Web Services to Work with Versions 248 Returning a List of Versions 249 Changing the Version Status 249 Summary 251 Chapter 10 Using Metadata 253 The Metadata Model 254 What Happens When Model Objects Are Added or Deleted 254 Metadata for Entities 255 Metadata for Attributes 258 Metadata for Attribute Groups 258 Metadata for Hierarchies 259 Metadata for Models 259 Adding Metadata 259 Extending the Metadata Model 260 Limitations of the Metadata Model 261 Using Web Services with Metadata 261 Determining the Metadata Member Code 261 Getting Metadata for a Model, Entity, or Attribute 263 Summary 264 Chapter 11 Implementing Security 265 Security Overview 266 Users and Groups 267 Procedure: How to Add a Group 268 Administrators 269 Procedure: How to Change the Administrator Account 270 Testing Permissions 271 Functional Area Permissions 272 Procedure: How to Assign Functional Area Permissions 273
xii Microsoft SQL Server 2008 R2 Master Data Services Model Object Permissions 274 Quick Facts About Model Object Permissions 275 Best Practice for Model Object Permissions 275 Procedure: How to Assign Model Object Permissions 275 Procedure: How to Delete Model Object Permissions 278 Access to Entities 278 Access to Leaf Member Attributes 280 Access to Individual Attributes 281 Access to an Explicit Hierarchy 284 Access to Collections 286 Access to Other Model Objects 287 Deny Permissions 293 Navigational Access 293 Deleting Permissions 294 Hierarchy Member Permissions 295 Quick Facts About Hierarchy Member Permissions 296 Procedure: How to Assign Hierarchy Member Permissions 296 Procedure: How to Apply Hierarchy Member Security Immediately 299 Determining Which Permissions Apply 300 Combining Permissions 300 Combining Users and Groups 302 Setting Security by Using Web Services 304 Retrieving Users and Groups 304 Retrieving User or Group Permissions 305 Adding Users and Groups 306 Assigning Permissions 307 Summary 309 Chapter 12 Publishing Data to External Systems 311 Exporting Data to Subscribing Systems 312 Subscription View Formats 312 Common View Architecture 313 Procedure: How to Create a Subscription View 314 Viewing a Subscription View in SQL Server 315 Subscription Views and Model Deployment 316 Creating a Subscription View with Web Services 316 Creating Entity Views 316 Creating Derived Hierarchy Views 317 Deleting Views 318
Contents xiii How Main Street Clothing Company Uses Subscription Views 318 Procedure: Howto ExportSubscription View Data 319 Summary 322 Chapter 13 Extending MDS with Web Services 323 Exposing the Web Service 324 Procedure: How to Enable the Web Service 324 Exposing the WSDL 325 Procedure: How to Enablethe WSDL 326 Creating an MDS Project in Visual Studio 326 Procedure: How to Create an MDS Web Service Application 326 Creating an Abstraction Layer 329 MDS Web Service Operations 329 Members 330 Bulk Operations 330 Validation 331 Transactions 331 Annotations 331 Subscription Views 332 Metadata Structures 332 Security 332 Business Rules 333 System Settings 333 User Preferences 334 Miscellaneous Operations 334 The Most Frequently Used Operations 334 Searching for Members 334 Understanding the EntityMembers Object 338 Summarizing Member Data 338 Working with Metadata 338 Validating Records in MDS 340 Managing Transactions 344 Handling Errors in the Web Service 345 Summary 346 Index 347