Course 10056 - Introducing Business Intelligence in Microsoft SQL Server 2008

Embed Size (px)

DESCRIPTION

Course 10056 - Introducing Business Intelligence in Microsoft SQL Server 2008

Citation preview

Introducing Business Intelligence in Microsoft SQL Server 2008

Table of Contents

Overview of Business Intelligence1Introduction1Lesson Introduction1Lesson Objectives1Business Intelligence and SQL Server 20082Business Intelligence Terminology3ETL3Data warehouse3OLAP4Data mining4Dashboards and scorecards4Reporting4Microsoft Technologies for Business Intelligence5SSIS5SSAS5SSRS5Microsoft Office SharePoint6Microsoft Excel6Overview of a Data Warehouse7Introduction7Lesson Introduction7Lesson Objectives7Introduction to a Data Warehouse8Dimension Tables9Fact Tables10Data Warehouse Structures11Normalized schema11Star schema11Snowflake schema11Hybrid schema11Using a Data Warehouse in a BI Solution12Creating a Business Intelligence Solution13Introduction13Lesson Introduction13Lesson Objectives13Installing Business Intelligence Components14Using Reporting Services Configuration Manager16Upgrading Business Intelligence Components17SSIS17SSAS18SSRS19Create a Business Intelligence Solution21Business Intelligence Development Studio22SQL Server Integration Services23Introduction23Lesson Introduction23Lesson Objectives23Overview of SQL Server Integration Services24Scenarios for Using SQL Server Integration Services25SQL Server Integration Services Components26Package26Control flow26Data flow26Event handlers27Variables28Package configurations28Using the Import and Export Wizard29SQL Server Analysis Services30Introduction30Lesson Introduction30Lesson Objectives30Introduction to SQL Server Analysis Services31Scenarios for Using SQL Server Analysis Services32Data sources32Data source views33Cubes33Dimensions33Measures33Slice and dice34Data mining34SQL Server Reporting Services35Introduction35Lesson Introduction35Lesson Objectives35Introduction to SQL Server Reporting Services36Scenarios for Using SQL Server Reporting Services37SQL Server Reporting Services Components38Data sources38Data sets38Data regions39SQL Server Reporting Services Tools40Reporting Services Configuration Manager40Report Designer40Report Builder41Report Manager41SQL Server Management Studio41Command prompt utilities41Use the Report Wizard43Business Practices44Lab: Introducing Business Intelligence in Microsoft SQL Server 200845Lab Overview45Lab Introduction45Lab Objectives45Scenario46Exercise Information47Exercise 1: Installing Business Intelligence Components in SQL Server 200847Exercise 2: Creating a Business Intelligence Solution in SQL Server 200847Exercise 3: Use the Import/Export Wizard to Create an SSIS Package47Exercise 4: Using the Report Wizard in SQL Server Reporting Services 200847Lab Instructions: Introducing Business Intelligence in Microsoft SQL Server 200848Exercise 1: Installing Business Intelligence Components in SQL Server 200848Exercise 2: Creating a Business Intelligence Solution in Microsoft SQL Server 200849Exercise 3: Using the Import/Export Wizard to Create a SSIS Package51Exercise 4: Using the Report Wizard in SQL Server Reporting Services 200852Lab Review53What type of database is a SSAS cube stored in?53What is the difference between a dimension table and a dimension?53What are the two core components used in an SSIS package?53What is the best tool to perform a simple transfer of data between two SQL Server tables?53What is the difference between a data set and a data region in SSRS?53What is the purpose of a Business Intelligence Development Studio solutions?53Module Summary54Overview of Business Intelligence54Overview of a Data Warehouse54Creating a Business Intelligence Solution54SQL Server Integration Services55SQL Server Analysis Services55SQL Server Reporting Services56Lab: Introducing Business Intelligence in Microsoft SQL Server 200856Glossary57

i

Overview of Business IntelligenceIntroduction Lesson IntroductionIt is important to understand the key concepts of BI solutions. The concepts and terminologies that are presented in this course will allow you to understand the makeup of BI tools and technologies relating to SQL Server 2008 as you go through the course. Some terminologies may be used interchangeably in the real world and it is important to understand what the terminology means. Furthermore, you can use this information to define the vision of your BI infrastructure to business owners who may need to understand what BI is about and what resources may be required to facilitate a BI project.Lesson ObjectivesAfter completing this lesson, you will be able to: Provide an overview of BI. Describe the various BI terminologies. Describe the Microsoft technologies for BI.

Business Intelligence and SQL Server 2008Business Intelligence or BI is the delivery of targeted information to the right people at the right time. Organizations are increasingly making use of BI in order to remain competitive within their respective markets. Microsoft SQL Server 2008 provides a range of technologies that facilitates the delivery of information to a wide range of business users. This is embodied in the SQL Server 2008 BI stack using SQL Server Integration Services, SQL Server Analysis Services and SQL Server Reporting Services to deliver BI solutions within an organization.SQL Server Integration Services or SSIS is an Extract Transform and Load tool (ETL) that is responsible for moving data around the business and transforming or changing the data. Within a business, data can be stored on a range of disparate systems including Microsoft Access, SQL Server and other third-party relational database management systems. Typically, within a BI solution, SSIS moves the data to a central database known as a data warehouse while at the same time transforming or cleansing the data, so it is presented in a standardized format and represents one version of the data that is stored within the data warehouse. SSIS acts as a very important foundation for a BI solution and while the business users will not see or understand the work performed by SSIS, it is responsible for turning the raw data into meaningful information that will eventually be consumed by the user via business reports.SQL Server Analysis Services or SSAS can provide a single point of access for the organizations Business Intelligence information. It provides OLAP (Online Analytical Processing Services) databases and data mining capabilities. In the context of an OLAP database, SSAS will typically take the data that is stored in the data warehouse and create a multidimensional cube. The cube not only stores the data from the data warehouse, it can also pre-aggregate this data and store it permanently within the cube. This can substantially improve the query performance of both complex business questions and reports that require a large amount of aggregated data. You can also use the data mining capabilities of SSAS to search for trends and patterns within the data that may not be immediately evident.SQL Server Reporting Services or SSRS is the reporting component of the SQL Server BI stack that provides the front-end reports to business users on which they can make decisions. You can configure SSRS to query data within an SSAS cube and present the data in a range of reporting formats such as tables, charts and gauges. SSRS also has the capability to create reports from other data sources such as SQL Server databases or third-party database systems. Furthermore, you can control how the reports are managed and executed. You can also control how the reports are delivered ensuring that the business users receive the data when they require it. A BI solution should provide an accurate and consolidated insight into the activities of all areas of a business. SQL Server 2008 provides the technologies that allow you to create a cost-effective BI solution that is available to all users of the business. To that end, many BI solutions are managed as projects to ensure that the successful implementation of Business Intelligence within an organization is ensured.

Business Intelligence TerminologyOrganizations host Online Transactional Processing (OLTP) systems for holding data that runs the business, such as sales databases or order entry systems. Performing reporting on such systems would be detrimental to the running of the business as this reporting could cause performance problems that at the worst, may prevent a business from earning revenue from the OLTP systems that are set up for that purpose. Some businesses use the same SQL Server system for both transactional and reporting purposes. The more optimal approach is to separate the OLTP systems so that it can be optimized to perform modifications to the data, and create a reporting systems known as decision support systems, so that it can be optimized to read data.You can then use the data from the transactional systems as the basis for populating the decision support system in a controlled manner. When performing this task, you will come across the following terminology.ETLETL stands for Extract, Transform and Load. Data is extracted from source systems such as OLTP databases and loaded into a destination database such as a decision support system or a data warehouse. During the movement of this data, you can optionally transform the data. Data transformations allow you to change the format or structure of the data. SSIS is an ETL tool that is provided by SQL Server 2008.ETL is an important aspect of a BI solution. The data that is stored in transactional systems, at the very least, are stored in a normalized structure, optimized for modifying data. A data warehouse holds the same information, but it is structured in a way that is optimized for reading data and not compatible with a transactional system. As a result, you can use SSIS to change the structure of the data and populate a data warehouse from a source transactional system.In typical ETL solutions using SSIS, staging tables may be used to break down the movement of data from source systems into the data warehouse. Staging tables acts as useful intermediary storage locations in that data can be moved out of the source systems and straight into the staging tables to reduce the time and resources that are placed upon the source system. From the staging table, you can then transform the data as it is loaded into the data warehouse without impacting the resources on the source systems.Data warehouse A data warehouse is a consolidated repository of data that has been populated by the movement of data from transactional systems by using SSIS. SSIS also cleanses the data as it is moved into the data warehouse to ensure that the data is consistent. This movement occurs on a regular basis.A data warehouse is a relational database that contains tables and relationships to provide an integrated view of the data within a business. Compared to transactional systems, however, the tables are more de-normalized within a data warehouse as to optimize it for querying purposes. As the data warehouse holds a separate copy of the data found on transactional systems, reporting and data analysis activities can then take place without impinging on the transactional systems performance.A data warehouse can consist of one or more data marts. A data mart is a set of tables that are interrelated and contain its own fact table and a number of dimension tables.OLAPOLAP refers to the multidimensional analysis of data. SSAS consumes information from a data warehouse to store data within an OLAP database that is stored in cubes. Cubes can store detailed data, however, its power is to create pre-aggregated data that is persistent within the cube. You can arrange the aggregated data so that it can be intersected by dimensions that provide contextual information for the aggregated data. Dimension can include contextual information about customers, employees or orders. This allows analysis to be performed far more efficiently than could be performed against the same data in a transactional system.OLAP databases can store one or more cubes within it.Data miningData mining provides an exciting aspect to SSAS in that it can use mathematical algorithms to analyze the data in either a cube or a relational table. This analysis can involve trend analysis, data classification or clustering and sequence analysis. Data mining allows you to explore your data and find out patterns that may have not been immediately evident.SSAS provides the ability to create data mining structures that allow you to pass through the source data through data mining algorithms known as data mining models. It also provides validation tools that you can use to validate the accuracy of the results that are returned by the data mining structures. Microsoft Excel 2007 also has a data mining add-in that enables you to expose data mining structures through a familiar client tool.Dashboards and scorecardsKey performance indicators (KPIs) are a feature of SSAS and are stored in an OLAP database but can be exposed through client tools such as SSRS, Microsoft Excel and Microsoft Office SharePoint Services. The ability to provide key business metrics through these visual indicators is a very powerful feature that enables you to build scorecards and digital dashboards through the client tools. Storing the KPIs on SSAS helps you to manage the KPIs centrally.ReportingReports are the objects of the SQL Server BI stack that the users have most interaction with. Using SSRS, you can provide flexible standard reports that can contain a high degree of interactive objects such as parameters and drill through capabilities that allow the user to be involved with the report. You can also automate the delivery of reports through subscription mechanisms such as e-mail. Furthermore, SSRS provides the capability for power users to create their own reports for ad hoc requirements.

Microsoft Technologies for Business Intelligence Understanding the terminology that surrounds BI is important as you embark upon your BI project. The table below outlines key terms that are used in the BI arena. SSISSSIS is an ETL tool that is responsible for moving data around the business and transforming or changing the data. There are a wide range of transformations that can be performed by SSIS. These can involve changing the format of the data or converting data from one data type to another. You can also perform lookup operation to add data to a destination based on a lookup from a third data source. For example, based on postal code, look for suburbs from the U.S. Postal Service.While SSIS can be used to populate a data warehouse, it can also be used to perform ad hoc data transfers between different systems. It can also be used to move objects between different instances of SQL Server.The first interaction that people have with SSIS is when they use the Import/Export wizard. Not only will this provide the ability to define data sources and destination, but you can also perform transformations within the wizard. The wizard also prompts you to save the detail of the wizard as an SSIS package that can be edited later within SSIS.SSASSSAS provides OLAP databases and data mining capabilities. As the need for data increases for business analysis within an organization, many BI IT professionals are seeing the value that SSAS can bring to providing data analysis in an efficient manner within a BI infrastructure. It also provides the ability to add calculated values to a cube known as calculated members. This use Multi-dimension Expression (MDX) language to create calculated members that will add value to the cube. MDX can also be used to define KPIs that provide high visualization of key business metrics.Another component of SSAS is data mining. This is perhaps one of the most underused technologies within the entire SQL Server BI stack. The power to find patterns and trends in the data can help companies make commercial decisions about the future. Excel 2007 now has a data mining add-in that can extend the reach of this technology to the end user. Understanding how data mining works will be an important aspect of Analysis Services as it grows in popularity.SSRSSSRS provides you with the capabilities to design, deploy, manage and deliver end-user reports. The design capabilities is available to all users of the organization as you can use Business Intelligence Development Studio to create reports. Report Designer can be made available to the end user to create their own reports.Report Manager is a Web-based front-end that enables users to view reports and allow report administrators to manage reports. You can also automate the delivery of reports.Microsoft Office SharePointAlthough Microsoft Office SharePoint Services (MOSS) is not a part of the SQL Server BI stack, it would be remiss not to acknowledge the growing importance that MOSS has in delivering BI to the end user.MOSS can act as a central repository of business information within an organization. This can include the storage of documents and images. You can also set up calendars and newsgroups that an organization can use to exchange information.You can now integrate SSRS with MOSS during the installation of Reporting Services. This will enable you to host and store reports within MOSS.Furthermore, it was announced by Microsoft in January 2009, that Microsoft Office Performance Point Server would be integrated into SharePoint Services. This would provide greater capabilities for providing digital dashboards and scorecards within MOSS.Microsoft ExcelMicrosoft Excel is a popular client tool for BI solutions. You can export SSRS reports to Excel. However, its power is evident in the way that it integrates with SSAS.You can connect to SSAS cubes by using Excel and create pivot table reports. Furthermore, you can also download a number of Excel add-ins such as the Analysis Services Add-in for Excel and the Data Mining Add-in for Excel. These add-ins provide more sophisticated integration with Analysis Services than the pivot table alone.

Overview of a Data WarehouseIntroductionLesson IntroductionA common component that is typically implemented in a BI solution is a data warehouse. The data warehouse provides a platform that hosts data provided by transactional systems that will be used by Analysis Services to build a cube or Reporting Services to create reports. SSIS is the BI component that populates data into a data warehouse from one or more transactional systems. Understanding the way that a data warehouse is structured and created will provide you with a firm foundation on which to base your BI solution.Lesson ObjectivesAfter completing this lesson, you will be able to Describe a data warehouse. Describe dimension tables. Explain what fact tables are. Describe data warehouse structures. Explain how a data warehouse is used in a BI solution.

Introduction to a Data WarehouseA data warehouse is a relational database that centrally stores a consistent view of the data from transactional systems in a de-normalized format. This makes the retrieval of the data more efficient than it would be from a transactional system.A data warehouse will consist of one or more data marts. A data mart typically represents an area of the business such as sales or finance departments. Within each data mart, there are two types of tables createdfact tables and dimension tables.Dimension tables contain columns that hold information that represents a business entity. You can define many dimension tables. An example of a business entity that is represented as a dimension table could be customers. The columns will contain information that is specific to that entity. In the case of the customers dimension table, columns can include Firstname and Lastname. Dimension tables will also contain a primary key column that uniquely identifies the records in the dimension table. The primary key also defines a one-to-many relationship with an associated column or columns within a fact table.The fact table contains information about historical transactions and typically represents this information as integer data. For example, you can have three dimension tables named Customers, Region and Time. Each has a primary key column that relates to the fact table. In this example, Customer 6231 in the fact table is equal to Francois Ajenstat in the dimension table. Region 4 is equal to the value of West and the Time value of 3423 is equal to the 18th of August, 1975 in the Time dimension table. The additional columns will contain measures about the transaction such as order quantity and sales amount. Using integer data to represent historical transactions allow SQL Server Analysis Services to process the data much more efficiently.Also note that dimension tables can be shared between different data marts. A common example of this is a Time dimension table. This could be used by different data marts to provide consistent information about time across multiple data marts. These types of dimension tables are known as conformed dimensions. In order to manage the movement of data from source systems to the data warehouse, staging tables may also be created in the data warehouse. This allows tables to act as intermediary tables for cleansing data before loading the cleansed data into the respective dimension tables.

Dimension TablesDimension tables contain columns that hold information that represents a business entity. Examples of dimension tables can include time, region and customers. The columns will contain information that is specific to the entity. In the case of the customers dimension table, columns can include Firstname and Lastname. You can define as many columns as you want to precisely define the customer entity. However, placing unnecessary columns increases the volume and time it would take to populate the dimension table with data by using SSIS. Dimension tables should consist of two columns that are important in loading the data warehouse. The first column is typically a dimension key known as a surrogate key. This is usually a primary key column that uses an identity constraint to automatically populate the column value. It is also used to provide a relationship to the fact table. The second column is referred to as an application key column. This column is used to hold the value of the record in the original transactional system.You may also wish to add columns to the dimension table that can be used to track changes to the records within the dimension table. As information within the table changes, you can add a ModifiedDate column that can be used to track the date when changes occurred to a record. To keep historical records of changed data, you could include StartDate and EndDate columns that help you to determine the duration that a record was in a particular state.

Fact TablesThe fact table is at the heart of the data mart and typically consists of three groups of columns. The first is a primary key column to maintain the integrity of the fact table itself. The second group of columns are known as foreign keys.Each of these columns relate to a dimension table primary key to provide a relationship between the fact table and the contextual information provided by the dimension table. Imagine that the image represents a Sales data mart, and that the three smaller tables represent dimension tables called CustomerDim, TimeDim and RegionDim. The fact table, which would be the big table in the image, would contain three foreign key columns that would relate directly to each dimension table. The fact table also contains a third group of columns known as measures. This group of columns hold business metrics such as sales units, sales amounts and cost amounts. As a result, the fact table ideally consists of business information represented by integer values. On occasions, a fourth group of columns may be seen within the fact table. This may be one or more columns that are referred to as degenerative dimensions. A degenerative dimension is information about a business entity that is stored within the fact table itself rather than held within a separate dimension table. Using the example of the CustomerDim, TimeDim and RegionDim, these three dimension tables provide context information about customers, time and regions. A central fact table holds foreign key references to the dimension tables and includes measures such as SalesUnits and OrderQuantity. We can include a SalesOrderNumber for each record of a sale. However, rather than creating a separate dimension table that would require a join to the dimension table just to return one piece of contextual information, it is more efficient to store this piece of information within the fact table itself. Fact tables are created like any table that is created in SQL Server. You also define the primary and foreign key relationships within the database engine. Therefore, you are limited to the 8-KB limit on the amount of information that is stored in a row within a table.

Data Warehouse StructuresData warehouse structures are hosted as tables within the database engine of SQL Server 2008. There are different data warehouse schemas that can be implemented when creating a data warehouse as outlined in the table below.Normalized schemaNormalization is the process of organizing data and tables within the SQL Server database. This is implemented by creating tables and setting relationships between the tables to remove repetitive and redundant data.Transactional systems typically contain tables that are structured in a normalized manner. The idea is that it is easier to make modifications to the data. However, this means that retrieving the data is not as efficient.Star schemaA star schema describes the layout of the fact tables and the dimension tables within a data mart. In a star schema, the fact table resides at the center of the data mart. There are dimension tables that have a direct join with the fact table.Snowflake schemaWithin a snowflake schema, the fact table resides at the center of a data mart. Some dimension tables have a direct relationship to the fact table. However, there are dimension tables that have a direct relationship with the fact table, but have another relationship to another table. These relationships can also extend to further tables as well.An example of this can be related to a data mart about a products business entity. In this example, you have a one-dimension table that lists columns about the product including color, size, category and subcategory. If you have 10,000 products spread across 4 categories and 25 subcategories, it is more efficient to store the subcategory information within a separate table with one record for each subcategory and relate this to a separate category table. Rather than repeating the same information many times within a single dimension table to unnecessarily increase the size of the dimension table, it is more efficient to store this information in separate tables.Hybrid schemaA hybrid schema is a data warehouse structure that combines star schema structures and snowflake schemas.As additional data marts are added to a data warehouse, the schema of the entire data warehouse hosts a combination of the star and snowflake schema to store the data efficiently within the data warehouse for each data mart.Dimension tables may also be shared across different data marts to provide data consistency.

Using a Data Warehouse in a BI SolutionSQL Server 2008 provides Business Intelligence tools that can be used to populate and utilize a data warehouse. Once the data warehouse has been created in the database engine, SQL Server Integration Services can be used to extract data from source systems. This data may then be loaded into a staging table where the data is then transformed, and then extracted as cleansed data from the staging table and loaded into the dimension tables within the data warehouse. Once the dimension tables are loaded, SQL Server Integration Services will then populate the associated fact tables with the correct records. You also have the option to extract data from source systems and load data directly into the data warehouse without the need for staging tables.When the data warehouse has been fully populated, SQL Server Analysis Services will then use the data warehouse as a basis for creating the cube. The dimension tables in the data warehouse acts as the axis of the cube to provide contextual information. These are known as dimensions. The data within the fact table is used as the basis for information that is intersected at each axis within the cube. Furthermore, SQL Server Analysis Services will generate pre-aggregated information of the data found within the fact table. These are known as measures. You can build cubes without the use of a data warehouse; however, this approach is not common.SQL Server Reporting Services can then be used to create reports by querying data within the cube, within the data warehouse or from a wide range of data sources.

Creating a Business Intelligence SolutionIntroductionLesson IntroductionBI tools are installed as part of the SQL Server installation process. This provides a streamlined installation experience that in some cases can have BI components operational immediately after the installation. You also have the ability to perform post-installation tasks for Reporting Services to further refine the installation.Once the installation is completed, you can then set up BI solutions by using Business Intelligence Development Studio to host a store project surrounding Integration Services, Analysis Services and Reporting Services.Lesson ObjectivesAfter completing this lesson, you will be able to: Install BI components. Use Reporting Services Configuration Manager. Upgrade BI components. Create a BI solution. Use Business Intelligence Development Studio.

Installing Business Intelligence ComponentsInstalling the SQL Server 2008 BI components is performed with the SQL Server setup. This demonstration will explore the options that are available during the setup.Prior to performing an installation, you must ensure that your server meets the hardware and software requirements.Installing Business Intelligence Components

Pre-installation checksHardware and Software RequirementsThe hardware and software requirements for the SQL Server BI stack now follow the guidelines for Installing Microsoft SQL Server 2008. These can be broken down into hardware and software requirements. Below lists the minimum requirements for installing Microsoft SQL Server 2008.Hardware requirements:1. ProcessorPentium III 600 MHz (1 GHz Recommended)1. Memory512 MB (1 GB Recommended)1. Disk SpaceDependant on the components chosen. Reporting Services and Report Manager consumes 120 MB of disk space1. DisplayVGA or higher resolution: at least 1,024x768 pixel resolutionSoftware requirements:1. Operating Systemdependant on the version of SQL Server installed. Microsoft SQL Server 2008 Developer Edition can run on all versions of Windows Vista, Windows Server 2008, Windows Server 2003 SP1 and Windows XP SP2.1. Additional softwareMicrosoft Windows Installer 3.1, Microsoft Data Access Components (MDAC) 2.8 SP1 and Microsoft Internet Explorer 6 SP1 for the installation.Additional information:SQL Server setup installs the following software components required by the product:1. Microsoft .NET Framework 2.01. Microsoft SQL Server Native Client1. Microsoft SQL Server Setup support filesSQL Server does not support the Banyan VINES Sequenced Packet protocol (SPP), Multiprotocol, AppleTalk, or NWLink IPX/SPX network protocols. Clients previously connecting with these protocols must select a different protocol to connect to SQL Server.Security ConsiderationsFollow security best practise. Best practises for security considerations for Microsoft SQL Server 2008 should be adhered to in the following areas:1. Physical security0. Ensure that the SQL Server and backup devices are physically secure.1. Firewall configuration1. Ensure that only the relevant ports are open and inside a Windows domain, configure interior firewalls to permit Windows Authentication.1. Service isolation2. Avoid installing SQL Server on a domain controller and use different service accounts for each SQL Server components.1. Disable NetBIOS and Server Message Block3. Disable NetBIOS and Server Message to mitigate security threats within environments that use just Domain Name System (DNS).

Using Reporting Services Configuration ManagerReporting Services Configuration Manager enables you to perform post-installation tasks of the report server. This can involve defining the service account for Reporting Services and the URL references for the report server and Report Manager Web site.Reporting Services Configuration Manager makes the configuration of Reporting Services a lot easier within SQL Server 2008.

Upgrading Business Intelligence ComponentsBI components can be upgraded from previous versions of Microsoft SQL Server. There are issues that you need to consider when upgrading SSIS, SSAS and SSRS.SSISWhen upgrading SSIS from SQL Server 2005 to SQL Server 2008, the packages will not be upgraded automatically. There are numerous upgrade methods available to convert SQL Server 2005 SSIS packages to SQL Server 2008 packages. These include: Use the SQL Server 2008 dtexec utility to run a SQL Server 2005 package. With this method, the package upgrade and script migration is temporary and the changes cannot be saved. Add a SQL Server 2005 package to an existing project or open a SQL Server 2005 package in SQL Server 2008 Integration Services. If the package is saved, then the package and script upgrade is permanent. Use the SSIS Package Upgrade Wizard to create or open a SQL Server 2005 Integration Services project, and upgrade multiple packages in the project. With this method, the package and script upgrade is permanent.Note that Integration Services migrates the scripts in any Script task and Script component to Microsoft Visual Studio Tools for Applications. In SQL Server 2005, the scripts in Script tasks or Script components used Microsoft Visual Studio for Applications. As a result, modifications may need to be made to the scripts to operate within the new environment in SQL Server 2008. A failure to address interfaces or use user-defined type values may cause the package to fail.Upgrading Business Intelligence ComponentsRunning the SSIS Package Upgrade WizardYou can run the SSIS Package Upgrade Wizard from Business Intelligence Development Studio, from SQL Server Management Studio or at the command prompt. This will enable you to upgrade SSIS packages from SQL Server Integration Services 2005 to SQL Server Integration Services 2008.To run the wizard from Business Intelligence Development Studio, perform the following steps:1. In Business Intelligence Development Studio, create or open an Integration Services project.1. In Solution Explorer, right-click the SSIS Packages node, and then click Upgrade All Packages to upgrade all the packages under this node.To run the wizard from SQL Server Management Studio, perform the following step:1. In SQL Server Management Studio, connect to Integration Services, expand the Stored Packages node, right-click the File System or MSDB node, and then click Upgrade Packages.To run the wizard at the command prompt, perform the following step:1. At the command prompt, run the SSISUpgrade.exe file from the C:\Program Files\Microsoft SQL Server\100\DTS\Binn folder.Backing Up the Original PackagesTo back up the original packages, both the original packages and the upgraded packages must be stored in the same folder in the file system. Depending on how you run the wizard, this storage location might be automatically selected:1. When you run the SSIS Package Upgrade Wizard from Business Intelligence Development Studio, the wizard automatically stores both the original packages and upgraded packages in the same folder in the file system. You can configure the wizard to back up the original packages.1. When you run the SSIS Package Upgrade Wizard from SQL Server Management Studio or at the command prompt, you can specify different storage locations for the original and upgraded packages. To back up the original packages, make sure to specify that both the original and upgraded packages are stored in the same folder in the file system. If you specify any other storage options, the wizard will not be able to back up the original packages.When the wizard backs up the original packages, the wizard stores a copy of the original packages in an SSISBackupFolder folder. The wizard creates this SSISBackupFolder folder as a subfolder to the folder that contains the original packages and the upgraded packages.To back up the original packages in SQL Server Management Studio or at the command prompt, perform the following steps:1. Save the original packages to a location on the file system.1. In SQL Server Management Studio or at the command prompt, run the SSIS Package Upgrade Wizard. 1. On the Select Source Location page of the wizard, set the Package source property to File System.1. On the Select Destination Location page of the wizard, select Save to source location to save the upgraded packages to the same location as the original packages.1. On the Select Package Management Options page of the wizard, select the Backup original packages option.To back up the original packages in Business Intelligence Development Studio, perform the following steps:1. Save the original packages to a location on the file system.1. In Business Intelligence Development Studio, run the SSIS Package Upgrade Wizard. 1. On the Select Package Management Options page of the wizard, select the Backup original packages option.

SSASSQL Server setup can be used to upgrade an instance of SQL Server 2000 and SQL Server 2005 Analysis Services to SQL Server 2008. However, consideration must be given to the fact that some of the functionality between the different versions of Analysis Services may be lost on completing the upgrade. You can run the SQL Server 2008 upgrade advisor that will provide a summary of the functionality that may be lost. Features such as linked cubes that were available in Analysis Services 2000 are no longer available and are now replaced by linked measures group.The Analysis Services Migration Wizard can be used to upgrade SQL Server 2000 Analysis Services databases to SQL Server 2008 Analysis Services. The wizard copies SQL Server 2000 Analysis Services database objects and then recreates them on an instance of SQL Server 2008 Analysis Services. The source databases remain intact and you can manually delete the old databases. The migration wizard can be found in the Analysis Services server node in the Object Browser in SQL Server Management Studio or by running the program MigrationWizard.exe from the command prompt.Upgrading Business Intelligence Components

Migrate existing Analysis Services databases by using the Migration WizardTo migrate the existing Analysis Services databases by using the Migration Wizard, perform the following steps:1. In SQL Server Management Studio, in the Object Browser, start the Migration Wizard from an Analysis Services server node. You can also start the wizard at the command prompt, by running the program MigrationWizard.exe.1. The wizard starts and displays the Welcome to the Analysis Services Migration Wizard page. Read the introductory message and then click Next to continue.1. On the Specify Source and Destination page, identify the source SQL Server 2000 Analysis Services server and instance name, and then identify the destination SQL Server 2008 Analysis Services server and instance name. Instead of designating a destination server, you can also decide to save the database schema to a script file and complete the migration later. You can do this by using an Analysis Services Execute DDL task in a SQL Server 2008 Integration Services (SSIS) package.1. On the Select Databases to Migrate page, select the check boxes next to the databases that you want to migrate. You can specify different names for the destination databases if you want.1. On the Validating Databases page, the wizard analyzes the databases to be migrated and reports any issues that it discovers.1. On the Migrating Databases page, the wizard reports its progress as it performs the database migration.1. On the Completing the Wizard page, the wizard reports the results of migration. Click Finish to complete the wizard.1. After you migrate a database, you must process the database from the original data source before you can query the database. 1. After migration, you might want to review Migration Considerations (Analysis Services) to understand the differences between Analysis Services database versions.

SSRSThe most notable aspect of migration to SQL Server Reporting Services 2008 from SQL Server Reporting Services 2000 or 2005 is that there is no longer a dependency on Internet Information Services (IIS).Interoperability issues between IIS 6.0/7.0 and Reporting Services occur when IIS Web sites have virtual directory names that are identical to those used by Reporting Services.This problem can be prevalent when running side-by-side deployments of different versions of Reporting Services as both versions create the same Reports and ReportServer URL reservation.Should this occur, it is recommended that with SQL Server 2008 Reporting Services, the Files-only mode installation option should be used, so that configurations of the Web site names can occur within the Report Server Configuration tool to define different Web site names and avoid the possibility of encountering the interoperability issue outlined.SQL Server 2008 Reporting Services is now managed as a single service that defines the security context under which Report Manager, report server Web service, and a background processing application run under.The report server service account can be defined during the installation and can also be changed using Reporting Services Configuration tool.The upgrade can be performed through the SQL Server setup and the upgrade advisor can be used to determine if there are issue that may prevent a successful upgrade. You can also install a new instance of SQL Server 2008 Reporting Services and then migrate the report server databases from the old instance to the new instance through the following steps: Back up the database, the application and the configuration files. Back up the encryption key. Install a new instance of SQL Server 2008. If you are using the same hardware, you can install SQL Server 2008 side-by-side with your existing SQL Server 2000 or 2005 installation. However, if you do this, you might need to install SQL Server 2008 as a named instance. Move the report server database and other application files from your SQL Server 2000 or 2005 installation to your new SQL Server 2008 installation. Move any custom application files to the new installation. Configure the report server. Edit RSReportServer.config to include any custom settings from your previous installation. Optionally, configure custom Access Control Lists (ACLs) for the new Reporting Services Windows service group. Test your installation. Remove unused applications and tools after you have confirmed that the new instance is fully operational.

Create a Business Intelligence SolutionOnce the installation of the BI components is complete. The first step that is involved when embarking on a BI project is to create a BI solution within Business Intelligence Development Studio.Within Business Intelligence Development Studio, a single solution can hold many projects that allow you to work on different aspect of the BI infrastructure. For example, you could create one solution named AdventureWorksBI that will consist of three projectsan SSIS project, an SSAS project and an SSRS project, allowing you to develop an end-to-end BI infrastructure within one Business Intelligence Development Studio solution.Business Intelligence Development Studio also provides the ability to integrate with Team Foundation Server 2008. This allows versioning and source control of the Business Intelligence Development Studio solution, so that multiple developers can work on the same projects while keeping track of the changes that occur in the development of the BI projects.

Business Intelligence Development StudioOnce the BI solution is created, work can begin on implementing the different aspects of the SQL Server BI stack. In this demonstration, you will explore Business Intelligence Development Studio and understand the components that are available within the development studio for SSIS, SSAS and SSRS.

SQL Server Integration ServicesIntroductionLesson IntroductionSSIS represents the foundation of a BI solution. While the impact and importance of this tool is not readily seen by the end users, it is critical for providing the data that would be used to populate a data warehouse that would be eventually used by Analysis Services or Reporting Services. SSIS can also be used to perform unplanned data transfers to meet business needs as they arise, some of which can be handled by the Import and Export wizard. The Import and Export wizard is usually the first tool that database professionals use to interact with SSIS. However, SSIS itself is an extremely flexible tool that can go beyond the capabilities that the Import and Export wizard has.Lesson ObjectivesAfter completing this lesson, you will be able to: Describe SSIS. Describe scenarios for using SSIS. Describe SSIS components. Identify the various tools in SSIS. Use the Import and Export wizard.

Overview of SQL Server Integration ServicesSQL Server Integration Services (SSIS) is an Extract, Transform and Load tool (ETL) that can be used to move and transform data within an organization. SQL Server Integration Services holds the entire logic of ETL operations within a package. A package represents a single unit of work. Within the package, SSIS uses two engines to control the workflow of the SSIS package; the control flow engine and the data flow engine.The control flow engine contains tasks that direct how the package should operate as a whole by using precedence constraints. The tasks that are available in the control flow can be broadly categorized into data-dependent tasks and data-independent tasks.Some data-independent tasks include the Send Mail task, File System task and Execute Process task. These types of tasks do not work with data directly, but can be added to a package to complement other tasks that may load the data. For example, you may use a Send Mail task to run when another task in the control flow fails and you need to inform the administrator by e-mail of the error.Data-dependent tasks include the Bulk Insert task and the Data Flow task. These types of tasks are typically responsible for the movement of data between source and destination servers. All tasks within the control flow engine have their own properties window that requires configuration; however, the Data Flow task is unique.It is the only task that has its own designer interface. The Data Flow task exposes the data flow engine. Within this, you can focus specifically on how the data movement occurs. This can involve defining data flow sources and destinations. You can also configure and finely tune the type of transformations that will take place within the Data Flow task.Collectively, the control flow and the data flow engine work at the heart of SSIS to provide the ability to move and transform data. Additional components of SSIS include event handlers that expose the same tasks that are available within the control flow engine. The difference is that the tasks in the event handler will only run on a specific event. This allows you to create robust packages. Variables can be used to add dynamic capabilities to packages, passing values between tasks and other packages for custom data loads. Package configurations can be used to ease the deployment of packages into a production environment by populating package settings at run time. This is useful when you may not exactly be aware of the setup of your production environments.

Scenarios for Using SQL Server Integration ServicesSSIS may primarily be used to populate a data warehouse within an organization to support its BI infrastructure. In this scenario, the primary objective of SSIS is to: Extract the data from source systems. Transform or change the data so that it is cleansed and represented in a standard format. Load the data into the destination system, typically the data warehouse.SSIS can also be used to facilitate other tasks within the organization outside the scope of the data warehouse. These scenarios include: Using the Import and Export wizard to perform unplanned data transfers. Using SSIS to move databases, database objects, custom error messages and SQL Server Agent jobs from one instance of SQL Server to another. Merging and archiving data into a separate data store.

SQL Server Integration Services ComponentsThere are core components of SSIS that enables you to create an ETL solution that can be used to facilitate a part of a BI solution. The table below outlines the key components.PackageA package is the highest object n SSIS and represents a single unit of work.A package can host multiple packages within it to control the flow of multiple packages. Typically, it contains control flow and data flow elements to manage data movement and transformations.You can create packages by using Business Intelligence Development Studio or the Import and Export wizard.Control flowControl flow is responsible for managing how the entire package operates. There are three core components that can be used in the control flow to manage a package execution:Tasks. Tasks are commonly used to add functionality to a package. This functionality is wide and varied and provides the ability to perform the work in the package. The categories of tasks that are performed are as follows: Data tasks work with data. File and network tasks interact with the file system and FTP sites. Scripting tasks add custom transformations and logic to SSIS packages. Database object transfer tasks manage the movement of SQL Server objects. Package execution task control the execution of SSIS and Data Transformation Services (DTS) packages. Analysis Services tasks interact with Analysis Services. Maintenance tasks perform common SQL administrative functions. Windows Management Instrumentation (WMI) tasks interact with WMI. Precedence constraint. Precedence constraints are used to control the workflow between the tasks within a package that will dictate what will proceed a task based on a failure, completion or successful execution of a previous task. You can also use expressions to control the workflow.Containers. Containers are used to group tasks together as one unit so that you can further refine the structure of the workflow within a package. Data flowData flow is the component of SSIS that focuses specifically on the movement and transformation of data within the package. There are three core components that can be used within the data flow:Sources. Sources extract data from data stores such as tables and views in relational databases, files and Analysis Services databases.Destination. Destinations load data into data stores or create in-memory datasets.Transformations. Transformations make modifications to the data as it is moved between a data source and a data destination. The types of transformations that are available include: Data Formatting transformations to change the format of the data. Column transformations to copy, export or import columns. Multiple Data Flow transformations to merge, split or join data together. Custom transformations using .NET and ActiveX to perform custom transformations. Slowly Changing Dimension to manage dimension tables in a data warehouse. Data Analysis transformations such as data mining and Pivot for data analysis. Data Sampling transformations to perform row counts and sampling. Audit transformations to audit data changes. Fuzzy transformations to apply fuzzy logic to data within a transform to standardize data. Term transformations to extract specific data from text.Additionally, Integration Services provides paths that connect the output of one component to the input of another component. Paths define the sequence of components and let you add annotations to the data flow or view the source of the column.Event handlersEvent handlers are a component that execute tasks based on an event that occurs at the package, container or task level at run time. The tasks that can be performed within an event handler are the same tasks that are available within the control flow. The events that can be defined include: OnError. This event is raised by an executable when an error occurs. OnExecStatusChanged. This event is raised by an executable when its execution status changes. OnInformation. This event is raised during the validation and execution of an executable to report information. This event conveys information only, no errors or warnings. OnPostExecute. This event is raised by an executable immediately after it has finished running. OnPostValidate. This event is raised by an executable when its validation is finished. OnPreExecute. This event is raised by an executable immediately before it runs. OnPreValidate. This event is raised by an executable when its validation starts. OnProgress. This event is raised by an executable when measurable progress is made by the executable. OnQueryCancel. This event is raised by an executable to determine whether it should stop running. OnTaskFailed. This event is raised by a task when it fails. OnVariableValueChanged. This event is raised by an executable when the value of a variable changes. The event is raised by the executable on which the variable is defined. OnWarning. This event is raised by an executable when a warning occurs.Event handlers can perform the following tasks: Clean up temporary data storage when a package or task finishes running. Retrieve system information to assess resource availability before a package runs. Refresh data in a table when a lookup in a reference table fails. Send an e-mail message when an error or a warning occurs or when a task fails.For example, an OnError event is raised when an error occurs. You can create custom event handlers for these events to extend package functionality and make packages easier to manage at run time.VariablesVariables can be used to provide additional functionality to SSIS packages. SSIS provides a host of system variables. These system variables can be used for customization of a package. An example could include using the system variables to populate package information to a table using custom logging.SSIS also allows you to create user-defined variables. The names of user-defined and system variables are case-sensitive. These variables can be used to hold a value that may be used elsewhere in a package. For example you may use a GETNOW() function to populate a variable. This variable may then be used in the WHERE clause of an Execute SQL Task to return results back where the ModifiedDate column of a table is equal to the value in the variable.In this respect, variables can prove valuable in providing package logic.Package configurationsPackage configurations are a useful tool to use to set package properties as the package executes. In scenarios where it is difficult to anticipate package properties before it is deployed, package configurations can help.For example, you may have a data source destination within a Data Flow task, but you do not know the name of the server. You can use a package configuration to populate the data source destination's ServerName property with the environmental variable, ComputerName. When the package executes, it will use the environmental variable ComputerName to populate the ServerName property at run time.Package configurations can be provided from one of five sources: Environmental variables Registry SQL Server XML configuration file Parent package variable

Using the Import and Export WizardMany individuals first exposure to SSIS is through the Import and Export wizard that can be found in SQL Server Management Studio. This wizard can be used to perform simple data transfers. It also allows you to save the settings defined within the wizard as an SSIS package.

SQL Server Analysis ServicesIntroductionLesson IntroductionSSAS is the technology that is provided by SQL Server to create cubes. Organizations use cubes to manage large volumes of data so that complex queries can be retrieved in a more efficient manner than if the queries were to be executed against a relational database. With cubes, there is also the ability to pre-aggregate data and store them in the cube for faster retrieval of summary information.The most underused aspect of SSAS is data mining that enables a business to perform trend analysis and identify relationships between data that may not be immediately apparent to end users when looking at the data. Analysis Services is a fantastic tool that can host the data in a central point as information.Lesson ObjectivesAfter completing this lesson, you will be able to: Describe SSAS. Describe scenarios for using SSAS. Describe the various components of SSAS. Identify the various tools in SSAS.

Introduction to SQL Server Analysis ServicesSQL Server Analysis Services provides the ability to efficiently query multidimensional data. It also provides the capability to use data mining to extrapolate trends and patterns within data. There are core components that you should be aware of to create a cube.At its core, data sources must be defined to provide connection information to the source data for the cube. You can then define data source views to define the specific tables on which the cube is based. This will typically involve dimension tables and fact tables from a data warehouse.You can then define dimensions within the cube against dimension tables within the data warehouse. The dimensions will provide contextual information and act as the axis for the cube. For improved readability, you can also define hierarchies to allow the user to drill down into the dimension data.On completing the creation of the dimensions, we can then run the cube wizard to create the cube. The wizard allows you to create a cube using existing dimensions or from data from a table. You can also create an empty cube if you do not have the data available. Once the cube is created, you can configure cube partitions. This enables you to spread the data over multiple physical disks to improve the performance of cube processing and querying data in the cube. SQL Server Analysis Services also provides additional OLAP objects to extend the functionality of the cube, including calculated members, KPIs, actions and translations.For data mining, you can use new or existing data sources and data source views to point to the source data. The source data for data mining can be an existing cube or data from a table or a view. You can then create a data mining structure that integrates the source data with a data mining algorithm, known as a data mining model in order to find patterns in the data using the data mining model. On completing this, you have the ability to view and validate the results that are returned back to the data mining viewer.

Scenarios for Using SQL Server Analysis ServicesAnalysis Services enables you to analyze large quantities of data. With it, you can design, create and manage multidimensional structures that contain detail and aggregated data from multiple data sources.Scenarios that SSAS can help with include: The analysis of large volumes of data efficiently. The ability to define server level KPIs that can be created and maintained centrally. Add value to cubes by creating calculations by using multidimensional expressions.SQL Server Analysis Services ComponentsThere are core components that are used to create an Analysis Services solution within Business Intelligence Development Studio. Understanding these components will help you to start multidimensional and data mining solutions within your BI solution.Data sourcesData sources provide the connection information for the source system on which the Analysis Services solution is based.Typical configuration for data sources involve specifying the name of the server on which the data is stored. You also specify the credentials required to connect to the server and the name of the database to access. You should also consider that additional settings may be required between different data sources.The data sources that are supported by SSAS 2008 include: SQL Server 7.0 using the SQL OLE DB Provider or the .NET native OLE DB provider (x86, x64 and ia64). SQL Server 2000 using the SQL OLE DB Provider or the .NET native OLE DB provider (x86, x64 and ia64). SQL Server 2005 using the SQL Server Native Client OLE DB provider or the SqlClient.NET managed provider (x86, x64 and ia64). SQL Server 2008 using the SQL Server Native Client OLE DB provider or the SqlClient.NET managed provider (x86, x64 and ia64). Oracle 9.0 using the Microsoft OLE DB Provider for Oracle or the .NET native OLE DB provider (x86 only). IBM DB2 8.1 using Microsoft OLE DB Provider for DB2 (x86, x64, ia64)only available for Microsoft SQL Server 2005 Enterprise Edition or Microsoft SQL Server 2005 Developer Edition. Access with Microsoft Jet 4.0 OLE DB provider (x86 only). Teradata v2R6 with OLE DB 1.3 provider from NCR (x86 only). Teradata managed provider (x86, x64 and ia64).

Data source viewsData source views are objects based on a data source that provide an abstraction of a subset of tables, columns and relationships from the data source that you require as part of your Analysis Services solution.This abstraction layer holds metadata about the objects and allows you to create an Analysis Services solution without a permanent connection to the data source.To run the cube wizard or the data mining wizard, a data source view must be created.The type of information that is defined within a data source view includes: A data source view name. A definition of any subset of the schema retrieved from one or more data sources including: Tables Columns RelationshipsAnnotations can be added to provide friendly names for the tables and columns to improve the readability for the user.CubesAn OLAP database can hold one or more cubes. A cube is a fundamental unit of multidimensional analysis.A cube consists of dimensions and measures. The dimensions form the axis of the cube and provide contextual information for the data that resides in the cube. This information is known as measures.DimensionsDimensions provide the contextual information for the data that resides in a cube. The dimensions in a cube typically map to a dimension table within the data warehouse.As dimensions are used to describe a business entity, dimensions consist of attributes that provide specific information about the business entity. These attributes typically map to a specific column within the dimension table in the data warehouse.To improve readability, hierarchies can be introduced within the dimension. For example, within a time dimension, a hierarchy named CalendarYear can be created containing three levelsYear, Quarter and Month. These levels allow the user to easily drill down into specific time periods.MeasuresMeasures provide the numeric information that resides inside the cube. They typically map to the measures columns in the fact table of a data warehouse.As well as including the measures information from the fact table, SSAS also creates pre-aggregated versions of the measures. For example, a fact table may consist of a measure named OrderQuantity. As well as including the detail information that is provided by the fact table, Analysis Service creates pre-aggregated OrderQuantity totals for yearly, quarterly or monthly totals. By creating this pre-aggregated data, queries for this information is retrieved more efficiently.Slice and diceSlicing and dicing is the technique that can be used to interrogate the data from within a cube.This technique is implemented in products such as Excel 2007. This allows you to use the pivot table feature to slice and dice the data to retrieve specific data.Business Intelligence Development Studio provides a browser window that allows you to slice and dice the data to test the results that is returned before the cube is deployed into a production environment.Furthermore, you can also employ this technique within Reporting Services as the basis for providing data for the reports that are deployed through SSRS.Data miningData mining is a feature in SSAS that enables you to extrapolate trends and patterns in the data.You can create data mining structures to explore the data against algorithms that are provided.There is also a Data Mining Add-in for Excel 2007 that allows you to explore the results that are returned by a data mining structure. You can also use the add-in to create your own data structures.

SQL Server Reporting ServicesIntroductionLesson IntroductionSSRS provides the ability to present information from both Analysis Services cubes and relational data sources as reports. With flexible report designs and a vast improvement on the visualization of reports, you have the ability to create compelling reports. Furthermore, interactivity can be added to allow the end user to become involved with the reports. This can be as simple as adding interaction in the form of parameter lists or drill through. You can also empower end users to create their own reports by using Report Builder. All of this can be managed with a simplified, Web-based interface that allows you to host and deliver reports when the user needs it.Lesson ObjectivesAfter completing this lesson, you will be able to: Describe SSRS. Describe scenarios for using SSRS. Describe the components of SSRS. Describe the various tools in SSRS. Use the Report Wizard.

Introduction to SQL Server Reporting ServicesSSRS provides a complete set of tools and a streamlined server architecture that is designed to support the reporting requirements across the enterprise, from a wide variety of data sources at a reduced total cost of ownership. Extensive enhancements have been introduced to the authoring capabilities within Reporting Services 2008, providing the ability to create comprehensive, richly formatted reports quickly and easily through a variety of reporting tools. The reports created are stored within a Report Definition Language (RDL) file.Reporting Services can also be tightly integrated with MOSS and provide highly customized applications within Microsoft Visual Studio 2008 through the use of report viewer controls.A restructuring of the server architecture has reduced the configuration and maintenance tasks required to manage Reporting Services. For example, the dependency on IIS has now been removed, reducing the need to configure multiple service accounts. A redesigned report and rendering engine delivers reports of any scale more efficiently. Microsoft Word 2007 has been introduced as a new, out-of-the-box rendering format. The delivery of reports can also be managed through subscriptions that can be controlled by the user or the administrator. With SSRS 2008, you can create, manage and deploy reports much more efficiently.

Scenarios for Using SQL Server Reporting ServicesSQL Server Reporting Services 2008 is installed as part of the SQL Server setup. When Reporting Services is selected in the features selection screen, the Reporting Services Configuration screen provides three options that can be selected to determine how Reporting Services can be accessed. This can be useful if Reporting Services is to be used by internal users, external users or if you wish to integrate Reporting Services with Microsoft Office SharePoint Server.By selecting the Install in Native Mode default configuration option, Reporting Services is installed with all of the default options and is operational once the installation is complete. This is an ideal choice if the Reporting Services solution is to be used by internal users only and you do not wish to change the default settings. Users will access the reports by typing the URL in Internet Explorer that goes to http://ServerName/reports.The installation allows you to integrate Reporting Services with Microsoft Office SharePoint Server. Assuming the Reporting Services pack is already installed on the SharePoint Server, Reporting Services will be installed in SharePoint integrated mode whereby the user will access the reports from the SharePoint site rather than the Reporting Services home page. Reporting Services can also use the features available to SharePoint Server as well.For external access, it is best practice to select the Install, but do not configure the report server option in the Reporting Services Configuration screen. In this scenario, you will have to use Reporting Services Configuration Manager to manually set the values for the home page of the Report Server Web site, Report Manager Web site and determine how the Report Server databases are created. Furthermore, you will have to modify configuration files to secure the traffic that is sent between the Report Server and the external clients.

SQL Server Reporting Services ComponentsCore components exist that are important for creating reports in SSRS. The table below describes the components required to create a report.Data sourcesData sources provide the connection information that Reporting Services require to access the source data. Typical configuration for data sources involve specifying the name of the server on which the data is stored. You also specify the credentials that are required to connect to the server and the name of the database to access. You should also consider that additional settings may be required between different types of data sources.The following data sources are supported by Reporting Services out-of-the-box: SQL Server relational databases Analysis Services multidimensional databases XML data sources Report Server Models SAP multidimensional databases Hyperion Essbase Oracle databases Teradata relational databases DB2 databases OLE DB data source ODBC data sourceMultiple data sources can be defined and used within a single report.Data setsData sets are used to return specific data from a defined data source. The data that is returned in the data set can then be used in the report.When retrieving datasets from Analysis Services or XML, the data from these data sources are flattened so that they may be used within a report.When creating a data set against a SQL Server data source, there are three ways that the data set can be generated: From a specific query From a stored procedure From a specific table or viewMultiple data sets can be defined and used within a single report.Data regionsThe data region is the area of the report that holds the data that is generated from a data set. SSRS provides the following data regions: Table Matrix List Chart GaugeA new type of data region that has been introduced is the Tablix data region. Tablix combines the benefits of both a table and matrix data region, which gives greater flexibility in the design of the report. The Tablix data region is not explicitly found in any of the report authoring tools. This functionality has been added to the table and matrix data region properties in Report Designer.You also have the ability to define multiple data regions within a single report.

SQL Server Reporting Services ToolsThe following table describes the various tools that you can use to create reports in SSRS.Reporting Services Configuration ManagerFor post-installation configuration, the Reporting Services Configuration tool provides easier management, particularly for those moving from SQL Server 2000 Reporting Services.Introduced in SQL Server 2005 Reporting Services, the notable change to this version, apart from the look, is the fact that there is only one service account that needs to be configured now that the dependency on IIS is removed. Previous versions required a Windows service account and a Web service account to be configured. Below is a summary of options: Server Node. Provides the ability to stop and start the Reporting Services. Service Account. Provides the ability to change the security context under which the Reporting Services run. Web Service URL. Configures the URL access to the report server by creating a URL reservation. A URL reservation defines the virtual directory, IP address, TCP port and optionally a SSL certificate. HTTP.sys uses the URL reservation to direct users requests and allow access to the URL. Database. Provides the ability to change the location of the report server database and to change the credentials for connecting to the report server database. Report Manager. Creates an URL reservation to access the Report Manager Web site. E-mail Settings. Provides the ability to integrate with e-mail by defining a server address and an e-mail address that has the ability to send e-mail messages from the report server. Execution Account. Provides the ability to specify an account to use against report data sources that do not require credentials or to access remote servers. Encryption Keys. Allows the management of the keys that are used to encrypt the sensitive data that is stored in the Reporting Services database. There is the ability to back up and restore the encryption keys, change encryption keys and delete the encrypted content within the database. Scale-out Deployment. Provides the ability to manage multiple instances of Reporting Services that share the same ReportServer database such as a clustered instance. SQL Server 2005 Reporting Services referred to scale-out deployment as Initialization.Report DesignerSSRS has introduced a new designer that allows business users to connect to data sources and produce richly formatted reports that provide highly visual information in a user-friendly interface. The report designer is found within Business Intelligence Development Studio and consists of the following core elements: Data pane. Provides the ability to define data sources and data sets. Items from the Data pane can be dragged onto the designer canvass. Toolbox. Provides the ability to add data regions and other report items to the designer canvass. Report canvass designer. Located in the center of the Report Designer application, it allows you to develop the report in its entirety. Grouping pane. A grouping pane is located at the bottom of the Report Designer. This provides a quick way of managing groups of data in the canvas designer, without the need for entering into dialog boxes. Properties pane. A context sensitive pane that changes as items on the designer canvass are selected, providing rich formatting and report body options. The Properties pane provides a vast array of options than can vastly improve the visualization of the reports.Report BuilderReport Builder is an application that empowers power users to create their own ad-hoc reports. Report Builder is available in two versions: Report Builder version 1 is a ClickOnce .NET application that allows the creation of unplanned reports. For power users to use the Report Builder version 1, a report model must be created that provides an abstraction layer to the underlying data in a data source. It is also a prerequisite to be able to use the Report Builder version 1. As a result, the report model has a separate project template in Business Intelligence Development Studio. Report Builder version 2 has now been introduced and is not constrained to the requirements of a report model. Report Builder version 2 has the same layout as the report designer that is available in Business Intelligence Development Studio. The application is encased within an Office 2007 application with ribbons to provide shortcut to common tasks. With Report Builder version 2, you can make use of data sources directly, providing a more flexible tool than its previous version.Report ManagerReport Manager is the Web site that is used to host the reports that are deployed to the report server. End users will browse to a predefined URL that is the home page of Reporting Services. From here, users can browse and export reports. If they have the permission, they may also be able to subscribe to reports so that they can be delivered via e-mail.Report Manager also acts as an administrative Web site for the reports. Report Server administrators have the same capabilities as the end users, however they can manage report execution, report history and security as well.SQL Server Management StudioSQL Server Management Studio provides administrative capabilities for the report server. Within the Reporting Services server type, a report server administrator can create shared schedules, create system and item-level security roles and view the jobs that are running on the report server.You can also manage the report server databases within the database engine, including backing up the database.Command prompt utilitiesThere are command prompt utilities that can be used to manage Reporting Services: RSConfig.exe. can be used to perform post installation tasks on the report server. The options available within RSConfig.exe are available within the Reporting Services Configuration Manager. RSKeymgmt.exe. allows you to back up and restore the report server encryption keys. This feature is also available within the Reporting Services Configuration Manager. Encryption keys are used to protect the sensitive data that is stored in the report server, such as data source credentials and passwords. This uses a symmetric key to encrypt and decrypt the sensitive data. The report server service is used to create and unlock the key. If you change the identity of the Report Server service or if you migrate the report server to a new computer, the private key of the Report Server service will no longer be able to unlock the symmetric key. To restore access to the symmetric key, the symmetric key must be re-encrypted by using the private key of the new Report Server service identity. Restoring the symmetric key is the process by which the re-encryption occurs. Note: A word from the classroom: a common mistake that is made by organizations is that they do not back up the report server encryption keys. This has caused inconvenience for some of my customers. RS Utility. The RS Utility is a script host that you can use to perform scripted operations. Use this tool to run Microsoft Visual Basic scripts that copy data between report server databases, publish reports, create items in a report server database and more.

Use the Report WizardReporting Services 2008 provides a wizard that will enable you to create simple reports. On completing the wizard, the report is readily available to be deployed to the report server. Alternatively, you can use the report output from the wizard as the basis to edit the report to provide additional functionality that may not be available in the wizard.The wizard will present you with options to define a data source and data set. You can select either the table or the matrix data region within the wizard. Therefore, if you wish to create a chart or gauge report, the Report Wizard is not appropriate.Beyond these initial options, you then specify the columns to be included within the data region and define the formatting of the report that is similar to the Report Wizard in Microsoft Access.

Business Practices

Set a clear vision for the purpose and role of BI for your organization. Understand the reporting requirements of the users within the business. Document the data sources that will be used for the BI solution. Consider creating a data warehouse to centrally store all the data sources. Consider installing BI components on separate servers to reduce the loads on a single server. Make use of Business Intelligence Development Studio solutions to organise the work that will create the BI solution. Use SSIS for the controlled movement of source data into the data warehouse. Use SSAS to centrally store reporting data for improved reporting data access. Use SSRS to the centrally manage and distribute reports for the organization. Consider managing the creation of the BI solution as a business project.

Lab: Introducing Business Intelligence in Microsoft SQL Server 2008Lab OverviewLab Introduction The purpose of this lab is to install BI components in SQL Server 2008 for a company named Adventure Works. On completion of the installation, you will set up a BI solution that will include an Integration Services, Analysis Services and Reporting Services project. You will use the Import and Export wizard to transfer data and create a package that will then be imported into the Integration Services project. Finally, you will use the Reporting Services wizard to create a simple report.Lab ObjectivesAt the end of this lab, you will be able to:1. Install BI components in SQL Server 2008.2. Create a BI solution in SQL Server 2008.3. Use the Import and Export wizard to create an SSIS package.4. Use the Reporting Services wizard to create a simple report.

ScenarioYou are a database administrator for Adventure Works, a manufacturing company that sells bicycle and bicycle components through the Internet and a reseller distribution network. The senior management has identified the need to implement BI within the company. It has been decided that SQL Server 2008 will be used to facilitate this requirement.The first step is to install the BI components. A SQL Server named MIAMI already exists on the network that has the database engine installed. The requirement is to add Analysis Services, Integration Services and Reporting Services to this existing instance. On completion of the installation, a script has been provided that will create the tables required to build a development data warehouse named AdventureworksDWDev.You will then create a BI solution named AdventureWorksBI which will contain three projectsan Analysis Services project named AW_SSAS, an Analysis Services project named AW_SSIS and a Reporting Services project named AW_SSRS.To verify that the BI components are operational, you will use the Import and Export wizard to export the Firstname, Lastname and EmailAddress of records in the Person.Contact table to a text file named Employees.txt stored in the D:\Labfiles\Starter folder. You should use the Import and Export wizard to create an SSIS package that can be imported into the AW_SSIS project. You will create a simple report by using the Report Wizard in the AW_SSRS project.

Exercise InformationExercise 1: Installing Business Intelligence Components in SQL Server 2008In this exercise, you will install Analysis Services, Integration Services and Reporting Services. You will verify that these components of the SQL Server installation has completed successfully. You will then review and run a Transact-SQL script file in SQL Server Management Studio to create a database named AdventureWorksDWDev that will create a simple data warehouse for testing purposes.Exercise 2: Creating a Business Intelligence Solution in SQL Server 2008In this exercise, you will use Business Intelligence Development Studio to create a BI solution named AdventureWorksBI. The solution will comprise of three projectsan Analysis Services project named AW_SSAS, an Integration Services project named AW_SSIS and a Reporting Services project named AW_SSRS.Exercise 3: Use the Import/Export Wizard to Create an SSIS PackageIn this exercise, you will use the Import and Export wizard to create a simple data transfer from tables in SQL Server including the Person.Contact to create a text file in the file system named Employees.txt located in D:\Labfiles\Starter. You will use the Import and Export wizard to save the work as an SSIS package named Customers. On completion of the wizard, you will verify that the text file has been created. You will also import the packaged saved in the Import and Export wizard into the AW_SSIS project.Exercise 4: Using the Report Wizard in SQL Server Reporting Services 2008In this exercise, you will use the Report Wizard to create a simple report. While using the wizard, you will be exposed to key components of a report including data sources, data sets and data regions. On completion of the Report Wizard, you will then preview the report in Business Intelligence Development Studio.

Lab Instructions: Introducing Business Intelligence in Microsoft SQL Server 2008Exercise 1: Installing Business Intelligence Components in SQL Server 2008Exercise OverviewIn this exercise, you will install SQL Server Analysis Services, Integration Services and Reporting Services. You will then verify that these components of the SQL Server installation has completed successfully. Task 1: You are logged on to MIAMI with the username student and password Pa$$w0rd. Proceed to the next task 1. Log on to the MIAMI server.1. To log on to the MIAMI server, press CTRL+ALT+DELETE.1. On the Login screen, click the Student icon.1. In the Password box, type Pa$$w0rd and then click the Forward button.

Task 2: Run SQL Server Setup1. Navigate to the SQL Server Installation.1. Run setup.exe.Task 3: Perform an installation of Business Intelligence components to an existing instance of SQL Server1. Perform a new stand-alone SQL Server installation.Task 4: Review and install the setup support files, and add new features to an existing instance of SQL Server 2008

1. Review the setup support rule and install the support files.Task 5: Select Analysis Services, Reporting Services and Integration Services features on the Feature Selection page to install Business Intelligence components in SQL Server 20081. Select the required features on the Feature Selection page.Task 6: Review the disk space requirements1. Review the disk space requirements.Task 7: Specify the Server configuration1. Configure the Service Account for the SQL Server Analysis Services, SQL Server Reporting Services and SQL Server Integration Services to all use the MI4SQLS3rv1ce account.1. Confirm the collation settings for the SQL Server Analysis Services.Task 8: Specify which user has administrative permissions for Analysis Services1. Configure Analysis Services to include MIAMI\Student as an administrator.Task 9: Configure Reporting Services to Install, but do not configure the report server1. Configure Reporting Services to Install, but do not configure the report server.Task 10: Review the installation rules and install SQL Server1. Review the installation rules and then install SQL Server.Task 11: Connect to the SQL Server Integration Services, SQL Server Analysis Services and SQL Server Reporting Services in SQL Server Management Studio 1. Open the Microsoft SQL Server Management Studio console and connect to SQL Server Integration Services.1. Connect to SQL Server Analysis Services in Microsoft SQL Server Management Studio.1. Connect to SQL Server Reporting Services in Microsoft SQL Server Management Studio.Task 12: Configure SQL Server Reporting Services to create the Report Server databases on the MIAMI server and create the Report Manager Web site on the MIAMI server 1. Open the Reporting Services Configuration Manager and connect to the MSSQLSERVER instance on the MIAMI server.1. Set the Web Service URL to ReportServer.1. Set the Database to ReportServer.1. Ensure the Report Manager URL virtual directory is set to Reports.Task 13: Verify that Reporting Services has been installed 1. Log on to the MIAMI server.1. Open the Microsoft SQL Server Management Studio console and connect to the Database Engine.1. In the Microsoft SQL Server Management Studio console connect to SQL Server Reporting Services.Task 14: You have completed all tasks in this exercise1. A successful completion of this exercise results in the following outcomes:1. You have installed SQL Server Integration Services, SQL Server Analysis Services and SQL Server Reporting Services.1. You have configured SQL Server Reporting Services using Reporting Services Configuration Manager.1. You can connect successfully to SQL Server Integration Services, SQL Server Analysis Services and SQL Server Reporting Services.

Exercise 2: Creating a Business Intelligence Solution in Microsoft SQL Server 2008Exercise OverviewIn this exercise, you will review and run Transact-SQL script files in SQL Server Management Studio to create a database named AdventureWorksDWDev that will create a simple data warehouse for testing purposes. You will then use Business Intelligence Development Studio to create a Business Intelligence solution named AdventureWorksBI. The solution will then comprise of three projectsan Analysis Services project named AW_SSAS, an Integration Services project named AW_SSIS and a Reporting Services project named AW_SSRS.Task 1: Open SQL Server Management Studio and open the SQL Server Solution file AW2008DWDev solution located in the D:\Labfiles\Starter\AW2008DWDev folder1. Open the Microsoft SQL Server Management Studio console and connect to the SQL Server Database Engine.1. Open the AW2008DWDev solution file in the D:\Labfiles\Starter\AW2008DWDev folder.Task 2: Create a database named AdventureWorksDWDev using the CreateAWDWDevDB.sql in the AW2008DWDev solution1. In the Microsoft SQL Server Management Studio, open the CreateAWDWDevDB.