SQL Server 2012 ETL Framework Features in the New SSIS Project Deployment Model

When moving to SQL Server 2012, ETL developers would need to rethink custom ETL frameworks. If you embrace the new project deployment model, SQL Server 2012 offers a lot of plumbing features out of the box. Jen Underwood wrote a great SQL Server 2012 ETL Framework Features in the New SSIS Catalog article about what supported and what’s missing. I guess in most cases developers will find that they’ll need to implement incremental features on top of the Microsoft provided toolset that are not supported, such as restartability and execution control, while letting SSIS 2012 handle logging and performance reporting. Another great resource for getting started with the new project deployment model is the SSIS Logging in Denali blog by Jammie Thompson.

We ran into an interesting snag when validating and executing packages using the new project deployment model with Windows integrated security:

  1. Developer initiates the validation and execution in SSMS from his machine.
  2. Packages are deployed to a dedicated SQL Server and packages use Windows integrated security to connect to a SQL Server database on a different server.
  3. The source SQL Server database is on a different server.

As you’ve probably guessed it, this scenario requires configuring Kerberos delegation and registering SPNs for both the SQL Server hosting the SSIS packages and the SQL Server hosting the source database. That’s because validation and execution happen under your login and a double-hop is required to delegate your credentials to the source SQL Server. This can be avoided by using standard security (username and password) to establish connections from your packages to the source SQL Server. This wasn’t an option in our case because customer requirements dictated using Windows security to SQL Server.

I personally believe that the new Integration Services enhancements alone warrant upgrading to SQL Server 2012.

Reducing Analysis Services Index Processing Time

Scenario: Processing a 100 GB SSAS 2012 cube on a dedicated DELL PowerEdge server (128 GB RAM with 32 logical cores) reveals that 50% of the time is spent on processing the cube indexes and building aggregations with only 20% average CPU utilization and not even a small dent to the memory consumption. It was clear that SSAS doesn’t utilize the server resources and additional tuning is required to increase the parallelism of this phase.

Solution: Following Greg Galloway’s advice, we’ve changed the OLAP\Process\AggregationMemoryLimitMin to 2 and OLAP\Process\AggregationMemoryLimitMin to 3 to increase the parallelism of the index processing. This led to 25% reduction of the overall processing time and increased the CPU utilization to 70-80%. As to how we derived to these numbers, James Rogers has a great write-up. For the sake of preserving the precious formulas:

AggregationMemoryLimitMax=Ceiling(100/(<number processing cores>-2))

AggregationMemoryLimitMin=Ceiling(100/((<number processing cores>-2)*1.5))

In case you’re curious about what these setting do, the amount of memory needed to build an aggregation is unknown up front. The engine has to estimate it based of certain factors (estimated rows, granularity attributes, measures, etc.) – and it uses the AggregationMemoryLimitMin value to ensure that if it’s estimate is wrong, that at least there will be a sufficient buffer for underestimation. Similarly, if the estimate is wrong in the upward direction, it will use the AggregationMemoryLimitMax value to trim the max value downward.

Presenting at SQL Saturday

I have a talk “The Personal-Team-Organizational BI Conundrum” at SQL Saturday on April 14th at 9 AM.

Confused about the BI alphabetical soup? Not sure which one makes sense for your organization? Join this session to learn you can use the Microsoft BI platform to address various analytical needs. Discover how to implement the Personal-Team-Organizational continuum on a single platform. I’ll also discuss how Tabular and Multidimensional compare.

I hope you can make it. SQL Saturday is always a good show and this year we have great speakers and great BI content.

Report Builder Connectivity Issues

Issue: Previewing a Report Builder report connected to Analysis Services works in Report Designer but it fails in Report Builder 3.0 with the following error:

An existing connection was forcibly closed by the remote host

—————————-

Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host.

—————————-

Further, SQL Profiler reveals that an Anonymous connection is attempted to Analysis Services even though you use an embedded report data source (using a shared data source on the server will run the report on the server while with an embedded data source results the report runs on the client).

Resolution: Check if Report Builder is connected to a report server running in SharePoint mode by examining the status bar. If it is, click the Disconnect link. Report preview should now work.

3465.rb.png-550x0

Finding Source Column Names in PowerPivot

Question: How do I find the source column name in PowerPivot if I’ve renamed and moved columns around?

Answer: Assuming that the table doesn’t use a custom query to import data or it wasn’t derived from an Excel linked table or Windows Clipboard, you can use the table properties to find the source column name as follows:

  1. In the PowerPivot Window, click the table to select it.
  2. In the Design ribbon tab, click Table Properties.
  3. Make sure that the Column Names From radio button is set to Source.

032812_1329_FindSourceC1

VertiPaq Rebranded as xVelocity

Apparently, the name “VertiPaq” wasn’t catchy enough so Microsoft rebranded it as xVelocity (probably got tipped by Comcast). This is just a name change, no new features.

Glossary

xVelocity: The SQL Server family of technologies that utilize in-memory columnar storage to achieve very high-performance in query processing.

1.   xVelocity for Business Intelligence
Introduced as VertiPaq in the SQL Server 2008 R2 release, this in-memory columnar storage technology is the analytical engine that powered PowerPivot in that release, and is now in both PowerPivot and SQL Server Analysis Services in Tabular mode for the SQL Server 2012 release. xVelocity for BI consists of:

  • xVelocity In-memory Analytics Engine in SSAS 2012 Tabular Mode (used for enterprise-grade, scalable BI)
  • xVelocity In-memory Analytics Engine (previously called Vertipaq) in PowerPivot (used for self-service and team-oriented BI scenarios), available in PowerPivot for Excel and SharePoint Server

     

2.   xVelocity for Data Warehousing
Memory-optimized columnar (columnstore) index technology for use with SQL Server Data Warehouses. Data is stored in column-wise fashion that can be used to answer a query just like data in any other type of index. A columnstore index appears as an index on a table when examining catalog views or the Object Explorer in Management Studio. The query optimizer considers the columnstore index as a data source for accessing data just like it considers other indexes when creating a query plan.

Exceptions

In cases where the VertiPaq name appears in the product (VertiPaqpagingpolicy parameter, VertiPaq SE event, etc.), please continue to use VertiPaq, or xVelocity (VertiPaq) if necessary to avoid confusion.

BIDS Helper 1.6 Beta Released

Fellow MVPs have just released the latest public beta build of BIDS Helper, which should one of the first utilities you install after you install SQL Server on your machine. Besides fixes and updates, this release adds support for SQL Server 2012 and new features specific to Analysis Services Tabular.

This beta release is the first to support SQL Server 2012 (in addition to SQL Server 2005, 2008, and 2008 R2). Since it is marked as a beta release, we are looking for bug reports in the next few months as you use BIDS Helper on real projects. In addition to getting all existing BIDS Helperfunctionality working appropriately in SQL Server 2012 (SSDT), the following features are new.

  • Analysis Services Tabular
  • Smart Diff
  • Tabular Actions Editor
  • Tabular HideMemberIf
  • Tabular Pre-Build

Hiding SQL Server 2012 Reporting Services Extensions in SharePoint

To continue my Report Server Settings in SQL Server 2012 SharePoint Integration Mode blog, here is another example of how to use the new PowerShell-based configuration mechanism to hide a rendering extension. In this case, the script finds an SSRS application called SQL Server SSRS (replace with the name of your SSRS application from SharePoint Central Admin) and hides the XML renderer so the XML export option doesn’t appear in the Actions drop-down.

$apps = Get-SPRSServiceApplication  | where {$_.name -like “SQL Server SSRS”}

Set-SPRSExtension -identity $apps -ExtensionType “Render” -name “XML” -ExtensionAttributes “<Visible>False</Visible>”

Can’t Activate Reporting Services Service in SharePoint

I upgraded SQL Server 2012 from RC0 to RTM today on a SharePoint application server which was configured for Reporting Services integration. The upgrade went with no errors but I got this error when requesting reports:

  • The requested service, ‘http://amatltapp02:32843/1dacf49a2f7a4a6daa8db5768539893f/ReportingWebService.svc’ could not be activated. See the server’s diagnostic trace logs for more information.
    • The requested service, ‘http://amatltapp02:32843/1dacf49a2f7a4a6daa8db5768539893f/ReportingWebService.svc’ could not be activated. See the server’s diagnostic trace logs for more information.

    And, when browsing directly the service:

    After some digging out, we solved the issue by changing the Enable 32-Bit Applications property of the IIS application pool for the SharePoint web application to False.

    031512_1512_CantActivat1

Server Error in ‘/1dacf49a2f7a4a6daa8db5768539893f’ Application.


The farm is unavailable.

Presenting at SQL Server Special Ops Tour Atlanta

I’ve been honored to be selected by Microsoft to present the Self-service BI using PowerPivot and Power View session for the SQL Server Special Ops Tour in Atlanta on Monday, March 5th.

EVENT AGENDA
AgendaSpeaker
12:30pm – 1:30pmRegistration Opens
1:30pm – 2:30pmSQL Server 2012 – The New World of Data
Dandy Weyn – FTE – Sr. Tech Prod Mgr
2:30pm – 3:15pm  Introduction to SQL Server 2012 AlwaysON – Availability GroupsGeoff Hiten – MVP – Community
3:15pm – 3:30pm
Break – drinks and light snacks
3:30pm – 4:15pmSelf-Service BI using PowerPivot and Power View
Teo Lachev – MVP – Community
4:15pm – 4:45pmUnderstanding Microsoft Training & Certifications for Microsoft SQL Server 2012Bob Taylor – FTE – Principal PFE
4:45pm – 5:15pmIn Summary
All speakers

Join us to celebrate SQL Server 2012!