Showing posts with label SQL 2012. Show all posts
Showing posts with label SQL 2012. Show all posts

Friday, February 14, 2014

PASS BI Virtual Chapter Presentation February 2014

On Thursday, February 13th I had the pleasure to present my "Master the Date Dimension Like a Time Lord" presentation for the PASS Business Intelligence Virtual Chapter. Was a great group of attendees that had lots of questions, which hopefully I was able to answer to their satisfaction. Also had a few attendees that mentioned they were also big Doctor Who fans as well, which always makes the presentation fun to do when there are those that get the references to the show.

I have presented this session multiple times before, but I keep changing it as I go based on comments I receive. So, since the content changes, below is the link to download the latest version of the slides and the script to build the Data Dimension table as I demo in the presentation.

Master.zip

If you come up with something that you think is really cool added to this script, please send it to me and I can pass on your updates to others as I present this again in the future.

Thanks again to all of those that attended. If you missed the session there should be a recording of the session available soon, and as soon as I get word that it is posted I will update this post with that link.

3/1/2014 - Recording of the session has been posted on the PASS DW/BI VC YouTube page.

Tuesday, June 18, 2013

Midlands SQL Server User Group - June 2013 Monthly Meeting

Thank you to all of those that came to the Midlands SQL Server User Group meeting tonight in the Columbia, SC area. I presented my "Capture Change and Apply it With Change Data Capture & SSIS 2012" session and there were lots of good questions that I hope will lead to at least some of the attendees trying out CDC in their environments!

Below is the link that I promised during the session to download both the presentation slides and all of the scripts and code that I used in the demo.


The requirements for these samples to work are SQL Server 2012 Evaluation, Developer or Enterprise Editions, AdventureWorks2012 and AdventureWorks2012DW. Also as I mentioned in the session you must have full admin rights to the SQL Server instance that you are going to try and setup CDC on, so a local instance on your own workstation/VM is recommended.

Monday, June 3, 2013

SQLSaturday #200 - Philadelphia


Thanks to everyone that attended my "ABCs of CDC with SSIS 2012" at SQLSaturday #200. Got lots of great questions during the session and great reviews/feedback after the session as well. As promised, here is the link to download all of the materials from the session.



I had a fantastic time in Philly visiting with my Dad, who lives in the area and getting to do the tourist thing for a couple days. Even got to try the famous Pat's Cheesesteak (witout onions) and visit the Valley Forge National Park. Lots of fun and hoping that I don't wait another 15 years to get back to Philadelphia.

Thanks again to all of the organizers/sponsors/speakers/volunteers of the SQLSaturday #200 event, things ran very smooth and it was a good turnout. I was honored to be part of the bi-centennial event and to meet so many new people.

Friday, May 17, 2013

Denver SQL Server User Group - May 16, 2013

Last night I presented "Capture Change and Apply it with Change Data Capture and SSIS" at the Denver SQL Server User Group meeting as a representative of our sponsor for May, Pragmatic Works. Session went well, got some really good questions and comments to make the session even better which I will be working on before I present it again at the Midlands SQL Server User Group next month!

For those that want to use all of my sample code from the presentation, feel free to download it from the embedded link below and try it out on your own computer. The requirements for these samples to work are SQL Server 2012 Evaluation, Developer or Enterprise Editions, AdventureWorks2012 and AdventureWorks2012DW. Also as I mentioned in the session you must have full admin rights to the SQL Server instance that you are going to try and setup CDC on, so a local instance on your own workstation/VM is recommended.

Thanks again to all of those that attended the Denver SQL Server User Group meeting last night!

Tuesday, May 7, 2013

ABCs of CDC with SSIS 2012 - Addendum

I have been presenting the "ABCs of CDC with SSIS 2012" session for a few months now at various User Groups and SQLSaturdays and I learn something new about CDC (Change Data Capture) and the other similar options available in SQL 2012 each time I present it. As I was searching for information the other day I discovered a feature that was delivered with the RTM (Release to Manufacture) version of SQL 2012 that I had not heard about before, Change Data Capture for Oracle by Attunity.

This feature is a way for SQL Server DBAs to get all of the benefits of CDC from Oracle databases. The executables for this feature are on the install media for SQL 2012 in the Tools\AttunityCDCOracle folder (available in both x64 and x86 versions). The 2 executables are AttunityOracleCdcDesigner.msi and AttunityOracleCdcService.msi. Both of these executables are installed on a Windows Server, not on the Oracle system itself (unless you are running Oracle on Windows). So the server that you are installing on needs to be able to connect to the Oracle database(s) that you are trying to capture data and changes on. The Service executable is the one that always runs on the Windows Server and pulls all of the changes from the Oracle database(s) to the Windows Server to be stored on a SQL Server instance in the same form that CDC on SQL Server stores changes. The Designer executable is the administration front-end for setting up the service, which will launch as an MMC (Microsoft Management Console) snap-in.

Once you have these changes in the SQL Server database, then you can use all of the same processes you use for SQL Server CDC data, including using the new CDC components in SSIS 2012.

For more details on getting this installed, this link will take you to the TechNet article covering this feature.

To see the applications in action, this link will take you to the video of a presentation done at PASS Summit 2011 by Matt Masson and representatives from Attunity (fast forward to around 10:50 to see this feature).

The best part of this is that since it is a built-in feature of SQL Server 2012, it's free to use with SQL Server 2012!

Tuesday, April 23, 2013

MSCA & MCSE

I wanted to put this post up earlier, but waited for official confirmation from Microsoft. Last Wednesday I took the 70-462 (Administering Microsoft SQL Server 2012 Databases) certification exam and passed it!

Those that know the new SQL Server 2012 certification setup are saying, "So what, you still have 1 more to pass before MCSA and 2 more after that for MCSE". Yes, that is correct, but thankfully I was able to take all 5 of the exams in the SQL Server 2012 MCSE Business Intelligence series when they were in beta form last Spring. After waiting a few months to get the results on those beta exams (when you take them in beta you don't get the immediate results like you do for normal exams, they have to manually graded and evaluated) I found out that I had passed 3 out of the 5: 70-463 (Implementing a Data Warehouse with Microsoft SQL Server 2012), 70-466 (Implementing Data Models and Reports with Microsoft SQL Server 2012), 70-467(Designing Business Intelligence Solutions with Microsoft SQL Server 2012). Ironically enough these are the last 3 exams in the series, not the first ones. I already passed 70-461 (Querying Microsoft SQL Server 2012) in March after a few attempts as well.

With that I got my confirmation on Saturday morning from Microsoft that I had achieved the requirements for the SQL Server 2012 MCSA (Microsoft Certified Solutions Associate) certification. While I was relieved to get that message, I immediately logged into the MCP (Microsoft Certified Professional) website to see if everything was there for MCSE (Microsoft Certified Solutions Expert) Business Intelligence as well. For some reason it was only showing the MCSA, not the MCSE. I was a bit surprised, but figured I would wait a couple of days to see what happened. Sure enough on Sunday morning I did get the message that I had the MCSE as well. Guess the MCP systems run a pass each night and can only pick up one of these certifications at a time.


For those of you out there that are also trying to get the new SQL Server 2012 certifications, keep pushing yourself to get them. For me getting these certifications is more of a personal goal, even though there are some benefits from Pragmatic Works as well. Hopefully you will also get the support your need. I have linked to each of the pages on the Microsoft site for the exams that I took. Microsoft has also published a great series of pages and videos on the Born to Learn 90 Days to MCSA series. If you are in the Denver area there is a Certification Study Group that meets every Thursday (except the 3rd Thursday of each month) at the Cherry Creek Presbyterian Church - Community Life Center (contact marketing at denversql dot org for more information).

If you have never taken a Microsoft certification exam before, I would encourage you to sign up to take one to get an idea of what they really are like, even if you really aren't ready. If you can sign up for one before May 31 there is a Second Shot deal going on, where you can get a voucher code that allows you to retake an exam that you didn't pass the first time again for free. Just make sure you request the voucher first and when you setup your exam appointment put that code into the voucher box on the registration form, then you will need to use that same voucher code again when you register to retake that same exam again. The Second Shot vouchers only work if you put it in the first time you take that specific exam.


This was my big goal for early 2013, so I'm glad to have that one off my back. I'm enjoying not worrying about studying for any other certifications right now, but I'm sure I'll find more to challenge myself with! I'm pushing myself to do more speaking engagements this year and so far it looks like it is paying off with 2 SQLSaturdays over the next 2 months (#215 in Jacksonville, FL & #200 in Philadelphia, PA). I'm planning on speaking at the Charlotte BI Group in August and I will be submitting for at least 3 other SQLSaturday's for September thru October. Plus, I did submit for PASS Summit as well, which hopefully I will get chosen for as well.

Good luck!

Wednesday, February 27, 2013

Building a Microsoft BI Demo Environment

I've been asked at multiple meetings in the last month what is the best way to build a Microsoft BI demo environment. There are a few ways that you can do this:

Excel 2013

If you have access to Excel 2013 (you can get the 60 day evaluation version here), both PowerPivot and Power View are included as add-ins that don't require additional downloads (or SharePoint), just activate them from the File menu, select Options.

Then select Add-Ins from the Options left navigation panel. In the Add-Ins panel change the Manage dropdown at the bottom of the panel to COM Add-ins and click Go....

From the COM Add-Ins popup, check the boxes for Microsoft Office PowerPivot for Excel 2013 and Power View and then click OK to close the popup.

That should add the POWERPIVOT menu to your Excel 2013 menu bar and allow you to build PowerPivot workbooks.

To create Power View reports, just go to the Insert menu and click on the Power View button that should appear between PivotChart and Sparklines items in the ribbon.

With Excel 2013 you can create the PowerPivot/Power View workbook and save them as normal Excel workbooks without requiring SharePoint or other software on your computer.

Microsoft Virtual Labs

Microsoft has posted virtual labs that you access with an internet connection. All of these labs are provided free of charge, but there is a limit of time you can access each lab. This link will take you to a list of all available labs, or use this link to go right to the Power View lab or this link for the PowerPivot lab. There are also some TechNet virtual labs that you can access from this link as well.

Virtual Machine

The last and most complex to setup option is to build your own complete VM (or VMs). For this option you will have full control over the environment, but you will need to install and configure all of the software yourself. For a complete environment you will need to install Windows Server, SQL Server, SharePoint and Office. For help getting all of this installed and configured in the correct order, see this post put together by Microsoft. This guide is also available, but it is a bit dated since it is using SQL 2008R2 and SharePoint 2010. There is also a guide for specifically setting up SharePoint 2013 or SharePoint 2010. All of the software that is required for setting up this VM(s) is available in evaluation versions, just keep in mind that these versions will expire after a period of time (180 days max). The other thing to keep in mind is that you can buy a TechNet Professional annual subscription for $349 (renewal $249 after first year), you might also find this cheaper online. I recommend the TechNet Professional license over the other versions of TechNet because it does include license keys for all of the Enterprise server products that Microsoft offers.

Microsoft has also provided a version of a VM (previously referred to as the Microsoft All-Up BI Image) that you can download, this VM can be run in HyperV, VirtualBox or VMWare and is available at this location. Here is a review of this VM from Dan English. Microsoft has said that they are working on a new version of this image, but it is currently not available for download.


Personally I like the control of having everything in a VM that I have built, but it is a lot more work. The good thing is you will become very knowledgeable on how to install and configure all of this software (comes in very handy for Microsoft Certifications). I do buy a TechNet Professional license for my own use every year, so this is how I am able to license all of the Enterprise versions of the OS, SQL Server and even SharePoint. I also have Excel 2013 installed on the laptop itself as well, so that I can do a quick demo if necessary without spinning up a whole VM.


Tuesday, February 5, 2013

ABCs of CDC with SSIS 2012

Today I presented a session as part of Pragmatic Works free "Training on the T's", called "ABCs of CDC with SSIS 2012". The session was attended by 507 people and I received a lot of positive feedback (even though my voice as a bit rough because of a cold that I'm getting over).

This session focuses on defining what CDC (Change Data Capture) is for those that have heard of it and maybe even know that it has been offered with SQL Server 2008 and greater, but didn't really know how to use it. I also show how it is much easier to consume the CDC data now with SSIS 2012, since it now includes native components for CDC.

I have posted all of the slides and demo materials for this session to my SkyDrive for anyone to download and try out. The only thing that you will need to get this up and running in your environment is the AdventureWorksDW2012 database from CodePlex  and a SQL Server 2012 Enterprise/Developer/Evaluation Edition instance with the Database Engine and SSIS setup on (CDC only works on these editions of SQL Server). You will need to make sure you have full admin rights on this instance since the commands to setup CDC require that level of permission.

Below are a few of the most common questions that I received in the session with answers:

What is the performance impact for using CDC on a database/table?
This will vary based on the amount of changes that are being done to the database/table you are using CDC on, but Microsoft has optimized this process to use as little CPU/memory as possible. As with any process that you are going to add to a database you should test this in your own environment to know for sure what the impacts are. There is a great White Paper available on MSDN that covers many different scenarios and impacts of CDC on each.

How is CDC different from Replication, Mirroring or other Disaster Recovery/Backup Scenarios?
CDC is only going to track the changes to the data in the database/table that it is implemented on, so it will not be able to capture security changes or many other DDL changes done to a table (columns being added/removed are tracked, but with limits, see MSDN article). The main purpose behind CDC is for a quick way to track the changes to the data made over time and to periodically apply those changes to another database with the same schema. CDC is not meant to be used in place of Replication, Mirroring, Log Shipping or other disaster recovery type of scenarios. It is possible to use some of these other technologies with a database/table that has CDC enabled (see the "Change Data Capture and Other SQL Server Features" section of the MSDN article linked here). The most common use for CDC is where a source database needs to be loaded into a data warehouse or the staging area for a data warehouse and you want to get all of the data inserts, updates and deletes applied appropriately without using triggers or other custom code that will have to be maintained.

Can CDC be enabled on any database/table?
Yes it can, but it must be enabled at the database level first and then the table(s) in that database that you want to track with CDC have to be enabled separately. CDC is not on by default on any databases or tables when it is first setup. There are also some important column restrictions that are shown in the slides that I have attached above.

Is it possible to have the CDC track only Updates and Inserts and not Deletes (or any combination of these)?
The CDC stored procedures provided by Microsoft to enable CDC on the database and table do not have any options to ignore certain changes, so once it is enabled it will track all Inserts, Updates and Deletes done to that table. When you are creating the processes that use the CDC data to apply the changes to the destination database, you can choose to not implement any of the types of changes you don't want by using the _$operation column and looking for the appropriate value(s). If you are using SSIS 2012 and the new CDC Splitter, then you can choose not to implement any of the data flows off of it that you don't want to have processed.

Can the SSIS 2012 CDC components read the CDC source data from older versions of SQL Server?
Yes! The SSIS 2012 CDC components can connect to a SQL Server 2008/2008R2/2012 CDC enabled database/table and use that data to then update any SQL Server 2008/2008R2/2012 destination (along with the possibility of other databases that have the required ADO .NET data providers in SSIS 2012). See this link for details on using SSIS 2012 CDC with Oracle!

For more details on how CDC works, there are great resources available on MSDN.

If you have any other specific questions, please feel free to email me at the address in the slides attached above or send me a message on Twitter.

Monday, January 14, 2013

Balanced Data Distributor (BDD) for SSIS

I was just alerted to a Microsoft developed SSIS component that might help in situations where you need to load large amounts of data via SSIS and have some slow components in your Data Flow. The component is called Balanced Data Distributor or BDD and it is available for free from Microsoft for SQL Server 2008/2008R2/2012 in both 32bit and 64bit flavors.

This component was developed as a way to split your processing within an SSIS package to take advantage of today's multi-threaded servers and do it without requiring you to run multiple copies of the same packages in parallel or other more difficult solutions. The component is very easy to use, once installed you just drag in onto your Data Flow and hook it up to your input data, then you can pull off as many output flows from it as you want (Microsoft is currently not recommending more than 5, but you should test it in your environment to see what works best). From there your output flows should be the same to execute the slow moving processes and then they can each write directly to the same output or be merged back together using a Union All depending on your needs. Whatever the number of outputs you use the component will do the splitting by routing each pipeline buffer of data to the outputs in order. So, if you have 2 outputs setup, the first buffer goes to output 1 and the second buffer goes to output 2 and so on until the whole input file is complete.

Nice simple component that can have huge benefits if you are working with data that is just taking way too long to load in a single Data Flow. The downside is that you will need to duplicate the components in each of the output flows, so maintenance might be a mess later on since you will have make changes in each of the flows. Overall, though that issue is probably going to be out-weighted by the runtime improvements you should see in your packages. Also, keep in mind that this is going to be processing the data out of order, so if your process requires that this component won't help you unless you can work around that requirement.

Below are some links on this component:


Stay tuned for a more detailed post on using this as I do some experiments in my development environment to see just how this component works. I wanted to get this out there as a quick post since I already know of 2 clients that I have worked with recently that will probably benefit from using this component.

Wednesday, January 9, 2013

SQLSaturday #183 Albuquerque, NM

I'm starting off my 2013 speaking engagements at SQLSaturday #183 in Albuquerque  NM on February 9th. Currently my session, "SSIS 2012: More Than Just a Pretty UI" is scheduled for 4:15pm in Room 4. For those that can, please sign up on the SQLSaturday #183 site. The event is free to attend, but you will have to pay $10 if you want the lunch provided onsite. I have attended many SQLSaturday's over the last few years and have been honored to speak at many as well as organizing the Denver SQLSaturday in 2012 (stay tuned for more news on SQLSaturday #190 in Denver on 9/22) and I think this is some of THE BEST SQL training out there, done by people in the local community and from around the world. All of the speakers and volunteers put on these events in their free time with the help of sponsors to offset the costs.

If you have the time and you are in the Albuquerque, NM area, please register and attend SQLSaturday #183. If you are not in the Albuquerque area, please visit the main SQLSaturday website and see if there is an event in your area!

Tuesday, November 27, 2012

PASS Summit 2012 - Part 2

Sorry for the long delay in posting my summary of PASS Summit 2012 activities, but I needed to enjoy the Thanksgiving break off from work and travel.

I left off on my previous post on Monday afternoon before the Networking Event that took place around dinner time. The Network Event has been done for many years now by Steve Jones (b|t) and Andy Warren (b|t) before PASS Summit starts and is always a good event to meet lots of people. For me I had overdone it earlier in the day so I wasn't feeling very well, so sorry if you tried to meet with me and I didn't make it around to talk to you. Thankfully the issues I was having passed later in the evening, but I wasn't sure what was going on for awhile that evening.

Tuesday was the first day that I had Chapter Leader meetings to attend throughout the day. First was the meeting with all SQL Saturday organizers where we had many discussions on where we are with SQL Saturdays and where we want to take them in the future. Lots of very helpful information that we will be using for our next SQL Saturday on 9/21/2013! After lunch was the Chapter Leaders meeting where we split up into multiple different groups to talk about specific issues around starting/running/extending our User Groups. Again lots of great info that I will be looking forward to implementing in our group.

Tuesday evening was the Welcome Reception put on by PASS. As usual I was a little bit late getting to this event again this year, so I missed the First Timers entering the party (maybe next year I need to be a mentor to force myself to be there when this happens). The party was big as it has been over the past couple of years, was still able to get to the food and drink without too much waiting though. After meeting quite a few people I headed over with a few of the Pragmatic Works guys to the Volunteer Party at The Garage. Even though I had paid for the Exceptional DBA Awards put on by SQLServerCentral.com & Red Gate, I wanted to attend the Volunteer Party since this was the first year I have been invited to it (hate it when there are multiple parties going on at same time). Had a great time bowling and watching the election coverage.

Wednesday was finally the first official day of the Summit. It started off with Keynotes given by the current PASS President, Bill Graziano (b|t) and various Microsoft representatives. The biggest announcement that I picked up on are the changes to allow Multi-Dimensional cubes to be queried by DAX along with MDX, this puts Multi-Dimensional cubes on par with the newer Tabular models. Can't wait to see how this is fully implemented in vNext of SQL 2012 (this will not be included with SQL 2012 SP1 which was also announced). Also announced were changes to the ColumnStore Indexes to make the updateable and able to be clustered, should add some pretty cool new capabilities. The last thing that I remember from that Keynote was the Hekaton announcements, which is an in-memory OLTP solution that is supposed to add many X improvements in speed for most database solutions (assuming you have tons of memory on your servers). There were other announcements at the Thursday Keynote, but I didn't attend much of that one and heard from others that some of the demos were a bit long, lots of stuff around Big Data/Hadoop.

As with previous years I didn't attend a bunch of sessions during Summit, I end up spending a bunch of time networking and volunteering at the PASS Community Zone and spending some time at the Pragmatic Works booth. It was cool to see the Summit from the perspective of an exhibitor this year, that was the first time I got to see it that way. I did attend a session given by Mark Stacey (b|t) on using NASA data with PowerPivot, which was really cool because he built the whole session around how to get and use the free NASA and ESA data that is out there in demos. Being a Space Nut this was right up my alley and gave me some possible great ideas for future presentations (thanks Mark!). I also saw a great presentation on setting up Kerberos with SharePoint, which as anyone that has done knows this is a real pain point and Chuck Heinzelman (t) laid it out in 7 steps, should help if I do end up running into this in the future. I was able to get to one of the Lightning Talk sessions (yet again in way too small of a room again this year) and saw Bill Fellows (b|t), Jes Borland (b|t), Niko Neugebauer (b|t) and Oliver Engels (t) present on some great topics. As with most conferences with any BI sessions there was a BI Power Hour at Summit again this year and as with the previous ones this did not disappoint in presenting more solutions with Microsoft BI that you probably never would have thought it could do. Great job by Matt Masson (b|t), Chuck Heinzelman (t), Peter Myers, Matthew Roche (b|t), Sean Boon (b|t) and of course Patrick LeBlanc (b|t). I have been to at least 6 different BI Power Hours over the years at various conferences and they are still by far the funniest session to go to. The last session that I remember going to was on the details of the changes to allow for DAX on the Multi-Dimensional cubes, sounds like they did a good job adding these changes in the right way, including no translation to MDX, just adding DAX as a full featured query language against the MD cube.

As with every year there were tons of events in the evenings after the sessions stop, including the Exhibitor's Reception on Wednesday night that I had to try and work as "security" at the Pragmatic Works booth for the 200+ free books that Brian Knight (b|t), Adam Jorgensen (b|t), Mike Davis (b|t) and various other current/past Pragmatic Works employees were signing for free! Was a very popular thing at the reception and we were able to offer many more books to the attendees thanks to Wiley/Wrox being in the booth next to us and having boxes of these books there that they could allow us to give out. After we got rid of all the books at the reception, a few of us headed over to get setup at the Hard Rock Cafe for the Pragmatic Works, Microsoft and HP SQLKaraoke Event with a live band! Was an awesome party and the first time that I have seen karaoke done with a live band, which was really cool. Not sure how we are going to top that party next year in Charlotte, but I'm sure we will come up with something! :)  Thursday evening was the night that we set for the annual Colorado Dinner at PASS Summit. As in past years we had it at Elliot's Oyster House and as always they were very accommodating for a group of 20+ people that were all paying separately and ordering whatever they wanted. After the dinner we caught a cab over to the EMP (Experience Music Project) to catch the end of the Attendee party. I love this museum, in fact I have been there so many times over the years that it is one that I actually went ahead and became a yearly paying member of. I got to go down to the Science Fiction Museum that is in the lower 2 levels and enjoy all of the great exhibits from my favorite TV and movie memorabilia  There was even more SQLKaraoke with a live band there, guess that is the new trend for the Summit this year. I didn't make it to SQLKaraoke at Bush Gardens until Friday evening this year, just too much going on during the week.

And that is it for another Summit, it was a crazy week that went by far too fast. I had a great time meeting everyone for the first time and again and I'm already looking forward to 2013 in Charlotte!

Sunday, November 11, 2012

Midlands SQL PASS Chapter Meeting - 11/13/2012

Just a quick note that I will be going pretty much straight from PASS Summit 2012 in Seattle (stay tuned for detailed blog post on this) to Columbia, SC and presenting "SSIS 2012: More Than Just a Pretty UI" at the Midlands SQL PASS Chapter meeting on Tuesday, 11/13 at 5:30pm. If you are in the Columbia, SC area on Tuesday, 11/13, please stop by. Looking forward to presenting at another PASS SQL chapter next week!

For more details go to the Midlands SQL PASS Chapter website.

Monday, October 15, 2012

SQL Saturday #153 and PASS Summit 2012

For those in the Salt Lake City area this weekend, I will be speaking at the SQL Saturday event that will be held on Saturday, October 20 starting at 9am. I am currently scheduled to speak at 2:45pm in Room 206 on SSIS 2012. For those that are new to the SQL community, SQL Saturday's are free events held throughout the world where SQL Server Professionals share their experiences for a day of learning and networking. If you are in the SLC area this Saturday, you should come by! For more information and to register, please go to http://www.utahsqlsaturday.com. See you on Saturday!

I will also be attending PASS Summit 2012 in Seattle coming up on November 5-9. If have the means to go to PASS Summit, I would highly recommend it, it is the biggest SQL Server focused conference in the US and is a great place to meet SQL Server Professionals from all over the world. There are so many things to do and see both at the conference and after the conference. To get all of the details and register, go to http://www.sqlpass.org/summit. If you are from Colorado and traveling to PASS Summit 2012, we will be having our annual dinner at Elliot's Oyster House on Thursday, November 8th at 6:30pm. You will have to cover your own food and drink, but it is a great chance to meet with the SQL Professionals in the Colorado area outside of the conference. If you are interested, please register at http://cosummit2012dinner.eventbrite.com. Hope to see you there!

Friday, August 17, 2012

SQL Server 2012 Database Projects

After I got really confused on why some things were possible in different combinations of SQL Server 2012 and Visual Studio 2010 for SQL Server 2012 Database Projects I thought that I would get what I found out for others too that might be as confused as I was.

For those that might not know Microsoft introduced Database Projects awhile back, but they had some issues where the scripts created didn't always work and the schema comparisons didn't work well either. Being a BI Developer at that time I didn't spend much time looking at it, just heard what the other DB Developers were complaining about. Database Projects were meant to be a way for DB Developers and DBAs to help get the database "source code" into version control and make it easier to create scripts for deployment into multiple environments.

So, with SQL Server 2012 there were some changes made to the Database Projects and from what I have seen using it lately they are some very good improvements. But, the side effect is that there are 2 tools with a very similar name that are slightly different. The 2 tools are SQL Server Data Tools and Microsoft SQL Server Data Tools (wow big difference huh, one with Microsoft in front one without).

SQL Server Data Tools (SSDT)

For those that have installed any version of Microsoft SQL Server 2012 you know that you can install SQL Server Data Tools as part of the database instance install. This is the tool that uses the Visual Studio 2010 Shell and is the replacement for the Business Intelligence Development Studio (BIDS) in previous versions of SQL Server. Since they wanted to add more functionality then just BI development projects the tool needed to be renamed. SSDT still works with all of the BI projects as before.

Microsoft SQL Server Data Tools

This is the web install version that is available for anyone to download and install without any requirements for SQL Server 2012. As with SSDT this is built on the Visual Studio 2010 Shell. The difference with this version is that it only does the Database Project development (including SQL Azure). If you install only this version of SSDT you will NOT be able to do any of BI development unless you also have the SSDT from SQL Server 2012 installed.

Not sure why Microsoft went down this route and I find this very confusing and it gets even worse based on the version of Visual Studio 2010 that you have installed. If you want to do both BI Projects and Database Projects you will need to install the SSDT from the SQL Server 2012 install media AND the Microsoft SQL Server Data Tools from the web link above. But, even with this there are some differences in the projects! The pieces that I found which are missing are only in the Database Projects and are specific to building these projects using the new SQL Server Database Projects.

Below is what the SQL Server Database Project structure looks like when you create it using the web download of SSDT and no version of Visual Studio 2010 installed:



The screenshot below is against the exact same SQL 2012 database, the only difference is that I created this first as a new SQL Server Data-tier Application Project and then converted it to a SQL Server Database Project (you do this by right-clicking on project file in the Solution Explorer and selecting Convert to SQL Server Database Project...) on a machine that had Visual Studio 2010 Ultimate (Premium also works from what I found researching this) and the SSDT web install:



Notice the differences? There are some folders and scripts that are not being created by the "lite" version, like the Scripts folder with the Pre-Deployment/Post-Deployment files along with others. Based on what I have started to script I find the Pre/Post Deployment scripts to be very useful since they are pulled in automatically when you create the deployment scripts. I use the Post-Deployment script to setup SQL Agent jobs or anything else that can be done after the database has been created.

You maybe asking, can I just create that folder structure manually in the "lite" project and have it automatically pull that in? Microsoft has actually included all of the pre/post deployment scripting capabilities in the new SQL Server Data Projects and you can create them anywhere in your project by adding a new script item to your project and selecting the Pre-Deployment Script or Post-Deployment Script types that appear in the Add New Item dialog. While I don't understand why the initial creation of the projects has changed so that these folders/scripts are not automatically included at least they are both capable of doing it you just have to know how to add it.

I have verified that if you create the SQL Server Database Project as a converted SQL Server Data-tier Application Project in Visual Studio Ultimate/Premium and then open it in the "lite" version it does still see all the extra folders and it will script them correctly.

So this is what I have found after playing around for awhile and just about pulling out my hair when I couldn't figure out why one worked differently then the other. I believe that most of these differences comes from how the SQL Server Data-tier Application Projects (DAC) were setup and those differences in that project type are being carried over when it is converted to a SQL Server Database Project. I still find it very confusing that creating the project in one way and converting to the "new" way causes so many of these differences. Microsoft could have addressed this by making sure that the new SQL Server Database Projects for SQL Server 2012 have the exact same structure as the previous version, but it seems that they see each of these "new" project types as a chance to start over and do it differently.

Monday, May 21, 2012

SSIS 2012 Microsoft Connector for Oracle Upgrade Issues

For anyone that uses SSIS to get data from Oracle data sources you have probably had the pain of working with the components provided by Microsoft in the default installation of SSIS. You may have even downloaded the free Oracle tools for Windows that provide some more options for connecting to Oracle. Both of these choices are ok and may work fine in your environments, but for the best solution Microsoft worked with Attunity to make their connectors available for everyone to use without any additional licensing cost (FREE)! These connectors have been considered the best Oracle connectors that you can use with SSIS for quite awhile now. When SQL Server 2012 was released in April v2.0 of these connectors were also released, along with an updated v1.2 for older versions of SSIS.

Now for the twist in the story, what is the upgrade path if you are currently using Microsoft Connectors v1.1 for Oracle by Attunity (wow, that is a mouth full) and you want to upgrade your SSIS packages to SSIS 2012? Logic would tell you that you should be able to install SSIS 2012 and the Microsoft Connectors v2.0 for Oracle by Attunity and then just run the upgrade wizard in SSDT (SQL Server Data Tools) to get your packages up and running in SSIS 2012 and latest Oracle connector, right? Not so fast, unfortunately if you try this your package will be upgraded to SSIS 2012, but your Oracle components that you created using the older versions of the Attunity connectors will no longer work and you may not be able to edit or even delete them from your package! Below is a screenshot that shows what your component will look like after the upgrade:

You will also see errors, similar to this:
Error loading xxx.dtsx: The component is missing, not registered, not upgradeable, or missing required interfaces. The contact information for this component is "Oracle Source;Microsoft Connector for Oracle by Attunity; Attunity Ltd.; All Rights Reserved; http://www.attunity.com;2".

Error loading xxx.dtsx: The component metadata for "Oracle Source" could not be upgraded to the newer version of the componenet. The PerformUpgrade method failed.

You will not be able to edit the component to try and fix it and depending on how many of these components you are using in each package you may even see this error message when you try to delete the component from your package:


So, if you are unable to edit or even delete these invalid components from you package, what do you do? The only option available to you at this point is to edit the .dtsx file in a text editor so that you can see the XML, but if you go that route and you are not very familiar with XML structure or how the XML for SSIS is setup you might end up making a bigger mess.

Thankfully, after a week or so of fighting this same issue for a client that I'm currently working with we were able to get a solution from Microsoft Support that is very quick and will prevent you from losing any of your query, mapping or metadata! The fix is to use a text editor (I prefer Notepad++) and you can do a search and replace for the following GUID in your packages:
{4CAC6073-BCA7-430E-BD29-68A9F0012C6D}
and replace it with:
{CB67CD40-126C-4280-912D-2A625DFAFB66}
The first GUID should be unique to v1.1 of the connector, so if you have upgraded to v1.2 that GUID may be different.

Once I completed this on all 120+ packages that used the Oracle connector and reloaded the updated versions in SSDT all of the error messages went away and the data flows appeared correctly as shown below:

I am not sure if this will be a continuing issue with these connectors as new versions are released or if this is because of the major changes required going from previous versions of SSIS to SSIS 2012. Either way, I wanted to make sure this information was out there for those are upgrading to avoid some of the problems we had.

Friday, May 11, 2012

SSIS 2012 Presentations

I'm going to be getting back into presenting again! I used to present on a variety of topics at local User Groups in the past, but took an extended break when I got really busy at work and life. Things are finally settling down again and now I'm really looking forward to getting back into presenting on a more regular basis.

My first presentation will be a 30 minute presentation at this Thursday's Denver SQL Server User Group meeting. This presentation will be a preview of a presentation that I hope to present in many different venues on the new features in SSIS 2012. I came up with what I think is a very clever title for these presentations, "SSIS 2012: More Than Just a Pretty UI". I was looking for a title that was catchy and also captured what a lot of people have already heard about SSIS 2012. This will be a demo only presentation showing as many features as I can, and there probably are enough new features in SSIS alone that I could go for hours. I'll probably change around what I demo each time I present as I find out what items demo better then others. For those that have not presented, this is probably the most dangerous type of presentation to do, where you are doing as many live demos as you can.

I will also be doing the first full length version of this presentation on Saturday 5/19/2012 at Rocky Mountain Tech Trifecta! I'm really happy to be a speaker at this event, I have attended this event and even volunteered to help set it up in the past. This will be my first time presenting at this event, so I'm really looking forward to seeing everyone at this annual free training event that covers Development, SharePoint, Office and SQL Server among many other topics. Make sure you register at http://www.rmtechtrifecta.com/#register and come to my presentation!

Keep your eyes open and I may be presenting in an area near you!

Thursday, April 12, 2012

SQL Server 2012 Certifications

For the last 2 weeks I have been taking the new SQL Server 2012 beta exams, to see how things are going to be in the new exams. Since I had to accept an NDA to take the exams I cannot reveal the details of the exams. But I can present my general thoughts. There are quite few new "technologies" being used for some of the questions and I think that those people that have struggled answering certain types of questions will find the new setup much better. My focus was on all of the Business Intelligence exams. Below are the exams that I took (since starting this post all of the 71's have been changed to 70's, see further in this post):


The biggest take away I got from this process was to never schedule taking this many exams over only 7 weekdays. Also, make sure you do pay attention to the amount of time they give you to take each exam. I assumed the length of these exams would be similar to the previous SQL Server 2008 exams and found that there is a lot more reading involved in the new exams. This may change when they go out of beta.

---

Since I started writing this entry last week, Microsoft just released the official plan for the SQL Server  certifications. No longer are there the MCTS or MCITP certifications, the new titles are MCSA (Microsoft Certified Solutions Associate) and then MCSE (Microsoft Certified Solutions Expert). MCM (Microsoft Certified Master) has also been renamed to MCSM (Microsoft Certified Solutions Master). MCSE is the specialized level of certifications, everyone that wants to get a SQL Server MCSE will have to pass all of the SQL Server MCSA exams:

Once you get your SQL Server MCSA then you can work towards the MCSE: Data Platform or MCSE: Business Intelligence. In the end the MCSE certification will require you pass a total of 5 exams, but if you want to get both the SQL Server MCSE specialties you will only need to take a total of 7 exams.

There are also going to be a set of upgrade exams offered for existing MCTS and MCITP SQL Server 2008 certifications, if you go to this page, Microsoft Training has done a good job outlining the upgrade path.

Overall this looks like a good change to me, makes the specializations very clear and requires that everyone have the same basic set of skills. All of these new exams should be available in June, so start studying now! Good luck.

Monday, April 2, 2012

Getting Started with SQL Server 2012

Now that SQL Server 2012 is generally available more of you may be asking where you can get more information on all of the new features (and also all of the licensing changes).

The first stop is Microsoft’s main SQL page at http://www.microsoft.com/sql. The site has been updated with all of the resources on SQL Server 2012. A couple of other links that are also at the top of that page are worth highlighting as well.

Microsoft held a virtual launch event for SQL Server 2012 on 3/7/2012 and all of the resources from that event are available at: http://www.sqlserverlaunch.com/. There are over 30 pre-recorded sessions covering all of the new features in SQL Server 2012 along with videos of the keynotes presented by Ted Kummert and Quentin Clark of Microsoft.

Microsoft has also made a free ebook, Introducing Microsoft SQL Server 2012 by Ross Mistry and Stacia Misner. The ebook is available in PDF, EPUB and MOBI formats. For more details on the chapters of the book you can go to this blog post from Microsoft Press. This book is also available in hardcopy from O’Reilly.

Now that you have read all about SQL Server 2012, download the free evaluation version or get it from MSDN and TechNet now!

Wednesday, March 28, 2012

Installing PowerPivot and Power View

For those that want to have all of the newest SQL BI toys installed in a VM or on your laptop, I have found a couple of really good resources that I use each time I need to install them.

Step by step guide on installing PowerPivot for SharePoint on a single machine
Checklist: Reporting Services, Power View, and PowerPivot for SharePoint

The first link is from PowerPivot-info.com, which is a great resource for PowerPivot. The second is an MSDN article that provides the Microsoft perspective on getting it setup. Both of these resources were posted before SQL 2012 was RTM and have been updated since RTM, so they both work very smoothly.

For those that are new to PowerPivot and Power View and wondering why these tools require detailed installation resources is because both of these tools require SharePoint Server 2010 be installed. For those that have not installed SPS2010 yet, it can be challenging, especially to make sure you get the PowerPivot Gallery installed correctly. Thankfully Power View, the newest SQL BI tool on the block, works very well with PowerPivot, so once you have PowerPivot setup Power View is not too hard to add on.

Have fun and enjoy PowerPivot and Power View!