مشخصات کتاب
-
Tyler Graham , Suzanne Selhorn
-
2011
-
انگلیسی
-
2306
-
287
-
0
Microsoft® SQL Server® 2008 R2 Master Data Services: Implementation & Administration
Contents
Foreword . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xv
Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xvii
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xix
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 of ERP Systems as MDM Solutions . . . . . . . . . . . . . . . . . . . . . . . . 4
Specialized Master Data Management Solutions . . . . . . . . . . . . . . . . . . . . . . . . 5
Catering to the Titans . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Microsoft’s Solution 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 of Your Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
About the Main Street Clothing Company Implementation . . . . . . . . . . . . . . . . . . 14
Preparing the Web Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Windows 7 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
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
Chapter 4 Creating Your 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
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
tblStgMember Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
Member Staging Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
Loading Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
tblStgMemberAttribute Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
Attribute Staging Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
Using Staging to Deactivate and Reactivate Members . . . . . . . . . . . . . . . . . . . . . 104
Loading Relationships . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
tblStgRelationship 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
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. Explicit: Which Hierarchy Is Best? . . . . . . . . . . . . . . . . . . . . . . . . . . 130
Creating Derived Hierarchies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
Procedure: How to Create a Derived Hierarchy . . . . . . . . . . . . . . . . . . . . . . . . . 131
Procedure: How to 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: How to Create a Derived Hierarchy with an Explicit Cap . . . . . . . . . . . . . 148
Collections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
Limitations of Collections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
Procedure: How to Create a Collection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
Creating Hierarchies by Using Web Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
Creating a Derived Hierarchy with the MetadataCreate Operation . . . . . . . . . . . . . . 155
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
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 in a Derived Hierarchy by 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
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: How to Validate a Version . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
Other Business Rule Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
Procedure: How to Change the Rule Name and Description . . . . . . . . . . . . . . . . . . 211
Procedure: How to Set the Rule’s Priority Order . . . . . . . . . . . . . . . . . . . . . . . . . 212
Procedure: How to 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 Creating Versions of Data 233
Versions Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234
Changing the Structure of Your Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235
Committing Versions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235
Versioning for Main Street Clothing Company . . . . . . . . . . . . . . . . . . . . . . . . . 235
Updating Your Version Name and Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237
Procedure: How to 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
Committing and Copying a Version . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242
Procedure: How to 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
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
How Main Street Clothing Company Uses Subscription Views . . . . . . . . . . . . . . . . . . . . . 318
Procedure: How to Export Subscription 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 Enable the 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
Professional Microsoft® SQL Server® 2008 Administration
نویسنده: Brian Knight
زبان: انگلیسی