0% found this document useful (0 votes)
17 views72 pages

9780672337789

Uploaded by

343testuser1
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
17 views72 pages

9780672337789

Uploaded by

343testuser1
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 72

Garth Jones

Dan Toll
Kerrie Meyler

System Center
Configuration
Manager
Reporting
UNLEASHED

800 East 96th Street, Indianapolis, Indiana 46240 USA


System Center Configuration Manager Reporting Unleashed Editor-in-Chief
Copyright © 2016 by Pearson Education, Inc. Greg Wiegand
All rights reserved. Printed in the United States of America. This publication is protected Acquisitions Editor
by copyright, and permission must be obtained from the publisher prior to any prohibited
Joan Murray
reproduction, storage in a retrieval system, or transmission in any form or by any
means, electronic, mechanical, photocopying, recording, or likewise. For information Development Editor
regarding permissions, request forms, and the appropriate contacts within the Pearson
Mark Renfrow
Education Global Rights & Permissions Department, please visit www.pearsoned.com/
permissions/. No patent liability is assumed with respect to the use of the information Managing Editor
contained herein. Although every precaution has been taken in the preparation of this
Kristy Hart
book, the publisher and author assume no responsibility for errors or omissions. Nor is
any liability assumed for damages resulting from the use of the information contained Senior Project Editor
herein.
Lori Lyons
ISBN-13: 978-0-672-33778-9
Copy Editor
ISBN-10: 0-672-33778-9
Kitty Wilson
Library of Congress Control Number: 2016901207
Printed in the United States of America Indexer
Tim Wright
First Printing May 2016
Proofreader
Trademarks
Paula Lowell
All terms mentioned in this book that are known to be trademarks or service marks have
been appropriately capitalized. Sams Publishing cannot attest to the accuracy of this Technical Editor
information. Use of a term in this book should not be regarded as affecting the validity Steve Rachui
of any trademark or service mark.
Editorial Assistant
Warning and Disclaimer Cindy Teeters
Every effort has been made to make this book as complete and as accurate as
possible, but no warranty or fitness is implied. The information provided is on an “as Cover Designer
is” basis. The authors and the publisher shall have neither liability nor responsibility to Mark Shirar
any person or entity with respect to any loss or damages arising from the information
contained in this book. Compositor
codeMantra
Special Sales
For information about buying this title in bulk quantities, or for special sales
opportunities (which may include electronic versions; custom cover designs; and content
particular to your business, training goals, marketing focus, or branding interests),
please contact our corporate sales department at corpsales@pearsoned.com or
(800) 382-3419.
For government sales inquiries, please contact governmentsales@pearsoned.com.
For questions about sales outside the U.S., please contact intlcs@pearson.com.
Contents at a Glance
Foreword. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiii
Introduction ......................................................................................... 1

Part I Installing and Configuring SSRS for Configuration Manager


1 Installing SQL Server Reporting Services. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2 Installing and Configuring Configuration Manager Reporting. . . . . . . . . . . . . . . . . . 43

Part II About Data and Retrieval


3 Understanding Configuration Manager Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
4 Transact-SQL Primer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99

Part III Using SSRS for Configuration Manager Reporting


5 Basic Report Design. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
6 Building a Basic Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
7 Intermediate Reporting Concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
8 SSRS Reporting Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241
9 Role-Based Administration and Reporting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287

Part IV Appendixes
A Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319
B Demonstration Outcomes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323
C Available Online . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351

Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 361

Note: Download all examples and scripts presented in this book as they
become available from informit.com/title/9780672337789
Table of Contents

Foreword xiii
Introduction 1

Part I Installing and Configuring SSRS for Configuration Manager

1 Installing SQL Server Reporting Services 7


Installing the SQL SSRS Component . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Configuring SSRS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Configuring the SSRS Installation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Configuring Email . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Enabling Remote Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Installing Client Tools for SSRS Reporting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Installing Client Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Installing SQL Server Data Tools Business Intelligence . . . . . . . . . . . . . . . . . . . 38
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

2 Installing and Configuring Configuration Manager Reporting 43


Creating the Reporting Services Point . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Using ConfigMgr Security Reporting Roles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
Creating a Security Reporting Role . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
Restricting Access to Reports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
Removing a Security Role . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
Exporting and Importing Security Roles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
Working with Security Roles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
Applying a Security Role to a Security Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
Removing Permissions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
Accessing ConfigMgr Reports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
Changing the ConfigMgr Report Logo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
Demonstrating Creating and Assigning ConfigMgr Security Roles . . . . . . . . . . 75
Working with the Report Reader Security Role . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
Working with the Software Updates Report Reader Security Role . . . 76
Working with the Inventory Report Reader Security Role . . . . . . . . . . . . . 76
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77

Part II About Data and Retrieval

3 Understanding Configuration Manager Data 81


Using Data Classes and SQL Views . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
Using Discovery Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
Contents v

Using Hardware Inventory Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84


Using Software Inventory Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
Using Software Update Inventory Classes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
Using Software Metering Inventory Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
Using Status Message Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
Using State Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
Using Collection Data Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
Using Tools for Creating Reports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
Introducing SQL Server Management Studio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
Connecting to the ConfigMgr Database Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
Executing a Query in SQL Server Management Studio . . . . . . . . . . . . . . . . . . . 95
Using the Object Explorer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
Demonstrating SQL Server Management Studio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
Creating and Executing a Query . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
Looking at Views . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98

4 Transact-SQL Primer 99
Understanding the Basic SQL Sections in a Query . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
Using the SELECT Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
Using the FROM Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
Defining Criteria with the WHERE Statement. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
Using ORDER BY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
Using Secondary Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
Using the DISTINCT Keyword . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
The GROUP BY Operator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
Using SQL View Aliases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
Using Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
Column Naming in Query Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
Understanding Aggregate Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
Using the COUNT Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
Using the MIN (Minimum) Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
Using the AVG (Average) Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
Using the MAX (Maximum) Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
Using the SUM Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
Understanding Date and Time Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
Understanding Date Parts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
Using Common Date and Time Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
Transforming Data Stored in the ConfigMgr Database . . . . . . . . . . . . . . . . . . . . . . . . . . 111
Using the CASE Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
Converting Data with the CONVERT and CAST Functions . . . . . . . . . . . . . . . . 112
Using the ISNULL Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
vi System Center Configuration Manager Reporting Unleashed

Understanding the SQL JOIN Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115


What Is a JOIN? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
Using the ResourceID Column. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
Using the v_R_System_Valid View. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
Explaining the JOIN Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
Demonstrating SQL Operators. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
Running the Sample SQL File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
Editing the Sample Query. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
Creating a Query with Aliases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
Demonstrating Aggregate Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
Creating a New Query . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
Using the COUNT Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
Demonstrating Date and Time Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
Demonstrating Data Transforms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
Applying the CASE Function. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
Applying the CAST and CONVERT Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
Applying the ISNULL Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
Demonstrating JOIN Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
Executing an Inefficient Query . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
Writing an Efficient Query . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
Working with the Different JOIN Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131

Part III Using SSRS for Configuration Manager Reporting

5 Basic Report Design 135


Understanding the Purpose of a Report Series . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
Using a Summarized Data Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
Using a List Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
Using a Detailed PC Report. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
Understanding Report Design Considerations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
Providing a Consistent Look and Feel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
Printed Versus Interactive Reports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
The Benefits of Using Report Templates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
The Ability to Export Reports. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
Using Custom Report Requests. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
Gathering Report Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
Questioning Report Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
Report Verification and Delivery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
Report Life Cycle and Maintenance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
Contents vii

6 Building a Basic Report 163


Creating a Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
Creating a Basic Report. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
Creating a Data Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
Creating a Dataset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
Setting the Size of a Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
Accessing Report Items . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
Adding a Table to a Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
Previewing a Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
Customizing a Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
Adding Background Color to Rows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
Alternating Data Row Colors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
Adding Interactive Sorting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
Setting the Table Header Row to Repeat on All Pages . . . . . . . . . . . . . . . . . . . 187
Adding a Page Header to a Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188
Adding a Page Footer to a Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
Adding an Image to a Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
Demonstrating Basic Report Creation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
Creating a New Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
Creating a Patch Compliance Progression Report . . . . . . . . . . . . . . . . . . . . . . . . . 196
Creating a Computer Hardware Information Report. . . . . . . . . . . . . . . . . . . . . 196
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197

7 Intermediate Reporting Concepts 199


Creating Report Templates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
Creating a Report Template (8.5×11in) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
Creating a New Report from a Template . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
Exporting Reports from SSDT-BI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
Modifying the Page Size of an Existing Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
Using Report Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
Understanding the Value and Label Fields. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
Using Default Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
Understanding Cascade Prompts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
Using Multi-Value Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
Adding a Simple Prompt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
Adding a Dropdown Prompt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
Adding a Multi-Value Parameter. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
Adding a Chart Item to a Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
Using Column Charts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
Using Bar Charts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
Using Line Charts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
Using Pie Charts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
viii System Center Configuration Manager Reporting Unleashed

Using Doughnut Charts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221


Using Other Chart Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
Adding a Chart to a Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
Customizing Chart Items . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
Adding an Action to a Chart. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233
Demonstrating Template Creation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236
Creating Template Reports. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236
Modifying Page Sizes for Existing Reports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237
Demonstrating Report Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237
Updating the Patch Compliance Progression Report . . . . . . . . . . . . . . . . . . . . 237
Updating the Computer Hardware Information Report . . . . . . . . . . . . . . . . 238
Demonstrating Adding Chart Items . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238
Adding a Chart to the Patch Compliance Progression Report . . . . . . . . 238
Adding a Chart to the Computer Hardware Information Report. . . . 239
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240

8 SSRS Reporting Features 241


Using Report Drillthroughs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242
Adding an Action on a Table Cell’s Value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242
Adding Hyperlinks to a Report Item . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246
Adding a Subreport Item . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247
Creating Custom Color Palettes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258
Available Out-of-the-Box Color Palettes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259
Setting Custom Color Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259
Setting Custom Color Codes by Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263
Adding Reports to SSRS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268
Manually Adding a Report to SSRS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268
Publishing Reports from SSDT-BI to the SSRS Website . . . . . . . . . . . . . . . . . . 273
Creating Report Subscriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277
Demonstrating Report Drillthroughs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282
Patch Compliance Progression Drillthrough Series . . . . . . . . . . . . . . . . . . . . . . . 282
Computer Hardware Information Drillthrough Series . . . . . . . . . . . . . . . . . . . 283
Demonstrating Custom Color Palettes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284
Applying a Custom Color Palette to Cycle Through Color Codes . . 284
Applying a Custom Color Palette Based on Values . . . . . . . . . . . . . . . . . . . . . . . 284
Demonstrating Adding Reports to SSRS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285
Manually Adding Reports to the SSRS Website . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285
Publishing Reports to SSRS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285
Creating a Subscription . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286
Contents ix

9 Role-Based Administration and Reporting 287


How Role-Based Administration and Reporting Work . . . . . . . . . . . . . . . . . . . . . . . . . . . 288
Using SQL Queries with RBA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289
Converting a SQL Query to a ConfigMgr RBA SQL Query . . . . . . . . . . . . . 289
Testing a ConfigMgr RBA SQL Query . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292
Using Reports and RBA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295
Updating SSDT-BI for RBA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295
Adding the DLL to a Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296
Adding an RBA Dataset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298
Adding RBA Prompts to a Report. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300
RBA Tips and Troubleshooting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305
RBA SQL Query Performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305
Troubleshooting and Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309
Demonstrating Creating an RBA Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315
Converting the Patch Compliance Progression Query to an
RBA Query and Testing It . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315
Converting the Patch Compliance Progression Report to an
RBA Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315
Converting the Computer Hardware Information Query to an
RBA Query and Testing It . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316
Adding a Chart to the Computer Hardware Information Report. . . . 316
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316

Part IV Appendixes

A Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319
Glossary of Terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319

B Demonstration Outcomes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323


Chapter 2 Demonstration Outcomes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323
Working with the Report Reader Security Role. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323
Working with the Software Updates Report Reader Security Role . . 324
Working with the Inventory Report Reader Security Role . . . . . . . . . . . . . 325
Chapter 3 Demonstration Outcomes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326
Creating and Executing a Query . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326
Looking at Views . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327
Chapter 4 Demonstration Outcomes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328
Demonstrating SQL Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328
Working with Aggregate Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330
Working with Date and Time Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332
Working with Data Transforms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333
Executing an Inefficient Query . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336
Writing an Efficient Query . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336
x System Center Configuration Manager Reporting Unleashed

Chapter 6 Demonstration Outcomes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338


Creating a New Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338
Creating a Patch Compliance Progression Report . . . . . . . . . . . . . . . . . . . . . . . . . 338
Creating a Computer Hardware Information Report. . . . . . . . . . . . . . . . . . . . . 338
Chapter 7 Demonstration Outcomes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340
Creating Template Reports. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340
Modifying Page Sizes for Existing Reports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340
Updating the Patch Compliance Progression Report . . . . . . . . . . . . . . . . . . . . 341
Updating the Computer Hardware Information Report . . . . . . . . . . . . . . . . 341
Adding a Chart to the Patch Compliance Progression Report . . . . . . . . 341
Adding a Chart to the Computer Hardware Information Report. . . . 343
Chapter 8 Demonstration Outcomes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343
Adding a Patch Compliance Progression Drillthrough Series . . . . . . . . . 343
Adding a Computer Hardware Information Drillthrough Series . . . . . 344
Applying a Custom Color Palette to Cycle Through Color Codes . . 345
Applying a Custom Color Palette Based on Values . . . . . . . . . . . . . . . . . . . . . . . 345
Manually Adding Reports to the SSRS Website . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345
Publishing Reports to SSRS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347
Creating a Subscription . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348
Chapter 9 Demonstration Outcomes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348

C Available Online . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351


Creating and Assigning ConfigMgr Security Roles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351
Understanding Configuration Manager Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352
Transact-SQL Primer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353
Basic Report Design. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355
Building a Basic Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355
Intermediate Reporting Concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355
SSRS Reporting Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 357
Role-Based Administration and Reporting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 358

Index 361

Note: Download all examples and scripts presented in this book as they
become available from informit.com/title/9780672337789
About the Authors
Garth Jones, System Center Enterprise Client Manager MVP, is chief architect at
Enhansoft, an Ottawa-based company that develops products and services to extend the
value of System Center Configuration Manager. Garth started working with the product
in 1996, when it was known as SMS. He is the founder of the Ottawa Windows Server
User Group and its associated study group. In addition to being an active participant
in Microsoft’s forums, Garth also participates on OWSUG.ca, SMSug.ca, FAQshop.com,
and myITForum.com. He has presented at OWSUG, MMS, EnergizeIT, ITProTeach, and
Techdays. Garth also creates webcasts for SMSUG.ca and myITForum.com.
Dan Toll, a System Center Configuration Manager administrator, has worked with
different versions of the product starting with SMS 2003. Dan specializes in OS
deployment for workstations and servers using Microsoft Deployment Toolkit (MDT)
with ConfigMgr, as well as Configuration Manager reporting. In his current job, Dan is
the SME for Configuration Manager as well as the client computing environment, which
includes deployment, functionality, and maintenance of systems; their operating systems;
applications; patching compliancy; and reporting.

Kerrie Meyler, System Center Cloud and Datacenter Management MVP, is the lead
author of numerous System Center books in the Unleashed series, including System
Center 2012 Configuration Manager Unleashed (2012), System Center 2012 R2 Configuration
Manager Unleashed Supplement (2014), System Center 2012 Service Manager Unleashed
(2014), System Center 2012 Operations Manager Unleashed (2013), and System Center 2012
Orchestrator Unleashed (2013). She is an independent consultant with more than 17 years
of information technology experience. Kerrie was responsible for evangelizing SMS while a
senior technology specialist at Microsoft and has presented on System Center technologies
at TechEd and MMS.
Dedication
To our spouses for their patience, and to the team at Enhansoft
for their assistance.

Acknowledgments
Writing a book is an all-encompassing and time-consuming project, and this book
certainly meets that description. Configuration Manager is a massive topic, and this book
benefited from the input of many individuals. The authors and contributors would like to
offer their sincere appreciation to all those who helped with System Center Configuration
Manager Reporting Unleashed, including Wally Mead and Steve Rachui.

We would also like to thank our spouses and significant others for their patience and
understanding during the many hours spent on this book.

Thanks also to the staff at Pearson, in particular to Joan Murray and Cindy Teeters.
Foreword
Some people think that Configuration Manager is scary and complex—and it can be if
you don’t have a good, solid background in it before you attempt to tackle it for your
enterprise. I think that training is essential to having a great background in Configuration
Manager before you take on its challenges in a production environment. When you throw
reporting into the picture, it is even scarier.

Reporting is a bit of a black box for most Configuration Manager admins: They don’t deal
with it much, other than running the default reports, and they certainly don’t know how
to create custom reports. Each of the various releases of Configuration Manager has had a
great set of default reports (and that count is nearing 500 now) that cover all the various
features and functions of the product. But what happens when management comes to you
and says, “We need a report that shows x and y?” Now you get nervous and wonder how
you are going to accomplish that. Hopefully you have a SQL guru who can help you out,
but not everyone is that fortunate.

If you don’t have a SQL guru handy to help out, you search the web for content
that others have created in an attempt to find something that will work to satisfy
management’s request. Often, customizations are needed, such as adding charts, logos,
colors, drillthrough actions, and so on. That’s where it really gets complicated for most
of us. And there have not been a lot of great resources out there to help us novices really
learn how to quickly and efficiently create custom reports that will not only satisfy the
desires of management but really empower the admin to no longer be afraid, and maybe
even welcome, the opportunity to create reports.

Now along comes this book, a treasure chest of gold for admins who need to create reports
in Configuration Manager, who may not have a SQL background, and who have shied
away from these types of requests in the past. Knowing some of the authors of the book,
I have great confidence that you will really enjoy the product they have produced to assist
you on your path to learning how to create Configuration Manager reports. For those of
you who are already familiar with the process, I’m sure that you will find some nuggets
here to help take your reports to an even more impressive level than they already are.
And, knowing the brilliant mind of the book’s technical reviewer, I know how accurate
and detailed the final result will be. Steve won’t let anything slip through that is not
100% correct.

With all that, I really do hope that you enjoy the book, and expect that you will be
creating great reports in no time at all.

All the best,

Wally Mead, (former) Senior Program Manager


Configuration Manager Product Group
Microsoft Corporation
Now Principal Program Manager, Cireson
We Want to Hear from You!
As the reader of this book, you are our most important critic and commentator. We value
your opinion and want to know what we’re doing right, what we could do better, what
areas you’d like to see us publish in, and any other words of wisdom you’re willing to pass
our way.

We welcome your comments. You can email or write to let us know what you did or
didn’t like about this book—as well as what we can do to make our books better.

Please note that we cannot help you with technical problems related to the topic of this book.
When you write, please be sure to include this book’s title and author as well as your
name and email address. We will carefully review your comments and share them with
the author and editors who worked on the book.

Email: feedback@samspublishing.com

Mail: Sams Publishing


ATTN: Reader Feedback
800 East 96th Street
Indianapolis, IN 46240 USA

Reader Services
Register your copy of System Center Configuration Manager Reporting Unleashed at informit.
com for convenient access to downloads, updates, and corrections as they become
available. To start the registration process, go to informit.com/register and log in or create
an account*. Enter the product ISBN, 9780672337789, and click Submit. Once the process
is complete, you will find any available bonus content under Registered Products.
*Be sure to check the box that you would like to hear from us in order to receive exclusive
discounts on future editions of this product.
Introduction

System Center Configuration Manager (ConfigMgr) stores a wealth of information about


users, hardware, software inventory, software updates, applications, site status, and other
Configuration Manager operations in a relational database. The trick is to know how to
retrieve that data out of the SQL Server database and present it in meaningful, useful, and
reusable reports.

Microsoft provides some out-of-the-box reports; however, these reports only scratch
the surface of what is available for use by management, end users, and Configuration
Manager administrators. This book is written based on the premise that ConfigMgr
reporting is not very difficult if you use the concepts, tools, and techniques discussed
throughout its chapters. It walks you through installing SQL Server Reporting Services
(SSRS), understanding SQL views to find data in the Configuration Manager site database,
writing SQL queries, designing and building basic reports, advanced reporting techniques,
and using role-based administration to securely deliver reports to the individuals to whom
they are intended. Here are the benefits System Center Configuration Manager Reporting
Unleashed delivers:

▶ Enables an optimal installation of SSRS and Configuration Manager reporting

▶ Provides the tools to understand how to retrieve ConfigMgr data from its SQL Server
database and to retrieve that data in the most efficient way

▶ Simplifies report design and creation

▶ Shows how to create reports that can be used with the role-based administration
security feature of ConfigMgr and SSRS.

Part I: Installing and Configuring SSRS


for Configuration Manager
System Center Configuration Manager Reporting Unleashed begins with a guide to installing
and configuring SSRS and Configuration Manager reporting. Chapter 1, “Installing SQL
Server Reporting Services,” walks you through the steps in installing and configuring SSRS,
including configuring email and enabling remote errors to assist with any troubleshooting
that might be necessary. Chapter 2, “Installing and Configuring Configuration Manager
Reporting,” continues the installation discussion by showing you how to configure the
reporting services point and use ConfigMgr security roles to control access to reports. It
also provides information on how to change the report logo used in the reports to one
specific to your own organization.
2 System Center Configuration Manager Reporting Unleashed

Part II: About Data and Retrieval


Before creating reports, you need to understand the data kept in the ConfigMgr site
database, the tools Microsoft provides to access that data, and how to effectively and
efficiently use Transact-SQL queries to retrieve that data. Chapter 3, “Understanding
Configuration Manager Data,” discusses where ConfigMgr stores its inventory data and
how to find that information. It also introduces you to SQL Server Management Studio,
the tool you use to write your queries. Chapter 4, “Transact-SQL Primer,” provides
a concise tutorial of the sections in a SQL query, the best ways to retrieve data, SQL
functions, how to use different data types, and how to join data from multiple views.

Part III: Using SSRS for Configuration Manager


Reporting
Part III of this book focuses on reporting, including report design, best practices for
developing and designing reports, basic and more advanced reporting concepts, features
of SSRS reporting, and implementing role-based administration in ConfigMgr reports.
Chapter 5, “Basic Report Design,” discusses considerations for report designs and the
types of reports you can use in a report series. Chapter 6, “Building a Basic Report,”
introduces report projects, data sources and data sets, and elements you use in creating a
report. The topic of building reports is continued in Chapter 7, “Intermediate Reporting
Concepts,” which discusses creating report templates, using report parameters to
customize the content of your reports, and the different types of charts you can include in
SSRS reports. Chapter 8, “SSRS Reporting Features,” covers even more reporting concepts,
including using drillthroughs, using custom color palettes, and adding reports into SSRS.
Chapter 9, “Role-Based Administration and Reporting,” wraps up the discussion by
showing you how to integrate ConfigMgr role-based administration into your SQL queries
to provide an additional level of security in terms of who can access your reports.

Part IV: Appendixes


By this time, you should have at your disposal all the tools necessary to become a
Configuration Manager reporting expert. The last part of the book includes three
appendixes:
▶ Appendix A, “Glossary,” includes acronyms and terms useful to know when working
with Configuration Manager and SQL Server Reporting Services.

▶ Appendix B, “Demonstration Outcomes,” contains the expected outcome from all


chapter demonstrations throughout this book.

▶ Appendix C, “Available Online,” discusses value-added content available for


download under the Downloads tab at Pearson’s InformIT website, at
www.informit.com/title/9780672337789.

This book provides in-depth reference and technical information about System Center
Configuration Manager reporting as well as information about other products and
technologies on which its features and components depend.
Introduction 3

Disclaimers and Fine Print


The authors want to offer several disclaimers. While the authors of System Center
Configuration Manager Reporting Unleashed have made every attempt to present information
that is accurate and current as known at the time, they are not infallible. In addition,
screenshots were taken with version 1511, and it is certainly possible that Microsoft could
slightly tweak the user interface in later versions.

Any updates and corrections will be provided as errata on the InformIT website.

Thank you for purchasing System Center Configuration Manager Reporting Unleashed.
The authors hope it is worth your while.
This page intentionally left blank
PART II
About Data and
Retrieval

IN THIS PART
CHAPTER 3 Understanding Configuration
Manager Data 81
CHAPTER 4 Transact-SQL Primer 99
This page intentionally left blank
3 CHAPTER IN THIS CHAPTER
▶ Using Data Classes and SQL
Understanding Views

Configuration Manager ▶ Using Tools for Creating


Reports
Data ▶ Demonstrating SQL Server
Management Studio

Before discussing how to write reports, let’s take a few


steps back and consider where Configuration Manager
(ConfigMgr) stores its inventory data and how to find that
information.

As you may know, ConfigMgr collects a large amount of


data out-of-the-box. Understanding how data is collected
and stored within the site database can help you produce
SQL Server Reporting Services (SSRS) reports that expose this
raw data. This chapter discusses the major ConfigMgr data
classes and how those classes are used, and it outlines some
sample SQL views and queries. It also introduces you to the
SQL Server Management Studio tool.

Using Data Classes and SQL Views


Many SQL database administrators (DBAs) prefer to use SQL
tables rather than views. The question arises: Is it better to use
a SQL table or a SQL view for queries in ConfigMgr reporting?
The short answer is that Microsoft only supports using SQL
views to access ConfigMgr data. Here’s a longer answer:

▶ Microsoft does not support creating queries against


SQL tables because of the risk of table locking issues.
If you are running a query directly against a SQL
table at the same time ConfigMgr is trying to update
or write to that table, there is a possibility that the
table will be locked by your query and the ConfigMgr
update will fail.

▶ It is also best to use SQL views for reporting because


Microsoft does not guarantee that SQL tables will
82 CHAPTER 3 Understanding Configuration Manager Data

remain the same after you install updates, service packs, or major version upgrades.
If a table name is changed, removed, or modified, your reports might return errors
or cease to run as intended. By referencing the ConfigMgr SQL views, all the reports,
queries, and view names used throughout this book are accurate and work in all
versions of ConfigMgr 2007, 2012, 2012 R2, and 1511 environments.

While this chapter provides examples of SQL views, it is impractical to cover all the SQL
views. To obtain additional information on views used in ConfigMgr, you can reference
Microsoft’s ConfigMgr SQL schema via the following links:

▶ ConfigMgr: At this writing, ConfigMgr 1511 had recently been released, and as
such, no official SQL schema had yet been released.

▶ ConfigMgr 2012: The ConfigMgr 2012 SQL schema can be referenced at


http://technet.microsoft.com/en-us/library/dn581954.aspx.

▶ ConfigMgr 2007: Information on the ConfigMgr 2007 SQL schema is available at


http://technet.microsoft.com/en-us/library/dd334611.aspx.

Using Discovery Classes


Discovery data generally comes from the following ConfigMgr discovery options:

▶ Active Directory System Discovery

▶ Active Directory User Discovery

▶ Heartbeat Discovery

▶ Network Discovery

You can enable and configure these discovery options for your environment in your
ConfigMgr site. ConfigMgr discovery then begins gathering data based on your
configurations—for example, gathering all systems from a specific Active Directory
organization unit (OU) or domain. As a general rule, the SQL view for each of the
discovery options starts with either v_R_* or v_RA_*. Table 3.1 lists the commonly used
SQL views related to discovery classes.

TABLE 3.1 Discovery Data Views


SQL View Description
v_R_System Lists all systems discovered by ConfigMgr.
v_R_User Lists all users discovered by ConfigMgr.
v_R_System_Valid Lists all active clients within ConfigMgr. This is a subset of
v_R_System.
Using Data Classes and SQL Views 83

TIP: CHANGING THE HEARTBEAT DISCOVERY CYCLE TO DAILY


To increase the reliability of the data captured by ConfigMgr, you can change the heartbeat
discovery cycle from 7 days (default) to daily. This change generally has no adverse effect.

The query shown in Listing 3.1 lists all computers and their last discovery times for
heartbeat discovery. Figure 3.1 shows the results of Listing 3.1.

NOTE: SQL SOURCE FILES FOR THE LISTINGS IN THIS CHAPTER


The SQL queries included in this chapter are available as online content. See Appendix C,

3
“Available Online,” for additional information.

LISTING 3.1 Discovery Data Sample Query


SELECT
RV.Netbios_Name0 as 'Pc Name',
RV.User_Name0 as 'User Name',
AGD.Agenttime as 'Discovery Time'
FROM
dbo.v_R_System_Valid RV
INNER JOIN dbo.v_AgentDiscoveries AGD ON RV.ResourceID = AGD.ResourceId
WHERE
AGD.AgentName = 'Heartbeat Discovery'
ORDER BY
RV.Netbios_Name0

FIGURE 3.1 Discovery data sample results.


84 CHAPTER 3 Understanding Configuration Manager Data

Using Hardware Inventory Classes


As the title of this section implies, data within the hardware inventory classes is obtained
from hardware inventory. However, hardware inventory covers additional data, including
all the data collected from Windows Management Instrumentation (WMI), the Windows
Registry, and the actual hardware details for each ConfigMgr client. These inventory
classes will be the main source of data for most of your reports. While it may seem
counterintuitive, almost every query uses data from hardware classes.

These inventory classes also maintain history data that you can use in your reports. None
of the other inventory classes maintain history data. As a general rule, there are two SQL
view name identifiers for these items:

▶ The SQL view names that start with v_GS_* identify the latest and current hardware
inventory data.

▶ The v_HS_* views identify history data for the hardware inventory.

Table 3.2 and Table 3.3 list hardware inventory data views.

TABLE 3.2 Current Hardware Inventory Data Views


SQL View Description
v_GS_COMPUTER_SYSTEM Lists basic details about a computer, such as
manufacturer, model, and user name.
v_GS_DISK Provides details about hard drives attached to a
computer.
v_GS_ADD_REMOVE_PROGRAMS Provides details about 32-bit Add/Remove Programs
data for computers.
v_GS_ADD_REMOVE_PROGRAMS_64 Provides details about 64-bit Add/Remove Programs
data for computers.

TABLE 3.3 History Hardware Inventory Data Views


SQL View Description
v_HS_COMPUTER_SYSTEM Provides history data for the basic details of a
computer.
v_HS_DISK Provides history data for the hard drives attached to
a computer.
v_HS_ADD_REMOVE_PROGRAMS Provides history data for the 32-bit Add/Remove
Programs data for computers.
v_HS_ADD_REMOVE_PROGRAMS_64 Provides history data for the 64-bit Add/Remove
Programs data for computers.

There is one very important exception to the SQL views listed in Table 3.2 and Table 3.3
that doesn’t start with v_GS_ or v_HS_—this is the v_Add_Remove_Programs view. This
view provides exactly the same column information as v_GS_ADD_REMOVE_PROGRAMS
and v_GS_ADD_REMOVE_PROGRAMS_64, with the data of both views combined. This view is
extremely helpful for viewing both 32-bit and 64-bit Add/Remove Programs entries.
Using Data Classes and SQL Views 85

TIP: CHANGING HARDWARE INVENTORY CYCLE


To increase the reliability of the data captured by ConfigMgr, the authors recommend
changing the hardware inventory cycle from 7 days (default) to daily. This change generally
has no adverse effect on ConfigMgr server or client performance.
Although there are no hard-and-fast rules about setting the hardware inventory schedules,
most ConfigMgr MVPs and senior consultants make the same recommendation for setting
hardware inventory to daily. The authors estimate that there is 10% increase in database size
and a minimal increase in CPU usage and disk input/output (I/O) when this change is made.
However, the value to an organization of having the most up-to-date inventory in most
cases outweighs these minimal increases to database size, CPU usage, and disk I/O. As

3
with any other changes to ConfigMgr, the authors recommend that you evaluate the value
and impact to your company before making this change.

The query in Listing 3.2 lists all computers that have the software product Warranty
Information Reporting v3 installed. To find a different software title, replace Warranty
Information Reporting v3 with the software title for which you are looking. Figure 3.2
shows the results of Listing 3.2.

LISTING 3.2 Hardware Inventory Sample Query


SELECT
RV.Netbios_Name0 as 'Pc Name',
RV.User_Name0 as 'User Name',
ARP.DisplayName0 as 'Application Name',
ARP.Version0 as 'Version',
ARP.InstallDate0 as 'Install Date'
FROM
dbo.v_R_System_Valid RV
INNER JOIN dbo.v_Add_Remove_Programs ARP ON RV.ResourceID = ARP.ResourceID
WHERE
ARP.DisplayName0 = 'Warranty Information Reporting v3'
ORDER BY
RV.Netbios_Name0

FIGURE 3.2 Hardware inventory sample results.

Listing 3.3 shows a query that lists all computers where the hard drive size has changed
from a previous inventory cycle. This query is a good example of how you can use the
history SQL views and current hardware inventory views together in a single query. Figure 3.3
shows the results of Listing 3.3.
86 CHAPTER 3 Understanding Configuration Manager Data

LISTING 3.3 Hardware Inventory History Sample Query


SELECT DISTINCT
RV.Netbios_Name0 as 'Pc Name',
RV.User_Domain0 as 'User Name',
GD.DeviceID0 as 'Device ID',
GD.Size0 as 'Current HD Size',
HD.Size0 as 'Historic HD Size'
FROM
dbo.v_R_System_Valid RV
INNER JOIN v_GS_DISK GD ON RV.ResourceID = GD.ResourceID
INNER JOIN v_HS_DISK HD ON RV.ResourceID = HD.ResourceID
WHERE
GD.Size0 <> HD.Size0 and GD.DeviceID0 = HD.DeviceID0

FIGURE 3.3 Hardware inventory history sample results.

Using Software Inventory Classes


Data from software inventory classes comes from the software inventory action run by
the ConfigMgr client on computers, which runs every seven days by default. This inven-
tory gathers details from individual files. In the ConfigMgr software inventory settings,
you define which file types will be inventoried (for example, *.exe from all hard drives).
ConfigMgr stores details from the files inventoried, such as file name, version, size, path
to the file, modified date, and so on. Table 3.4 lists the software inventory data views.

NOTE: IMPACT OF USING THE SOFTWARE INVENTORY DATA VIEWS


Try to avoid using the software inventory classes. You might think that based on their
name, these would be the most popular set of SQL views, but this is not the case. There
are many reasons, in the authors’ opinion, why these views are not popular, but the
most important is that the process of gathering the data to populate these SQL views
is extremely slow, and clients will notice their hard drive being accessed for extended
periods of time during the data-gathering process. Unlike the hardware inventory classes
or the heartbeat discovery class, which take less than four minutes to run without clients
even noticing that the inventory process is running on their computer, the software
inventory classes can run for hours and hours.

TABLE 3.4 Current Software Inventory Data Views


SQL View Description
v_GS_LastSoftwareScan Provides status details about the last software scan cycle.
v_GS_SoftwareFile Provides details about all inventory files.
Using Data Classes and SQL Views 87

The query in Listing 3.4 provides a count of Internet Explorer versions. Figure 3.4 shows
the results of Listing 3.4.

LISTING 3.4 Software Inventory Sample Query


SELECT
SF.FileName,
replace(left(SF.FileVersion,2), '.','') as 'IE Version',
Count (Distinct SF.ResourceID) as 'Total Installs'
FROM
dbo.v_GS_SoftwareFile SF

3
INNER JOIN dbo.v_FullCollectionMembership fcm ON SF.ResourceID=FCM.ResourceID
WHERE
SF.FileName = 'iexplore.exe'
and SF.FilePath like '%Internet Explorer%'
GROUP BY
SF.FileName,
replace(left(SF.FileVersion,2), '.','')
ORDER BY
'IE Version'

FIGURE 3.4 Software inventory sample results.

TIP: CHANGING THE SOFTWARE INVENTORY CYCLE


The authors recommend turning off the software inventory cycle due to its overhead.
However, if you keep it on, change it from 7 days (default) to run every 14 to 21 days in
order to improve performance.

Using Software Update Inventory Classes


Software update reports are among the hardest reports to write. Writing a single software
update SSRS report could take from four hours to multiple weeks. The complexity of using
these views is due to the way the data is stored in ConfigMgr. The data spans multiple
views that are required to be joined before the information is useful to the report reader.
The primary views for software updates are listed in Table 3.5.
88 CHAPTER 3 Understanding Configuration Manager Data

TABLE 3.5 Software Update Data Views


SQL View Description
v_UpdateComplianceStatus Provides compliance status details for each PC’s
software update.
v_CategoryInfo Provides details about software update categories.

Listing 3.5 shows a query that provides a count of all missing software updates for each
computer in the All Systems collection in ConfigMgr. Figure 3.5 shows the results of this
query.

LISTING 3.5 Software Update Sample Query


SELECT DISTINCT
CS.Name0,
CS.UserName0,
CASE
when (sum(case when UCS.status=2 then 1 else 0 end))>0
then ('Needs '+(cast(sum(case when UCS.status=2 then 1 else 0 end)
as varchar(10))+ ' Patches'))
else 'Good Client'
end as 'Status',
WS.lasthwscan as 'Last HW scan'
FROM
dbo.v_UpdateComplianceStatus as UCS
LEFT OUTER JOIN dbo.v_GS_COMPUTER_SYSTEM as CS
on CS.ResourceID = UCS.ResourceID
INNER JOIN v_CICategories_All as catall2
on catall2.CI_ID = UCS.CI_ID
INNER JOIN v_CategoryInfo as catinfo2
on catall2.CategoryInstance_UniqueID = catinfo2.CategoryInstance_UniqueID
and catinfo2.CategoryTypeName = 'UpdateClassification'
LEFT OUTER JOIN v_GS_WORKSTATION_STATUS as WS
on ws.resourceid = CS.ResourceID
LEFT OUTER JOIN dbo.v_FullCollectionMembership as FCM
on FCM.ResourceID = CS.ResourceID
WHERE
UCS.Status = '2'
and FCM.CollectionID = 'SMS00001'
GROUP BY
CS.Name0,
CS.UserName0,
WS.lasthwscan,
FCM.CollectionID
ORDER BY
CS.Name0,
CS.UserName0
Using Data Classes and SQL Views 89

3
FIGURE 3.5 Software update sample results.

Using Software Metering Inventory Classes


Data collected during the software metering inventory cycle is based on the software
metering rules you create in ConfigMgr. As such, until at least one rule is created, no data
appears within these SQL views. Table 3.6 lists the software metering data views.

TABLE 3.6 Software Metering Data Views


SQL View Description
v_MeterData Lists all gathered software metering data.
v_MeteredProductRule Lists all software metering rules.

The query shown in Listing 3.6 displays the start and stop times for all software metering
data beginning with a specific date, in this case February 16, 2013. Figure 3.6 displays an
example of the results from executing this query.

LISTING 3.6 Software Metering Sample Query


SELECT
RV.Netbios_Name0,
MRIB.ProductName,
MD.StartTime,
MD.EndTime
FROM
dbo.v_R_System_Valid RV
INNER JOIN dbo.v_MeterData MD ON RV.ResourceID = MD.ResourceID
INNER JOIN dbo.v_MeterRuleInstallBase MRIB ON MD.FileID = MRIB.MeteredFileID
WHERE
MD.starttime > '2013-02-16'
90 CHAPTER 3 Understanding Configuration Manager Data

FIGURE 3.6 Software metering sample results.

TIP: CREATING SOFTWARE METERING RULES


The authors recommend creating software metering rules for any software that has a
significant cost and is not installed in the base image of your computers. It is best to
create these rules as early as possible, as it takes approximately 75 days to get useful
data from software metering reports.
It is not necessary or ideal to create software metering rules for products installed on
every computer in your environment, such as Microsoft Word, due to the amount of
overhead and data collected by the software metering Inventory.

Using Status Message Classes


Although status messages are not gathered from inventory classes, they contain the
details and results of ConfigMgr client actions. For example, when a deployment is sent
to a ConfigMgr client, it sends a status message back the ConfigMgr server, saying that it
has received the deployment notice. When the ConfigMgr client starts to download an
application, the client sends a status message indicating that the download has started.
Table 3.7 lists the status message data views.

TABLE 3.7 Status Message Data Views


SQL View Description
v_StatusMessage Provides status messages. This view is generally used
in conjunction with v_StatMsgAttributes and
v_StatMsgInsStrings to get the complete status
message information.
v_StatMsgAttributes Lists the attributes for a status message.
v_StatMsgInsStrings Lists status messages.

The query shown in Listing 3.7 returns the last ConfigMgr backup for each site server.
Notice that the stat.MessageID is 5035. Figure 3.7 shows the results of this query.
Using Data Classes and SQL Views 91

LISTING 3.7 Status Message Sample Query


SELECT
stat.MachineName as 'Server',
max(Time) as Time
FROM
dbo.v_StatusMessage as stat
WHERE
stat.Component = 'SMS_SITE_BACKUP'
AND stat.MessageID = 5035
GROUP BY

3
stat.MachineName

FIGURE 3.7 Status message sample results.

Using State Messages


Specific components of ConfigMgr clients use state messages to report details of a specific
event, such as software updates, client health, and configuration items. State messages are
broken into topic types, which identify the client component, and the StateID, which
identifies a specific status for the component. Each topic type contains multiple state
IDs. The v_StateName SQL view maps topic types and their respective state IDs to a
descriptive state name. Popular views that use state messages are identified in Table 3.8.

TABLE 3.8 State Message Views


SQL View Description
v_StateName Maps topic types and their state IDs to descriptive
names.
v_ClientHealthState Provides the last client health state reported by
ConfigMgr clients.
V_CIAssignmentStatus Provides the evaluation state messages for assigned
configuration items (CIs).
V_UpdateComplianceStatus Provides the compliance state for software updates
scanned by ConfigMgr clients.

The query shown in Listing 3.8 returns the last enforcement message for software updates
scanned by the system named GJ5. Sample results from this query are shown in Figure 3.8.
92 CHAPTER 3 Understanding Configuration Manager Data

LISTING 3.8 Software Update State Message Sample Query


SELECT
sys.Name0,
UI.ArticleID,
UI.BulletinID,
UI.Title,
sn.StateName as Status
FROM
v_UpdateComplianceStatus UCS
JOIN v_UpdateInfo UI ON UCS.CI_ID = UI.CI_ID
JOIN v_R_System sys ON UCS.ResourceID=sys.ResourceID
JOIN v_StateNames sn ON UCS.LastEnforcementMessageID=sn.StateID
WHERE
sys.Netbios_Name0 LIKE 'GJ5'
AND sn.TopicType = '402'
ORDER BY
ui.ArticleID,
sn.StateName

FIGURE 3.8 Software update state message sample results.

TIP: STATE MESSAGES


Refer to https://technet.microsoft.com/en-us/library/bb932203.aspx for a list of topic
types and their state messages reported by ConfigMgr clients. Note that although the link
is for ConfigMgr 2007, the information also applies to later versions of ConfigMgr.

Using Collection Data Classes


There are several SQL views for collection classes—one for each collection within your
environment. From an administrator’s perspective, however, there are only two SQL views
you need to use, as shown in Table 3.9.
Using Tools for Creating Reports 93

TABLE 3.9 Collection Data Views


SQL View Description
v_Collection Lists all collections and the CollectionID of each.
v_FullCollectionMembership Lists the membership of each collection (user
account, computer, and security group).

Running the query in Listing 3.9 provides a list of all computer names within the All
Systems collection. Sample results are shown in Figure 3.9.

LISTING 3.9 Collection Data Sample Query

3
SELECT
RV.Netbios_Name0,
RV.User_Name0
FROM
dbo.v_R_System_Valid RV
INNER JOIN dbo.v_FullCollectionMembership FCM ON RV.ResourceID = FCM.ResourceID
INNER JOIN dbo.v_Collection Coll ON FCM.CollectionID = Coll.CollectionID
WHERE
Coll.Name = 'All Systems'

FIGURE 3.9 Collection data sample results.

Using Tools for Creating Reports


This section of the chapter explores the SQL Server Management Studio tool. This is
the first of three major tools you can use to create reports for ConfigMgr. Chapter 1,
“Installing SQL Server Reporting Services,” detailed the steps for installing SQL Server
Management Studio 2014.

Chapter 6, “Building a Basic Report,” explains the two remaining tools:

▶ SQL Server Data Tools Business Intelligence (SSDT-BI) for Visual Studio 2013

▶ Report Builder
94 CHAPTER 3 Understanding Configuration Manager Data

These tools are used to design SSRS reports for ConfigMgr as well as other System Center
products, such as Operation Manager and Service Manager.

Introducing SQL Server Management Studio


Using the SQL Server Management Studio tool is the recommended way to create the
queries required to build and design ConfigMgr reports. SQL Server Management Studio
allows you to access, configure, manage, administer, and develop SQL Server components.
It combines the features of Enterprise Manager, Query Analyzer, and Analysis Manager
with script editors to provide access to SQL Server to administrators and developers of
all skill levels. SQL Server Management Studio allows you to easily find SQL views and
their columns in the ConfigMgr database. Using this tool, you can also write and execute
queries as well as confirm results before creating a custom ConfigMgr report. Chapter 4,
“Transact-SQL Primer,” can help you become familiar with this core tool as well as how to
write proper SQL queries.

Connecting to the ConfigMgr Database Server


Once the SQL Server Management Studio tool is installed on your workstation, launch it
and follow these steps:

1. Connect to the database server used for ConfigMgr by entering the server name and
clicking Connect (see Figure 3.10).

FIGURE 3.10 SQL Server Management Studio Connect to Server dialog.

TIP: PROBLEMS CONNECTING TO DATABASE


If you do not have the permissions required to connect to the database server, either
run the SQL Server Management Studio tool using the RUN AS command and specify an
account with the proper access or grant your user account the proper permissions on the
SQL Server database.

2. Once connected, you see the main interface of SQL Server Management Studio, as
shown in Figure 3.11.
Using Tools for Creating Reports 95

3
FIGURE 3.11 SQL Server Management Studio Object Explorer.

Executing a Query in SQL Server Management Studio


To create and execute a query, open a new query by clicking New Query in the SQL Server
Management Studio menu bar. After the query page opens, it is important to make sure
you change the database source to the ConfigMgr database. To do this, select the database
from the dropdown menu, as shown in Figure 3.12.

FIGURE 3.12 SQL Server Management Studio database dropdown menu.

Enter your query in the New Query page and click Execute. When you execute your
query, the Results section appears at the bottom of your query page. Figure 3.13 shows an
example of this section.

Using the Object Explorer


The Object Explorer, displayed on the left side of SQL Server Management Studio, provides
the ability to drill down into the ConfigMgr database and get a list of all ConfigMgr views
as well as the available columns that can be used within your queries. Notice that the
expanded dbo.v_R_System_Valid view in Figure 3.14 contains many columns.
96 CHAPTER 3 Understanding Configuration Manager Data

FIGURE 3.13 SQL Server Management Studio executed query with results.

TIP: INVALID OBJECT NAME ERROR MESSAGE


When executing a query, if you receive an “Invalid object name” error message (see
Figure 3.15), it usually means that you forgot to change the target database to the
ConfigMgr database (as shown in Figure 3.12).

TIP: CHANGING THE DEFAULT DATABASE IN SQL SERVER MANAGEMENT STUDIO


To permanently set the default SQL Server Management Studio database to be the
ConfigMgr database, follow the instructions in the blog post at http://www.enhansoft.com/
blog/invalid-object-name-in-sql-server-management-studio-ssms.
Demonstrating SQL Server Management Studio 97

3
FIGURE 3.14 SQL Server Management Studio Object Explorer, showing columns.

FIGURE 3.15 SQL Server Management Studio “invalid object name” error message.

Demonstrating SQL Server Management Studio


The purpose of this section is to help you become familiar with the SQL Server
Management Studio tool discussed in this chapter. You will create and execute a query
and look at views.
98 CHAPTER 3 Understanding Configuration Manager Data

Creating and Executing a Query


Follow these steps to create and execute a query:

1. Open SQL Server Management Studio and connect to your ConfigMgr database
server. See the “Connecting to the ConfigMgr Database Server” section of this
chapter for detailed information on how to perform this step.

2. Using the dropdown list of available databases, change the database to your
ConfigMgr site database.

3. Open a new query by clicking New Query in the SQL Server Management Studio
menu bar.

4. Open the PatchReport.txt file provided in the online content for this book (see
Appendix C for information) and then copy and paste the contents to the new
query page.

5. Click Execute to execute the query.

6. Review the results.

Looking at Views
Follow these steps to look at a view:

1. Using the Object Explorer, expand the Databases folder and the ConfigMgr
database.

2. Drill down into Views and note the available columns for the following table views:

▶ dbo.v_R_System

▶ dbo.v_GS_Computer_System

▶ dbo.v_Add_Remove_Programs

Summary
ConfigMgr gathers and stores a large amount of data across many different tables in its
database. This chapter has reviewed the most common and important data classes, as well
as their corresponding SQL data views, which are also stored in the database. It has also
discussed how to launch and connect to the ConfigMgr database as well as execute some
sample queries, using the SQL Server Management Studio tool.

Many sample queries have been provided in this chapter. Some of these queries are fairly
simple and others a bit more complex. Don’t worry about trying to understand how to
write them just yet! Detailed explanations and examples about how to write SQL queries
will be given in later chapters.
Index

Symbols
+ (addition) operator, 105
/ (division) operator, 105
= (equals) operator, 105
> (greater than) operator, 105
< (less than) operator, 105
* (multiplication) operator, 105
“” (quotation marks), SQL operators, 106
– (subtraction) operator, 105
% (wildcard) operator, 105
3D effects (charts), 226

A
accessing
collections, 293
protected folders, 296
report items, 175-177
reports, 71-72
Access Required to ConfigMgr Collection
field (report request form Security
section), 152
accounts
AD security user, creating, 44
network service, configuring, 16
RP user, selecting, 46, 48
Windows user account credentials
(RPs), 49
362 actions

actions date values, storing, 110


adding to charts, 233-236 demonstration example, 128-129,
appearance, 254, 256 332-333

chart values as parameters, format, 109


passing, 239 online content, 354
hyperlinks, adding, 254 query example, 110
table cell values, adding, 245-246 defined, 107
AD (Active Directory), 319 listing of, 107
security groups MAX, 108
adding permissions, 66-70 online content, 353, 354
applying security roles, 62-65 query example, 107-108
deleting permissions, 70 SUM, 108
Inventory Report Reader security role, AI (Configuration Manager Asset
applying, 76, 325-326 Intelligence), 319
Report Reader security role, applying, aliases
75-76, 323-324 SQL queries
Software Updates Report Reader creating, 127, 330
security role, applying, 76,
324-325 online content, 354
viewing permissions, 65 SQL views, 104-105
security user accounts, creating, 44 alternating row colors, 183-185
addition (+) operator, 105 Alternating Row Colors field (report
request form Table Details
Add New Item dialog, 168 section), 151
Add Reference dialog, 297 AND operator, 105
Add Site System Roles Wizard, 45-46 applications, 319
aggregate functions APP-V (Microsoft Application
AVG, 108 Virtualization), 319
COUNT, 108 arithmetic operators, listing of, 105
Adobe Reader XI installed, automatic logon (SSRS website), 288
counting example, 128, Chrome, 311
331-332
Firefox, 311
online content, 354
Internet Explorer, 310
sample query, 331-332
Opera, 312
date and time, 109
Yandex, 311
common, 110
Available Mock-up of the Report field
complete listing of website, 109 (report request form Report Information
date parts, 109 section), 149
datetime format, 111 AVG function, 108
charts 363

B Chart Area Properties dialog, 226


Chart field (report request form Report
background color Information section), 148

rows (reports), 181-183 Chart Name field (report request form Charts
section), 150
tables, 266-267
charts, 177, 220
backing up custom reports, 160
actions
bar charts, 220
adding, 233-236
BIDS (SQL Server Business Intelligence
Development Studio), 319 chart values as parameters,
passing, 239
BITS (Background Intelligent Transfer
Service), 319 adding to SSDT-BI reports, 221-226,
238, 341
blank reports, troubleshooting, 313-315
charts, selecting, 222
building. See creating
data, adding, 224
dataset, customizing, 222-224
previewing report data, 226
C RBA reports, 316
sizing, 225
CAS (central administration site), 319
bar, 220
Cascade Prompt field (report request form
column, 220
Parameters section), 149
Computer Hardware Information report,
cascade prompts, 210
adding, 239, 343
CASE function, 111-112
customizing, 225-233
displaying all computer names and
3D effects, 226
system enclosure chassis types query
demonstration, 129-130, 333-335 color, 266
online content, 353, 354 deleting titles, 226, 227
resources, 112 displaying labels outside charts,
229-231
sample query, 111-112
labels, 228
syntax, 111
legends, moving, 226, 228
CAST function, 112-113
previewing customizations, 229, 230
all system names and last hardware scan
date, converting last hardware scan date spacing between labels, 230, 232
format, 130, 334-335 doughnut, 221
online content, 353 labels
resources, 113 customizing, 228
sample query, 113 displaying outside charts, 229-231
syntax, 113 spacing between, 230, 232
central administration site (CAS), 319 line, 220
364 charts

online content, 356 start/stop times query, 89-90


Patch Compliance Progression report, software update
adding, 238-239, 341 missing software updates query, 88-89
pie, 221 overview, 87
sizing, 225 permissions, 57
Charts section (report request forms), 150 point (SUP), 320
Chart Title field (report request form Charts RBA functions with SQL views, 290
section), 150
SQL views, listing of, 88
Chrome SSRS website automatic logon, 311
state messages
CI (configuration item), 319
last enforcement message for software
classes updates query, 91-92
collection. See collections online content, 352
hardware inventory overview, 91
current data views, 84, 289 topic types, listing of, website, 92
cycles, changing, 85 views, 91
hard drive size changes from previous status message
inventory cycle query, 85-86
last site server backup query, 90-91
history data views, 84, 290
online content, 352
online content, 352
overview, 90
overview, 84
RBA functions with SQL views, 290
software title query example, 85
views, 90
SQL view name identifiers, 84
CM (System Center Configuration
heartbeat discovery Manager), 319
cycles, changing, 83 CM12 (System Center 2012 Configuration
query example, 83 Manager), 319
software inventory CM12R (System Center 2012 R2 Configuration
cycle, changing, 55 Manager), 319

Internet Explorer versions query, 87 collections

online content, 352 accessing with RBA security role, 293

overview, 86 computer names within collection query, 93

RBA functions with SQL views, 290 online content, 352

SQL views, listing of, 86 RBA functions with SQL views, 290

software metering RBA query performance

overview, 89 moving RBA into collection prompt,


308-309
RBA functions with SQL views, 290
non-RBA collection prompt, 308
rules, creating, 90
RBA collection prompt, 308
SQL views, listing of, 89
views, 93
configuring 365

color drillthrough series example, 283-284,


custom palettes based on values, 263-267, 344-345
284, 345-346 page sizes, customizing, 237, 341-342
previewing, 266 ConfigMgr (System Center Configuration
table background color, 266-267 Manager), 319

custom palettes cycling through color codes, accessing reports, 71-72


259-263, 284, 345-346 Asset Intelligence (AI), 319
expression based on status values, 266 Reporting Services Point. See RPs
multiple same colored wedges, security group permissions
troubleshooting, 263 adding, 66-70
out-of-the-box palettes, 259-260 deleting, 70
rows (reports) viewing, 65
alternating, 183-185 security roles
background, 181-183 applying to security groups, 62-65
Column Action field (report request forms Table deleting, 58-59
Layout subsection), 151
exporting, 58-61
column charts, 220
importing, 60-62
Column Data field (report request forms Table
Layout subsection), 151 Security Roles node, opening, 52-53
Column # field (report request forms Table SQL schema websites, 82
Layout subsection), 151 ConfigMgr RBA SQL queries
columns converting SQL queries to, 289-291
average number, returning, 108 creating, 289-291
largest number, returning, 108 collection data, 290
naming in query results, 106 current hardware data, 289
ResourceID, 116 discovery data views, 289
total number of items, 108 history hardware data, 290
total value, 108 software data, 290
Column Title field (report request forms Table status message data, 290
Layout subsection), 151
testing, 292-294
combining SQL views. See joins
configuration item (CI), 319
Computer Hardware Information Chart report, 356
Configure Subscription field (report request
Computer Hardware Information Prompt form Security section), 152
report, 356
configuring
Computer Hardware Information report
SSMS default database, 96
3D exploded pie chart, adding, 239, 343
SSRS
charts, adding, 316
connection, testing, 16, 21
creating, 196-197, 338-340
credentials, 22
dataset, customizing, 238, 341-342
database, 16, 19-20
366 configuring

email, 24-26 creating


network service accounts, 16-24 projects, 165-168, 195
report manager URL, 20-24 RBA datasets, 298-300
Report Server Status page, 16-17 RBA prompts, 302
web service URL, 17-18 RBA queries, 289-291
connections collection data, 290
database servers with SSMS converting SQL queries to, 289-291
creating, 94 current hardware data, 289
troubleshooting, 94-95 discovery data, 289
SSRS, testing, 16, 21 history hardware data, 290
consistency (reports) software data, 290
look and feel, 140-142 status message data, 290
printed versus screen layout, 142-144 RBA templates, 303
CONVERT function, 112-113 reports
all system names and last hardware scan adding tables, 177-179
date, converting last hardware scan date Computer Hardware Information report,
format, 130, 334-335 196-197, 338-340
online content, 353, 354 datasets, adding, 171-174
resources, 113 data sources, adding, 170-171
sample query, 113 formatting tables, 178-180
syntax, 113 Patch Compliance Progression report,
converting 196, 338-339
data types, 112-113 previewing, 180-181
SQL queries to RBA queries, 289-291 report items, 175-177
Computer Hardware Information query, requirements, questioning, 156-157
316, 348-349 sizes, 173-174
Patch Compliance Progression query, 315 with SSDT-BI, 168-170, 355
SSDT-BI reports to RBA reports SSDT-BI versus Report Builder, 163-164
adding SrsResources.dll file, 295-296 from templates, 204-206
Patch Compliance Progression requested reports, 146-147
report, 315
basic information, 147-149
referencing SrsResources.dll file,
296-298 charts information, 150
copying existing security roles, 52-54 completed report based on request form
example, 153-155
COUNT function, 108
customizations information, 153
Adobe Reader XI installed, counting
example, 128, 331-332 export information, 151-152
online content, 354 parameters information, 149
sample query, 331-332 requirements, questioning, 156-157
custom reports 367

security information, 152-153 custom color palettes


table details information, 150-151 based on values, 263-267, 284, 345-346
table layout information, 151 cycles through color codes, 259-263, 284,
verification, 157-158 345-346

RPs, 45-50 Custom Fill Colors field (report request form


Charts section), 150
completion, 49-50
Customization Required from the Default
prerequisites, 44 Template Report field (report request form
proxy settings, 46, 47 Report Customizations section), 153
role, selecting, 46, 47 customizing
site server database/database name charts, 225-233
verification, 46, 48 3D effects, 226
site system roles, 45 deleting titles, 226, 227
user accounts, selecting, 46, 48 displaying labels outside charts,
validating installation, 51 229-231
Windows user account credentials, 49 labels, 228
security roles, 52-56 legends, moving, 226, 228
existing roles, copying, 52-54 previewing customizations, 229, 230
online content, 351-352 spacing between labels, 230, 232
permissions, 52, 54-56 color palette that cycles through provided
colors, 259-263
read-only auditor role, copying, 52
hardware inventory cycles, 85
Security Roles node, opening, 52-53
heartbeat discovery cycles, 83
software metering, rules, 90
logos, 72-75
SQL queries with aliases, 127, 330
default images, restoring, 75
subscriptions in SSRS, 277-278
hyperlinks for company website on,
templates, 200-204 creating, 246-248
body size width, 203 image size, 72-73
demonstration example, 236, 340-341 software inventory cycles, 55
expanding width, monitoring, 202 SQL queries, 126, 329
headers/footers, 203 custom reports
InteractiveSize property values, 201 backing up, 160
margin sizes, 201, 202 process, handling, 146
report height size, 203 request forms, 146-147
credentials (SSRS), configuring, 22 Charts section, 150
CSV (comma-separated values) file format, 145 completed report based on request form
current hardware inventory data views example, 153-155
RBA functions, 289 Export section, 151-152
SQL views, listing of, 84 Parameters section, 149
368 custom reports

publishing, 155 software inventory


Report Customizations section, 153 cycle, changing, 55
Report Information section, 147-149 Internet Explorer versions query, 87
requirements, questioning, 156-157 online content, 352
Security section, 152-153 overview, 86
Table Details section, 150-151 RBA functions with SQL views, 290
Table Layout subsection, 151 SQL views, listing of, 86
reviewing, 159 software metering (SWM)
subscriptions, 158 overview, 89
verification, 157-158 RBA functions with SQL views, 290
cycles, customizing rules, creating, 90
hardware inventory, 85 SQL views, listing of, 89
heartbeat discovery, 83 start/stop times query, 89-90
software inventory, 55 software update
missing software updates query, 88-89
overview, 87
permissions, 57
D point (SUP), 320
data RBA functions with SQL views, 290
adding to charts, 224 SQL views, listing of, 88
collections. See collections state messages
discovery last enforcement message for software
updates query, 91-92
discovery options, 82
online content, 352
heartbeat discovery, 83
overview, 91
online content, 352
topic types, listing of, website, 92
SQL views with RBA functions, 289
views, 91
views, 82
status message
hardware inventory
last site server backup query, 90-91
current data views, 84, 289
online content, 352
cycles, changing, 85
overview, 90
hard drive size changes from previous
inventory cycle query, 85-86 RBA functions with SQL views, 290
history data views, 84, 290 views, 90
online content, 352 stored in databases, 111
overview, 84 converting data types, 112-113
software title query example, 85 returned data NULL values, checking
for, 114
SQL view name identifiers, 84
translating data based on results, 111-112
dialogs 369

data bars (reports), 177 deleting


databases chart titles, 226, 227
server connections with SSMS, 94-95 permissions from security groups, 70
SQL Server Management Studio default, reports, 159
configuring, 96 security roles, 58-59
SSRS, configuring, 16, 19-20 Description field (report request form Report
stored data, transforming, 111 Information section), 148
converting data types, 112-113 designing reports, 140
returned data NULL values, consistent look and feel, 140-142
checking, 114 printed versus screen layout consistency,
translating data based on results, 142-144
111-112 templates, 142-143
Dataset Properties dialog, 171, 298 body size width, 203
datasets creating, 200-204, 236, 340-341
RBA, creating, 298-300 creating new reports from, 204-206
reports, adding, 171-174 expanding width, monitoring, 202
Data Source Properties dialog, 170 headers/footers, 203
data sources InteractiveSize property values, 201
adding to reports, 170-171 margin sizes, 201-202
uploaded reports on SSRS website, online content, 356
updating, 270-273
RBA, creating, 303
date and time functions, 109
report height size, 203
common, 110
desired configuration management (DCM), 320
complete listing of website, 109
Detail Each Customization Required field
date parts, 109 (report request form Report Customizations
datetime format, 111 section), 153
date values, storing, 110 Detailed Computer Information report, creating,
demonstration example, 128-129, 332-333 242-244

format, 109 detailed PC reports, 139

online content, 354 dialogs

query example, 110 Add New Item, 168

DATEDIFF function, 110 Add Reference, 297

DATEPART function, 110 Chart Area Properties, 226

datetime format, 111 Dataset Properties, 171, 298

day date part, 109 Data Source Properties, 170

DCM (desired configuration management), 320 Expression, 234

Default Value field (report request form Legend Properties, 226


Parameters section), 149 Report Parameter Properties, 215
370 dialogs

Report Properties, 296 enabling


Select Chart Type, 222 3D effects (charts), 226
Series Properties, 234 remote errors (SSRS), 26-29
Subreport Properties, 249 SSDT-BI ruler, 174
Text Box Properties, 184 Enhansoft Logo Changer. See Logo Changer
discovery data utility

discovery options, 82 equals (=) operator, 105

heartbeat discovery errors

cycles, changing, 83 invalid object name error message (SQL


Server Management Studio), 96-97
query example, 83
Microsoft Update errors, 32
online content, 352
permission uploading reports to SSRS
SQL views with RBA functions, 289 website, 268
views, 82 RBA
DISTINCT keyword, 103-104 SrsResources not declared, 312-313
division (/) operator, 105 System.Security.Permissions
doughnut charts, 221 .SecurityPermission permission
request, 312
downloading SSDT-BI, 38
SSRS
DP (distribution point), 320
complete listing example, 29
Drillthrough field (report request form Table
Details section), 151 example, 27
Drillthrough on Chart Items field remote errors, enabling, 26-29
(report request form Charts section), 150 subscriptions, 277
drillthroughs, 242 Excel
actions on table cell values, adding, editing reports, 145
245-246
exporting reports to, 145
Computer Hardware Information series
example, 283-284, 344-345 existing security roles, copying, 52-54

Patch Compliance Progression series Exportable field (report request form Export
example, 282-283, 343-344 section), 152

report for drilling through, creating, 242-244 exporting

subreports, adding, 257 reports, 144

dropdown prompts (reports), adding, 213-217 to CSV, 145


to Excel, 145
to MHTML, 145
to PDF, 144-145
E request form information, 151-152
from SSDT-BI, 206-207
editing. See customizing
from SSRS, 271
email subscriptions, configuring, 24-26,
279-281 to TIFF, 145
functions 371

to Word, 146 FULL JOIN statement, 123-125


to XML, 145 defined, 123
security roles, 58-61 online content, 354
Export section (report request forms), 151-152 query
Expression dialog, 234 results, 124-125
expressions (color), 261-262 sample, 123
functions
aggregate. See aggregate functions
CASE, 111-112
F displaying all computer names and
system enclosure chassis types query
fallback status point (FSP), 320 demonstration, 129-130, 333-335
fields online content, 353, 354
label, 209 resources, 112
report request form sections sample query, 111-112
Charts, 150 syntax, 111
Export, 151-152 CAST, 112-113
Parameters, 149 all system names and last hardware
Report Customizations, 153 scan date, converting last hardware
Report Information, 147-149 scan date format, 130, 334-335

Security section, 152-153 online content, 353

Table Details, 150-151 resources, 113

Table Layout, 151 sample query, 113

value, 209 syntax, 113

Firefox SSRS website automatic logon, 311 CONVERT, 112-113

folders all system names and last hardware


scan date, converting last hardware
protected, accessing, 296 scan date format, 130, 334-335
reports, 161 online content, 353, 354
RPs, 51 resources, 113
uploading reports on SSRS website, sample query, 113
268-270
syntax, 113
footers (reports)
COUNT
adding, 191-193
Adobe Reader XI installed, counting
templates, 203 example, 128, 331-332
formatting tables, 178-180 online content, 354
FQDN (fully qualified domain name), 320 sample query, 331-332
FROM statements, 101-102 date and time, 109
FSP (fallback status point), 320 common, 110
372 functions

complete listing of website, 109 Report Reader, 75-76, 323-324


date parts, 109 Software Updates Report Reader, 76,
datetime format, 111 324-325

date values, storing, 110


demonstration example, 128-129,
332-333
format, 109
H
online content, 354 hard drive size changes hardware inventory
query example, 110 query, 85-86
GetColor, 265 hardware inventory
ISNULL, 114 current data views
online content, 353, 355 RBA functions, 289
replacing NULL values from v_R_System_ SQL views, 84
Valid view, 130, 336 cycles, changing, 85
resources, 114 history data views
sample query, 114 RBA functions, 290
syntax, 114 SQL views, 84
pageLoad, 313-314 online content, 352
SQL 2008, 314 overview, 84
SQL 2008 R2, 314 queries
SQL 2012, 313-314 hard drive size changes from previous
inventory cycle, 85-86
software titles, 85
SQL view name identifiers, 84
G headers (reports)

gauges (reports), 177 page headers, adding, 188-191

GetColor function, 265 table header rows, repeating,


187-189
GETDATE function, 110
templates, 203
GPO (Group Policy Object), 312, 320
heartbeat discovery data
greater than (>) operator, 105
cycles, changing, 83
GROUP BY operator, 104
query example, 83
groups (security)
history hardware data SQL views
permissions
listing of, 84
adding, 66-70
RBA functions, 290
deleting, 70
horizontal lines separating subreports, creating,
viewing, 65 252-253
security roles, applying, 62-65 hour date part, 109
Inventory Report Reader, 76, 325-326
inventory 373

hyperlinks role, selecting, 46, 47


adding, 246-248 site server database/database name
subreports, 258 verification, 46, 48

table cells, creating, 254, 255 site system roles, 45


user accounts, selecting, 46, 48
validating installation, 51
Windows user account credentials, 49
I SQL client tools, 31-38
completing installation, 35-38
images, 177
configuration rules, 35-37
adding, 193-195
global rules, 32
default, restoring, 75
install rules, 35
horizontal lines separating subreports,
creating, 252-253 licensing, 32, 33
logos management tools features, 35-36
customizing, 72-75 SQL server features, 35-36
default images, restoring, 75 SSDT-BI, 38-40
hyperlinks for company website on, SSRS, 8
creating, 246-248 default SQL instance on Windows server, 8
image size, 72-73 features, selecting, 12
Logo Changer utility details, 72 location selection, 9-12
Images field (report request form Report preparations, 8
Customizations section), 153
results, 15
importing security roles, 53, 60-62
Intended Usage field (report request form
Include Labels field (report request form Report Information section), 140
Charts section), 150
interactive sorting (reports), 184-187
Include Legend field (report request form
Charts section), 150 Interactive Sorting field (report request form
Table Details section), 151
Include Subreports field (report request form
Report Customizations section), 153 Internet Explorer

indicators (reports), 177 SSRS website automatic logon, 310

inefficient queries versions software inventory query, 87

executing, 131, 336-337 inventory

online content, 354 hardware

INNER JOIN statement, 119, 354 current data views, 84

IN operator, 105 cycles, changing, 85

installing hard drive size changes from previous


inventory cycle query, 85-86
RPs, 45-50
history data views, 84
completion, 49-50
overview, 84
prerequisites, 44
software title query example, 85
proxy settings, 46, 47
SQL view name identifiers, 84
374 inventory

online content, 352 online content, 354


software query results, 124-125
cycle, changing, 55 query sample, 123
Internet Explorer versions query, 87 inner, 119, 354
online content, 352 left outer, 120-121, 354
overview, 86 online content, 353-354, 355
RBA functions with SQL views, 290 ResourceID column, 116
SQL views, listing of, 86 right outer, 121-123, 354
software metering sample query, 117
overview, 89 user versus computer real world example,
RBA functions with SQL views, 290 117

rules, creating, 90 v_R_System_Valid view, 117-118

SQL views, listing of, 89 Justification field (report request form Report
Customizations section), 153
start/stop times query, 89-90
software update
missing software updates query, 88-89
overview, 87 L
permissions, 57
label fields (reports), 209
point (SUP), 320
labels (charts)
RBA functions with SQL views, 290
customizing, 228
SQL views, listing of, 88
displaying outside charts, 229-231
Inventory Report Reader security role, applying,
76, 325-326 spacing between, 230, 232
ISNULL function, 114 LAN (local area network), 320
online content, 353, 355 layout consistency (reports), 142-144
replacing NULL values from v_R_System_ LEFT OUTER JOIN statement, 120-121, 354
Valid view, 130, 336 Legal Landscape template, 143
resources, 114 legal-size paper reports, 144
sample query, 114 Legend Properties dialog, 226
syntax, 114 legends (charts), moving, 226, 228
less than (<) operator, 105
Letter Landscape template, 143
letter paper sizes, 138
J-K letter portrait (8.5x11in) report template,
joins creating, 142, 200-204, 340-341

defined, 116 licensing (SQL client tools), 32, 33

demonstrating, 130-131 LIKE operator, 105

full line charts, 220

defined, 123 line items (reports), 176


listings 375

listings pageLoad function


aggregate functions sample query, SQL 2008, 314
creating, 331 SQL 2008 R2, 314
alternating row colors, 183 SQL 2012, 313-314
CASE function Patch Compliance Progression Details
sample query, 111-112, 334 report, 248-250
syntax, 111 Patch Compliance Progression report
CAST function sample query, 113, 335 multi-value parameters, adding, 217-218
CodeGroup entry for RSPreviewPolicy.Config original WHERE section, collection
file, 295-296 specification, 210
collection data computer names query, 93 simple prompt, adding, 210
color expression based on status values, 266 patch progression query, 172
Computer Hardware Information report patch report query example, 100-101
RBA query, 349 RBA
WHERE statement, 283 datasets, creating, 298
CONVERT function, 113, 335 prompt for manufacturer, 349
COUNT function sample query, 331-332 RBA queries
custom color codes converting SQL queries to, 291
expression, 261-262 mixed RBA functions and SQL views,
by value, 265 306-307

date and time functions sample query, 333 moving RBA into collection prompt,
308-309
exploded pie charts, adding
non-RBA collection prompt, 309
original status column, identifying, 224
RBA collection prompt, 308
replacement status column, 224
software update sample, 293-294
footers
remote errors
dates, 192
complete error listing, 29
page numbers, 193
error message example, 26-31
hardware inventory queries
software
hard drive size changes from previous
inventory cycle, 85-86 inventory queries, 87

software titles, 85 metering start/stop times, 89-90

heartbeat discovery query example, 83 updates, 88-89

ISNULL function sample query, 114, 336 SQL queries

joins aggregate functions example, 107-108

FULL JOIN, 123-125 aliases, 104, 330

INNER JOIN, 119, 338 column-naming, 106

LEFT OUTER JOIN, 120-121 date and time, 110

RIGHT OUTER JOIN, 121-123 DISTINCT keyword, 103-104

sample query, 117 editing, 329


376 listings

GROUP BY operator, 104


M
inefficient query, 131
ORDER BY section, 103 maintenance (reports), 159-160
FROM section, 101-102 MAN (metropolitan area network), 320
SELECT section, 101 management point (MP), 320
WHERE section, 102 maps (reports), 177
without joins example, 115-116 margin sizes (report templates), 201
state message software update query, 91-92 Match Chart Colors field (report request form
Table Details section), 151
status message last site server backup
query, 90-91 matrix (reports), 177
lists, 138, 177 MAX function, 108
example, 138 messages
features, 138-139 error. See errors
local area network (LAN), 320 state
Location of Mock-up field (report request form last enforcement for software updates
Report Information section), 149 query, 91-92
logging on SSRS website online content, 352
automatic, 288 overview, 91
Chrome, 311 topic types, listing of, website, 92
Firefox, 311 views, 91
Internet Explorer, 310 status
Opera, 312 last site server backup query, 90-91
Yandex, 311 online content, 352
logical operators, listing of, 105 overview, 90
Logo Changer utility RBA functions with SQL views, 290
default images, restoring, 75 views, 90
logos, changing, 74-75 metropolitan area network (MAN), 320
technical details, 72 MHTML (web archive) file output, 145
logos, 72-75 Microsoft
customizing, 74-75 Application Virtualization (APP-V), 319
default images, restoring, 75 Installer (MSI), 320
hyperlinks for company website on, creating, Update
246-248 errors, troubleshooting, 32
image size, 72-73 SSRS updates, checking, 8
Logo Changer utility Visual Studio projects, creating, 165-168
default images, restoring, 75 MIN function, 107
logos, changing, 74-75 minute date part, 109
technical details, 72 month date part, 109
look and feel (reports), 140-142 MP (management point), 320
OU (organizational unit) 377

MSI (Microsoft Installer), 320 NULL values


multiplication (*) operator, 105 checking for, 114
multi-value parameters, 210, 217-219 replacing from v_R_System_Valid view,
130, 336
Number of Columns field (report request form
Table Details section), 151
N
Name field (report request form Parameters
section), 149 O
navigating reports
drillthroughs, 242 Object Explorer window, 95-97

actions on table cell values, adding, online content


245-246 charts, adding, 356
Computer Hardware Information series Computer Hardware Information Prompt
example, 283-284, 344-345 report, 356
Patch Compliance Progression series inventory data, 352
example, 282-283, 343-344 Patch Compliance Progression report, 356
report for drilling through, creating, RBA, 358-359
242-244
report templates, 356
subreports, adding, 257
security roles, 351-352
hyperlinks
SQL queries, 353-355
adding, 246-248
SSDT-BI reports, creating, 355
subreports, 258
SSRS reports, 357-358
table cells, creating, 254, 255
System Center Configuration Manager
subreports, adding, 247-258 Reporting Unleashed website, 351
adding, 247-258 Opera SSRS website automatic
drillthroughs, 257 logon, 312
horizontal line separating, creating, Operations Manager SSRS security
252-253 permissions, 44
hyperlinks, adding, 254, 255 operators (SQL), 105-106
Knowledge Base hyperlinks, 258 listing of, 105
list of missing patches for specific online content, 354
computer report, creating, quotation marks, 106
248-250
website, 105
missing patches table, 257-258
Optional Prompt field (report request form
parameters, 252-253 Parameters section), 149
sizing, 249-251 ORDER BY statements, 102-103
tables, adding, 253-254 organizing reports, 160
network service accounts, 16 OR operator, 105
NOT operator, 105 OU (organizational unit), 320
378 packages

P patch report query example, 100-101


PDF file format, 144-145
packages, 320 performance (RBA queries), 305
pageLoad function, 313-314 execution times, 306
SQL 2008, 314 mixed RBA functions and SQL views,
SQL 2008 R2, 314 306-307

SQL 2012, 313-314 moving RBA into collection prompt, 308-309

Page Orientation field (report request form non-RBA collection prompt, 308
Report Information section), 148 RBA collection prompt, 308
page sizes (reports), customizing, 207, 237, permissions
340-342
Inventory Report Reader security role, 76
Paper Size field (report request form Report
Operations Manager with SSRS, 44
Information section), 148
security groups
paper sizes, 138
adding, 66-70
parameters, 209
deleting, 70
cascade prompts, 210
viewing, 65
default values, 209
security roles, 52, 54-56
demonstrating, 237
software updates, 57
label fields, 209
System.Security.Permissions
multi-value, 210, 217-219
.SecurityPermission error request, 312
subreports, 252-253
uploading reports to SSRS website, 268
value fields, 209
pie charts, 221
Parameters section (report request forms), 149
pointers (reports), 176
Patch Compliance Progression Chart report, 356
previewing
Patch Compliance Progression Details report,
charts, 229, 230
creating, 248-250
color, 266
Patch Compliance Progression report
RBA reports in SSDT-BI, 303
action on PC Name column cells, adding,
245-246 reports, 180-181
chart, adding, 238-239, 341 Primary Data Exists Within ConfigMgr Console
field (report request form Report Information
creating, 196, 338-339
section), 148-149
drillthrough series example, 282-283,
printing reports
343-344
layout, 142-144
multi-value parameters, adding, 217-218
from SSRS, 271
online content, 356
projects
original WHERE section, collection
specification, 210 creating, 195
page sizes, customizing, 237, 340-342 creating in Microsoft Visual Studio,
165-168
prompts, adding, 237-238
publishing to SSRS website, 276
simple prompt, adding, 210
RBA (role-based administration) 379

prompts hard drive size changes from previous


cascade, 210 inventory cycle, 85-86

collection software titles, 85

moving RBA into collection prompt, inefficient, 336


308-309 missing software updates, 88-89
non-RBA, 308 RBA
RBA collection prompt, 308 collection data, 290
dropdown, adding, 213-217 converting Computer Hardware
Patch Compliance Progression report, Information query to, 316, 348-349
adding, 237-238 converting Patch Compliance Progression
RBA query to, 315

creating, 302 converting SQL queries to RBA queries,


289-291
manufacturer, 349
creating, 289-291
updating, 300-303
current hardware data, 289
simple, adding, 210-213
discovery data, 289
Prompts field (report request form Report
Information section), 140 history hardware data, 290

Prompt Text field (report request form performance. See RBA, query
Parameters section), 149 performance

Prompt Type field (report request form software data views, 290
Parameters section), 149 status message data views, 290
Properties window (SSDT-BI), 175 testing, 292-294
protected folders, accessing, 296 software
proxy settings (RPs), creating, 46, 47 inventory, 87
publishing metering start/stop times, 89-90
projects to SSRS website, 276 SQL. See SQL queries
reports state message software updates, 91-92
request forms, 155 status message last site server backup, 90-91
from SSDT-BI to SSRS website, quotation marks (“”) (SQL operators), 106
273-275
SSRS website, 285, 347

R
Q RB (Report Builder), 320
RBA (role-based administration), 320
queries converting SQL queries to
collection data computer names, 93 Computer Hardware Information query,
creating with aliases, 354 316, 348-349
executing, 95-96, 98, 326 Patch Compliance Progression query, 315
hardware inventory datasets, creating, 298-300
380 RBA (role-based administration)

defined, 287 SSRS reporting, working together, 288


errors templates, creating, 303
SrsResources not declared, 312-313 RBAC (role-based access control), 320
System.Security.Permissions RDL (Report Definition Language), 164, 320
.SecurityPermission permission read-only auditor security role, copying, 52
request, 312
rectangles (reports), 177
prompts
remote errors, enabling, 26-29
creating, 302
repeating table header rows, 187-189
manufacturer, 349
Replacing a Report field (report request form
updating, 300-303 Report Information section), 148
queries Report Builder (RB), 320
collection data, 290 Report Builder versus SSDT-BI, 163-164
converting SQL queries to RBA queries, Report Customizations section (report request
289-291 forms), 153
creating, 289-291 Report Definition Language (RDL), 164, 320
current hardware data, 289 Report Information section (report request
discovery data, 289 forms), 147-149
history hardware data, 290 reporting services points. See RPs
software data, 290 report items
status message data, 290 accessing, 175
testing, 292-294 listing of, 176-177
query performance, 305 report manager URL, 20-24
execution times, 306 Report Parameter Properties dialog, 215
mixed RBA functions and SQL views, Report Properties dialog, 296
306-307 Report Reader security role, applying, 75-76,
moving RBA into collection prompt, 323-324
308-309 reports
non-RBA collection prompt, 308 accessing, 71-72
RBA collection prompt, 308 access restrictions, 57
reports backing up, 160
charts, adding, 316 color
online content, 358-359 multiple same colored wedges,
previewing in SSDT-BI, 303 troubleshooting, 263
security roles. See security roles out-of-the-box palettes, 259-260
SSDT-BI report conversions Computer Hardware Information
adding SrsResources.dll file, 295-296 3D exploded pie chart, adding, 239, 343
Patch Compliance Progression report, 315 charts, adding, 316
referencing SrsResources.dll file, creating, 196-197, 338-340
296-298 dataset, customizing, 238, 341-342
reports 381

drillthrough series example, 283-284, to PDF, 144-145


344-345 request form information, 151-152
page sizes, customizing, 237, 341-342 from SSDT-BI, 206-207
Computer Hardware Information Prompt from SSRS, 271
report, 356
to TIFF, 145
creating
to Word, 146
adding tables, 177-179
to XML, 145
Computer Hardware Information report,
196-197, 338-340 folders, 161
datasets, adding, 171-174 footers
data sources, adding, 170-171 adding, 191-193
formatting tables, 178-180 templates, 203
Patch Compliance Progression report, gauges, 177
196, 338-339 headers
previewing, 180-181 page headers, adding, 188-191
report items, 175-177 table header rows, repeating, 187-189
requirements, questioning, 156-157 templates, 203
sizes, 173-174 indicators, 177
with SSDT-BI, 168-170, 355 interactive sorting, 184-187
SSDT-BI versus Report Builder, 163-164 legal-size paper, 144
from templates, 204-206 line items, 176
custom color palettes, 259-263 maintenance, 159-160
based on values, 263-266 maps, 177
cycling through color codes, 284, matrix, 177
345-346
organizing, 160
data bars, 177
paper sizes, 138
deleting, 159
parameters, 209
designing, 140
cascade prompts, 210
consistent look and feel, 140-142
default values, 209
printed versus screen layout consistency,
142-144 demonstrating, 237

templates. See templates label fields, 209

Detailed Computer Information, creating, multi-value, 210, 217-219


242-244 value fields, 209
detailed PC, 139 Patch Compliance Progression
editing in Excel, 145 action on PC Name column cells, adding,
exporting, 144 245-246

to CSV, 145 chart, adding, 238-239, 341

to Excel, 145 creating, 196, 338-339

to MHTML, 145 drillthrough series example, 282-283,


343-344
382 reports

multi-value parameters, adding, 217-218 series samples, 136


online content, 356 sizes
original WHERE section, collection pages, customizing, 207, 237, 340-342
specification, 210 setting, 173-174
page sizes, customizing, 237, 340-342 troubleshooting, 209
prompts, adding, 237-238 Software Update Compliance, 263-267
simple prompt, adding, 210 SSDT-BI
Patch Compliance Progression Chart, 356 adding tables, 177-179
Patch Compliance Progression Details, alternating row colors, 183-185
creating, 248-250
Computer Hardware Information report,
previewing, 180-181 196-197, 338-340
printing from SSRS, 271 converting to RBA, 315
purpose, 136 creating, 168-170, 355
RBA datasets, adding, 171-174
charts, adding, 316 data sources, adding, 170-171
online content, 358-359 dropdown prompts, adding, 213-217
previewing in SSDT-BI, 303 exporting, 206-207
report items footers, 191-193
accessing, 175 formatting tables, 178-180
listing of, 176-177 headers, 188-191
requests, 146-147 images, adding, 193-195
basic information, 147-149 interactive sorting, 184-187
chart details information, 150 multi-value parameters, adding,
completed report based on request form 210, 217-219
example, 153-155 page sizes, customizing, 237, 340-342
customizations information, 153 patch compliance progression report,
export information, 151-152 196, 338-339
parameters information, 149 previewing, 180-181
publishing, 155 publishing to SSRS website, 273-275,
request process, handling, 146 285, 347

requirements, questioning, 156-157 report items, 175-177

reviewing, 159 row background color, 181-183

security information, 152-153 simple prompts, adding, 210-213

subscriptions, 158 sizes, 173-174

table details information, 150-151 table header rows, repeating, 187-189

table layout information, 151 templates, creating, 236, 340-341

verification, 157-158 subscriptions, 146, 158

row colors summarized data

alternating, 183-185 example, 137

background, 181-183 features, 136-137


roles (security) 383

templates, 142-143 Patch Compliance Progression


body size width, 203 report, 356

creating, 200-204, 236, 340-341 RBA, 358-359

creating new reports from, 204-206 report templates, 356

expanding width, monitoring, 202 security roles, 351-352

headers/footers, 203 SQL queries, 353-355

InteractiveSize property values, 201 SSDT-BI reports, creating, 355

margin sizes, 201-202 SSRS reports, 357-358

online content, 356 System Center Configuration Manager


Reporting Unleashed website, 351
RBA, creating, 303
SQL views, 82
report height size, 203
state message topic types, 92
uploading to SSRS website, 268-274
restoring default images, 75
data source, updating, 270-273
Restrict Access to an AD Group field (report
demonstration, 285, 345-347 request form Security section), 152
new folders, creating, 268, 269-270 restricting report access, 57
permissions, 268 results (queries), column-naming, 106
testing/running, 271-274 reviewing custom reports, 159
Report Title field (report request form Report RIGHT OUTER JOIN statement, 121-123, 354
Information section), 148
role-based access control (RBAC), 320
Requestor field (report request form Report
Information section), 148 role-based administration. See RBA

Requestor’s Email Address field (report request roles (security), 52


form Report Information section), 148 See also RBA
Requestor’s Telephone Number field (report applying to security groups, 62-65
request form Report Information section), 148 creating, 52-56
Required Role-Based Administration (RBA) field deleting, 58-59
(report request form Security section), 152
existing roles, copying, 52-54
ResourceID column, 116
exporting, 58-61
resources
importing, 53, 60-62
date parts, 109
Inventory Report Reader, 76, 325-326
functions
online content, 351-352
CASE, 112
permissions, 52, 54-56
CAST, 113
read-only auditor role, copying, 52
CONVERT, 113
report access restrictions with, 57
ISNULL, 114
Report Reader, 75-76, 323-324
online content
security group permissions
charts, adding, 356
adding, 66-70
Computer Hardware Information Prompt
report, 356 deleting, 70
inventory data, 352 Security Roles node, opening, 52-53
384 roles (security)

Software Updates Report Reader, second date part, 109


76, 324-325 sections (SQL queries)
viewing, 52 FROM, 101-102
rows (reports) ORDER BY, 102-103
alternating colors, 183-185 secondary, 103
background color, 181-183 aliases, 104-105
table header, repeating, 187-189 DISTINCT keyword, 103-104
RPs (Configuration Manager Reporting Services GROUP BY, 104
Point), 44, 320
operators, 105-106
creating, 45-50
SELECT, 101
completing, 49-50
WHERE, 102
proxy settings, 46, 47
security
role, selecting, 46, 47
AD user accounts, creating, 44
site server database/database name
verification, 46, 48 credentials (SSRS), 22
site system roles, 45 permissions
user accounts, selecting, 46, 48 Inventory Report Reader security role, 76
Windows user account credentials, 49 Operations Manager with SSRS, 44
folders, 51 security groups. See security groups,
permissions
health, checking, 51
security roles, 52, 54-56
prerequisites, 44
software update reports, 57
purposes, 44
System.Security.Permissions
validating, 51 .SecurityPermission error request, 312
ruler (SSDT-BI), 174 uploading reports to SSRS website, 268
rules (software metering), 90 report requests, 152-153
running SQL queries from SQL Server security groups
Management Studio, 125-126
permissions
adding, 66-70
deleting, 70
S viewing, 65
security roles, applying, 62-65
SCCM (System Center Configuration Manager).
See ConfigMgr Inventory Report Reader security role, 76,
325-326
SCEP (System Center Endpoint Protection), 320
Report Reader security role, 75-76,
secondary sections (SQL queries), 103 323-324
aliases, 104-105 security roles, adding, 63, 64
DISTINCT keyword, 103-104 Software Updates Report Reader security
GROUP BY operator, 104 role, 76, 324-325
operators, 105-106 users/groups, selecting, 62, 63
Software Update Compliance report 385

security identifier (SID), 320 sizing


security roles, 52 charts, 225
See also RBA logo images, 72-73
applying to security groups, 62-65 paper, 138
security roles, adding, 63, 64 reports
users/groups, selecting, 62, 63 configuring, 173-174
creating, 52-56 existing page size, customizing, 207
permissions, 52, 54-56 height, 203
read-only auditor role, copying, 52 margins, 201
Security Roles node, opening, 52-53 page sizes, customizing, 237, 340-342
deleting, 58-59 troubleshooting, 209
existing, copying, 52-54 subreports, 249-251
exporting, 58-61 SMS (Systems Management Server), 320
importing, 53, 60-62 software
Inventory Report Reader, 76, 325-326 inventory
online content, 351-352 cycle, changing, 55
RBA, accessing collections, 293 Internet Explorer version queries, 87
report access restrictions with, 57 online content, 352
Report Reader, 75-76, 323-324 overview, 86
security group permissions RBA functions with SQL views, 290
adding, 66-70 SQL views, listing of, 86
deleting, 70 metering (SWM), 320
viewing, 65 overview, 89
Software Updates Report Reader, 76, RBA functions with SQL views, 290
324-325 rules, creating, 90
viewing, 52 SQL views, listing of, 89
Security Roles node, opening, 52-53 start/stop times query, 89-90
Security section (report request forms), title hardware inventory query, 85
152-153
updates
Select Chart Type dialog, 222
missing software updates query, 88-89
Select Export Formats field (report request
form Export section), 152 overview, 87
SELECT statements, 101 permissions, 57
Series Properties dialog, 234 point (SUP), 320
servers, connecting with, 94-95 RBA functions with SQL views, 290
SID (security identifier), 320 SQL views, listing of, 88
simple prompts (reports), adding, Software Update Compliance report,
210-213 263-267
386 Software Updates Report Reader security role, applying

Software Updates Report Reader security role, date parts, 109


applying, 76, 324-325 datetime format, 111
sparklines (reports), 177 date values, storing, 110
SQL (Structured Query Language), 320 format, 109
client tools, installing, 31-38 online content, 354
completing installation, 35-38 query example, 110
configuration rules, 35-37 sample query, 332-333
global rules, 32 editing, 126, 329
install rules, 35 inefficient queries, 131, 336-337
licensing, 32-33 joins
management tools features, 35-36 defined, 116
SQL server features, 35-36 demonstrating, 131, 338
operators FULL JOIN, 123-125
listing of, 105 INNER JOIN, 119
online content, 354 LEFT OUTER JOIN, 120-121
quotation marks, 106 ResourceID column, 116
website, 105 RGB color wheel example, 118
queries. See SQL queries RIGHT OUTER JOIN, 121-123
schema websites, 82 sample query, 117
views. See SQL views user versus computer real world
SQL queries example, 117
aggregate functions. See aggregate v_R_System_Valid view, 117-118
functions online content, 353-355
converting to RBA, 289-291 patch report example, 100-101
Computer Hardware Information query, results column names, 106
316, 348-349
return data
Patch Compliance Progression query, 315
data types, converting, 112-114
creating with aliases, 127, 330
NULL values, checking for, 114
data transform demonstrations
translating based on results, 111-112
all system names and last hardware
scan date, converting last hardware running from SQL Server Management
scan date format, 130, 334-335 Studio, 125-126
displaying all computer names and secondary sections, 103
system enclosure chassis types query, aliases, 104-105
129-130, 333-335
DISTINCT keyword, 103-104
replacing NULL values from v_R_System_
Valid view, 130, 336 GROUP BY operator, 104

date and time functions, 109 operators, 105-106

common, 110 sections, 100

complete listing of, website, 109 FROM, 101-102


SSDT-BI (SQL Server Data Tools Business Intelligence) 387

ORDER BY, 102-103 SrsResources.dll file


SELECT, 101 adding to SSDT-BI, 295-296
WHERE, 102 referencing, 296-298
without joins, 115-116 SrsResources not declared error, 312-313
SQL Server 2014 Management Studio with SSDT (SQL Server Data Tools), 320
administrative rights, 27 SSDT-BI (SQL Server Data Tools Business
SQL Server Business Intelligence Development Intelligence), 320
Studio (BIDS), 319 charts
SQL Server Data Tools (SSDT), 320 actions, adding, 233-236
SQL Server Data Tools Business Intelligence. adding to reports, 221-226, 238, 341
See SSDT-BI
bar, 220
SQL Server Management Studio. See SSMS
column, 220
SQL Server Reporting Services. See SSRS
customizing, 225-233
SQL views
doughnut, 221
aliases, 104-105
line, 220
benefits, 81-82
pie, 221
collection data classes, 93
color options, 182
combining together. See joins
converting reports to RBA
hardware inventory, 84
adding SrsResources.dll file, 295-296
hardware inventory class name
identifiers, 84 Patch Compliance Progression
report, 315
RBA functions
referencing SrsResources.dll file,
collection data, 290 296-298
current hardware, 289 downloading, 38
current software, 290 installing, 38-40
discovery, 289 projects, creating, 195, 338-339
history hardware, 290 Properties window, 175
software metering, 290 publishing projects to SSRS website, 276
software update, 290 RBA reports, previewing, 303
status messages, 290 Report Builder, compared, 163-164
resources, 82 reports
software adding tables, 177-179
inventory, 86 alternating row colors, 183-185
metering, 89 Computer Hardware Information report,
updates, 88 196-197, 338-340
state messages, 91 converting to RBA, 315
status messages, 90 creating, 168-170, 355
v_R_System_Valid, 117-118 datasets, adding, 171-174
388 SSDT-BI (SQL Server Data Tools Business Intelligence)

data sources, adding, 170-171 database, 16, 19-20


dropdown prompts, adding, 213-217 email, 24-26
exporting, 206-207 Firefox, 311
footers, 191-193 Internet Explorer, 310
formatting tables, 178-180 Opera, 312
headers, 188-191 network service accounts, 16
images, adding, 193-195 report manager URL, 20-24
interactive sorting, 184-187 Report Server Status page, 16-17
multi-value parameters, adding, 217-219 web service URL, 17-18
page sizes, customizing, 237, 340-342 Yandex, 311
patch compliance progression report, defined, 7
196, 338-339 errors
previewing, 180-181 complete listing example, 29
publishing to SSRS website, 273-275, example, 27
285, 347
remote errors, enabling, 26-29
report items, 175-177
installing, 8
row background color, 181-183
default SQL instance on Windows
simple prompts, adding, 210-213 server, 8
sizes, 173-174 features, selecting, 12
table header rows, repeating, 187-189 location selection, 9-12
templates, creating, 236, 340-341 preparations, 8
ruler, enabling, 174 results, 15
versions, 165 Operations Manager security permissions, 44
SQL Server Management Studio, 320 reports. See SSRS reports
database server connections SQL client tools, installing, 31-38
creating, 94 completing installation, 35-38
troubleshooting, 94-95 configuration rules, 35-37
default database, configuring, 96 global rules, 32
invalid object name error message, 96-97 install rules, 35
Object Explorer window, 95-97 licensing, 32-33
overview, 94 management tools features, 35-36
queries, executing, 95-96, 98, 326 SQL server features, 35-36
SQL queries, running, 125-126 SSDT-BI, installing, 38-40
views, 98, 327-328 updates, checking, 8
SSRS (SQL Server Reporting Services), 320 US project, creating, 165-168
configuring website. See SSRS website
Chrome, 311 SSRS reports
connection, testing, 16, 21 blank, troubleshooting, 313-315
credentials, 22
statements 389

color SSRS website


multiple same colored wedges, automatic logon, 288
troubleshooting, 263 Chrome, 311
out-of-the-box palettes, 259-260 Firefox, 311
table background color, 266-267 Group Policy Object (GPO) setting, 312
custom color palettes, 259-263 Internet Explorer, 310
based on values, 263-267, 284, Opera, 312
345-346
Yandex, 311
cycling through color codes, 284, 345-346
blank reports, troubleshooting, 313-315
drillthroughs, 242
online content, 357-358
actions on table cell values, adding,
245-246 publishing projects to, 276
Computer Hardware Information series publishing SSDT-BI reports to, 273-275,
example, 283-284, 344-345 285, 347
Patch Compliance Progression series RBA, working together, 288
example, 282-283, 343-344 reports, uploading to, 268-274
report for drilling through, creating, 242-244 data source, updating, 270-273
subreports, adding, 257 demonstration, 285, 345-347
exporting, 271 new folders, creating, 268, 269-270
hyperlinks permissions, 268
adding, 246-248 testing/running, 271-274
Knowledge Base, 258 subscriptions
online content, 357-358 creating, 277-278, 286, 348
printing, 271 email, 279-281
subreports, adding, 247-258 error, 277
drillthroughs, 257 Windows FileShare, 277-278
horizontal line separating, creating, username and password prompts, 309
252-253
statements
hyperlinks, adding, 254, 255
demonstrating, 131
list of missing patches for specific
computer report, creating, 248-250 FROM, 101-102

missing patches table, 257-258 FULL JOIN

parameters, 252-253 defined, 123

sizing, 249-251 online content, 354

tables, adding, 253-254 query results, 124-125

subscriptions query sample, 123

creating, 277-278, 286, 348 INNER JOIN, 354

email, 279-281 JOIN, 353

error, 277 LEFT OUTER JOIN, 354

Windows File Share, 277-278 ORDER BY, 102-103


RIGHT OUTER JOIN, 354
390 statements

SELECT, 101 Subscription Type field (report request form


WHERE, 102 Security section), 152

state messages Subtitle with Prompt Details field (report


request form Parameters section), 149
last enforcement for software updates query,
91-92 subtraction (−) operator, 105

online content, 352 SUM function, 108


overview, 91 summarized data reports
topic types, listing of, website, 92 example, 137
views, 91 features, 136-137
status messages SUP (software update point), 320
last site server backup query, 90-91 SWM (software metering), 320
online content, 352 overview, 89
overview, 90 RBA functions with SQL views, 290
RBA functions with SQL views, 290 rules, creating, 90
views, 90 SQL views, listing of, 89
storing date values, 110 start/stop times query, 89-90
Structured Query Language. See SQL syntax of functions
Subreport Properties dialog, 249 CASE, 111
subreports, 177 CAST, 113
adding, 247-258 CONVERT, 113
drillthroughs, 257 ISNULL, 114
horizontal line separating, creating, 252-253 System Center 2012 Configuration Manager
hyperlinks, adding, 254, 255 (CM12), 319
Knowledge Base hyperlinks, 258 System Center 2012 R2 Configuration Manager
(CM12R), 319
list of missing patches for specific computer
report, creating, 248-250 System Center Configuration Manager. See
ConfigMgr
missing patches table, 257-258
System Center Configuration Manager Reporting
parameters, 252-253
Unleashed online content website, 351
sizing, 249-251
System Center Endpoint Protection
tables, adding, 253-254 (SCEP), 320
Subscribers/Location field (report request form System.Security.Permissions.SecurityPermission
Security section), 152-153 error request, 312
Subscription Run Schedule field (report request Systems Management Server (SMS), 320
form Security section), 152
subscriptions, 146
requested reports, 158
SSRS website reports T
creating, 277-278, 286, 348
email, 279-281 Table Details section (report request forms),
150-151
error, 277
Table field (report request form Report
Windows File Share subscriptions, 277-278 Information section), 148
updates 391

Table Layout subsection (report request Transact-SQL. See SQL


forms), 151 transforming stored database data, 111
Table Name field (report request form Table converting data types, 112-113
Details section), 150
returned data NULL values, checking, 114
tables
translating data based on results,
actions on cell values, adding, 245-246 111-112
adding troubleshooting
reports, 177-179 blank reports, 313-315
subreports, 253-254 database server connections, 94-95
background color, 266-267 errors. See errors
cell hyperlinks, adding, 254, 255 multiple same colored wedges, 263
formatting, 178-180 RBA
header rows, repeating, 187-189 SrsResources not declared, 312-313
Table Title field (report request form Table System.Security.Permissions
Details section), 151 .SecurityPermission permission
Table Will Provide More Details of Chart field request, 312
(report request form Charts section), 150 report sizes, 209
templates, 142-143 SSRS subscriptions, 277
body size width, 203 T-SQL. See SQL
creating, 200-204, 236, 340-341 Type of Chart field (report request form Charts
creating new reports from, 204-206 section), 150
expanding width, monitoring, 202 types (data), converting, 112-113
headers/footers, 203
InteractiveSize property values, 201
margin sizes, 201, 202
online content, 356
U
RBA, creating, 303 Universal Coordinated Time (UTC), 110
report height size, 203 updates
testing data sources, 270-273
RBA queries, 292-294 Microsoft Update errors, troubleshooting, 32
SSRS connections, 16, 21 RBA prompts, 300-303
uploaded reports on SSRS website, software
271-274
missing software updates query, 88-89
textboxes (reports), 176
overview, 87
Text Box Properties dialog, 184
permissions, 57
Ticket Number field (report request form Report
Information section), 147 point (SUP), 320

TIFF file format, 145 RBA functions with SQL views, 290

time. See date and time functions SQL views, listing of, 88

tools. See utilities SSRS, checking for, 8


392 uploading reports to SSRS website

uploading reports to SSRS website, 268-274 versions (SSDT-BI), 165


data source, updating, 270-273 views
demonstration, 285, 345-347 collections, 93
new folders, creating, 268-270 discovery data, 82
permissions, 268 hardware inventory
testing/running, 271-274 current, 84
UTC (Universal Coordinated Time), 110 history, 84
utilities security
Logo Changer group permissions, 65
default images, restoring, 75 roles, 52
logos, changing, 74-75 software
technical details, 72 inventory, 86
SQL Server Management Studio metering, 89
database server connections, 94-95 updates, 88
default database, configuring, 96 SQL. See SQL views
invalid object name error message, SQL Server Management Studio, 98, 327-328
96-97 state messages, 91
Object Explorer window, 95-97 status message data, 90
overview, 94 v_R_System_Valid view, 117-118
queries, executing, 95-96, 98, 326
SQL queries, running, 125-126
views, 98, 327-328
W
Wake on LAN (WOL), 321
V WAN (wide area network), 320
web archive (MHTML) file output, 145
value fields (reports), 209 web service URL, configuring, 17-18
values websites
chart values as parameters, passing, 239 CASE function resources, 112
NULL CAST function resources, 113
checking for, 114 ConfigMgr SQL schema, 82
replacing from v_R_System_Valid view, CONVERT function resources, 113
130, 336
date and time functions, listing of, 109
report parameters
date parts, complete listing, 109
default, 209
default SQL Server Management Studio
multi-value, 210 database, 96
verification ISNULL function resources, 114
requested reports, 157-158 paper size comparisons, 138
RP installation, 51
year date part 393

SQL operators, listing of, 105 Word, exporting to, 146


SSRS WHERE statements, 102
automatic logon, 288 wide area network (WAN), 320
blank reports, troubleshooting, 313-315 width (reports), 202
Chrome automatic logon, 311 Wiki Glossary of Technology Acronyms
email subscriptions, 279-281 website, 321

Firefox automatic logon, 311 wildcard (%) operator, 105

Group Policy Object (GPO) automatic Windows


logon setting, 312 File Share subscriptions, creating,
Internet Explorer automatic logon, 310 277-278

online content, 357-358 Management Instrumentation


(WMI), 320
Opera automatic logon, 312
Server Update Services (WSUS), 321
publishing projects to, 276
user account credentials (RPs), 49
publishing SSDT-BI reports to, 273-275,
285, 347 WMI (Windows Management
Instrumentation), 320
reports, uploading, 268-274
WOL (Wake on LAN), 321
subscription error, 277
Word, exporting reports to, 146
subscriptions, creating, 277-278,
286, 348 WQL (WMI Query Language), 321

uploading reports to, 285, 345-347 writing reports. See creating, reports

username and password prompts, 309 WSUS (Windows Server Update Services), 321

Windows FileShare subscriptions,


277-278
working with RBA, 288
Yandex automatic logon, 311
X-Z
state message topic types, 92 XML file output, 145
System Center Configuration Manager
Reporting Unleashed online content, 351
Yandex SSRS website automatic logon, 311
Wiki Glossary of Technology Acronyms
website, 321 year date part, 109

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy