tag:blogger.com,1999:blog-30661081088296961512024-03-12T19:41:38.369-07:00Josh's StuffJosh Robinsonhttp://www.blogger.com/profile/13830271650512517977noreply@blogger.comBlogger57125tag:blogger.com,1999:blog-3066108108829696151.post-31990776403128066142012-07-18T13:27:00.001-07:002012-07-18T13:27:04.122-07:00SharePoint 2013 Configuration Wizard Error<p>While deploying the SharePoint 2013 preview on a VM, I ran into a small problem.  The install itself ran great, but I kept getting an error while running the SharePoint 2013 Products Configuration Wizard.  Essentially the error was indicating that a component didn’t support running under the NetworkService account in a Workgroup environment.</p> <p>A bit of searching and I found that a couple of other people have already run into this and solved it.  <a href="http://tomblog.insomniacminds.com/2012/07/17/sharepoint-2013-standalone-installation-issue/" target="_blank">Here is the best explanation I found</a>.  The error is for the AppFabric caching component.  Once I followed the steps Tom lays out in his workaround, I was able to re-run the Config Wizard and everything is back on track.</p> Josh Robinsonhttp://www.blogger.com/profile/13830271650512517977noreply@blogger.com0tag:blogger.com,1999:blog-3066108108829696151.post-80289048261425086092012-04-30T10:54:00.001-07:002012-04-30T10:54:04.877-07:00Editing Existing SSIS Package via EzAPI or Standard SSIS API Doesn’t Update Layout in BIDS<p align="left">As part of a project I am working on that requires me to programmatically alter existing packages, I ran into an annoyance (bug?) in SSIS that makes it hard to open packages after altering them.</p> <h3 align="left">The Problem</h3> <p align="left">During an exchange on Codeplex forums with Matt Masson from the SSIS team, he summarized the workflow as follows:</p> <ol> <li> <div align="left">Created the package in Visual Studio </div> </li> <li> <div align="left">Added stuff to it </div> </li> <li> <div align="left">Saved it out to disk </div> </li> <li> <div align="left">Opened and modified it with EzAPI </div> </li> </ol> <p align="left">When I follow this workflow to add 10 connection managers, sequenc<a href="http://lh6.ggpht.com/-MZLYjBZicjg/T57RrVp2bAI/AAAAAAAACM0/aUucDxp8jEc/s1600-h/image10.png"><img style="background-image: none; border-right-width: 0px; margin: 2px 0px 2px 10px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/-9RRfE-LxGEw/T57RtST_sjI/AAAAAAAACM8/nfJZEQtXXOM/image_thumb5.png?imgmax=800" width="246" height="156" /></a>e containers and execute package tasks programmatically to an existing package with nothing in the design surface, you will end up with a package that will show connection managers, but no sequence containers or execute package tasks.</p> <p align="left">As you can see in the screenshot to the right, there are a lot of connection managers visible, but no accompanying sequence container or execute package task.</p> <p align="left">If you loo<a href="http://lh6.ggpht.com/-aqdu1-tYgMQ/T57Rt8RstMI/AAAAAAAACNE/PDF25FoYTy0/s1600-h/image8.png"><img style="background-image: none; border-right-width: 0px; margin: 2px 10px 0px 0px; padding-left: 0px; padding-right: 0px; display: inline; float: left; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" align="left" src="http://lh4.ggpht.com/-gKUKXDWqFGI/T57Ru34aBRI/AAAAAAAACNM/j3zsX3IU1zE/image_thumb3.png?imgmax=800" width="244" height="217" /></a>k at the Package Explorer tab, you will see that all of the “missing” sequence containers and execute package tasks were actually created and do exist in the package. You can see this in the Package Explorer in the screenshot to the left.  Additionally, if you execute the package from BIDS, programmatically added components appear in the output, just no green boxes or row counts in the Control Flow or Data Flow.</p> <p align="left"> </p> <p align="left"> </p> <h3 align="left"> </h3> <h3 align="left">The Solution</h3> <p align="left">Based on Matt Masson’s response to my question <a href="http://sqlsrvintegrationsrv.codeplex.com/discussions/287414" target="_blank">posted in the discussion area</a> for EzAPI on Codeplex, I started digging into the XML layout code that is included at the end of the .dtsx package.  I found a <a href="http://blogs.msdn.com/b/sqlforum/archive/2011/02/28/faq-how-do-i-refresh-the-layout-information-of-a-sql-server-integration-services-ssis-package-that-is-modified-programmatically.aspx" target="_blank">blog post</a> from the SQL Server Forum Support team that actually identified the problem I described above, and a solution.  Essentially the problem is that when a package is created in BIDS, the layout is created and stored inside a tag called <DTS:PackageVariable>.  When you modify a package programatically, this code is not updated since it is “BIDS generated code”.  When you open a package in BIDS after it has been altered, BIDS sees the existing layout code and doesn’t bother to parse the rest of the package to check for any missing objects for which layout code has not yet been created.</p> <p align="left">This problem does not occur on packages that are created programmatically from scratch because BIDS is able to detect that no layout code exists and will generate all of it the first time the package is opened and perform an auto-layout.</p> <p align="left">I adapted the code found at the SQL Server Forum Support Team FAQ to EzAPI with no additional problems.  One thing that I found is that there can be multiple <DTS:PackageVariable> sections, and IDS will not generate layout code until all of them have been removed.  To that end, my code uses Regex to get a count of how many code blocks will need to be purged.  Here is a sample of my adapted code (original is at the blog post linked above):</p> <table border="1" width="100%" bgcolor="#ededed"><tbody> <tr> <td> <pre style="width: 580px; height: 100%" class="code"><span style="color: green">//Save the package object to XML<br /></span><span style="color: blue">string </span>strXML = <span style="color: blue">null</span>;<br />strXML = TestPackage.SaveToXML();<br /><br /><span style="color: green">//Count instances of existing SSIS layout code in package.<br /></span><span style="color: blue">int </span>LayoutCount = <span style="color: #2b91af">Regex</span>.Matches(strXML, <span style="color: #a31515">"<DTS:PackageVariable>"</span>).Count;<br /><br /><span style="color: green">//Remove the layout information.<br /></span><span style="color: blue">for </span>(<span style="color: blue">int </span>i = 0; i < LayoutCount; i++)<br />{<br /> strXML = strXML.Remove(strXML.IndexOf(<span style="color: #a31515">"<DTS:PackageVariable>"</span>), strXML.IndexOf(<span style="color: #a31515">"</DTS:PackageVariable>"</span>) - strXML.IndexOf(<span style="color: #a31515">"<DTS:PackageVariable>"</span>) + 22);<br />}</pre><br /> </td><br /> </tr><br /> </tbody></table><br /><br /><p>Based on comments that Matt made, I am hopeful that this has been fixed in SQL 2012, but the problem does exist in 2005, 2008 and 2008 R2.  If I discover any further useful information, I will update this blog post, but at a high level I think that I have covered the problem and solution.</p> Josh Robinsonhttp://www.blogger.com/profile/13830271650512517977noreply@blogger.com0tag:blogger.com,1999:blog-3066108108829696151.post-80837957513640819222012-04-30T10:52:00.001-07:002012-04-30T10:52:50.812-07:00Developing Microsoft SSIS packages programmatically with EZAPI<p>I recently started working on a task that required me to dig into creating SQL Server Integration Services packages programmatically.  There is not a lot of info out there on this, so thought it might be beneficial for me to blog a bit as I go in case other benefit from this.</p> <p>Relatively early on in my investigation I found that the internal SSIS test team at Microsoft has created and released a second level API for SSIS called EzAPI that sits on top of the native SSIS API.  Using EzAPI, you can create packages and package objects in only a couple lines of simple code, vs. trying to decipher the somewhat esoteric COM wrapper APIs for SSIS.</p> <p>You can read about EzAPI on the SSIS Team Blog <a href="http://blogs.msdn.com/b/mattm/archive/2008/12/30/ezapi-alternative-package-creation-api.aspx" target="_blank">here</a>.</p> <p>An update was released in late 2010, which you can read about <a href="http://blogs.msdn.com/b/mattm/archive/2010/12/12/ezapi-update.aspx" target="_blank">here</a>.  This update added a lot of additional components to the API.</p> <p>You can download it <a href="http://www.codeplex.com/SQLSrvIntegrationSrv/Release/ProjectReleases.aspx?ReleaseId=21238" target="_blank">here</a> (including source code and samples).</p> <p>The objects that are supported are as follows:</p> <h5>Tasks and Containers</h5> <ul> <li>For Loop container </li> <li>DataFlow Task </li> <li>Execute Package Task </li> <li>ActiveX Script Task </li> </ul> <h5>DataFlow Components</h5> <ul> <li>OLEDB Source </li> <li>OLEDB Destination </li> <li>FlatFile Source </li> <li>FlatFile Destination </li> <li>ADO.Net Source </li> <li>ADO.Net Destination </li> <li>Multicast Transform </li> <li>Derived Column Transform </li> <li>Sort Transform </li> <li>OLEDB command Transform </li> <li>Lookup Transform </li> <li>Cache Transform </li> <li>Data Convert Transform </li> <li>Aggregate Transform </li> </ul> <h5>Connection Managers</h5> <ul> <li>OLEDB Connection manager (including specific versions for SQL Server, Oracle, DB2) </li> <li>FILE connection manager </li> <li>FLATFILE connection manager </li> <li>CACHE connection manager </li> <li>ADO.NET connection manager </li> </ul> <p><strong>ADDED IN DECEMBER 2010 UPDATE</strong></p> <ul> <li>Sequence container </li> <li>For each loop container </li> <li>Transfer database task </li> <li>Execute process task </li> <li>File system task </li> <li>Execute SQL task </li> <li>Excel source adapter </li> <li>Excel destination adapter </li> <li>Union all transform </li> <li>Merge & Merge join transform </li> <li>Conditional split transform </li> <li>SCD transform </li> </ul> Josh Robinsonhttp://www.blogger.com/profile/13830271650512517977noreply@blogger.com0tag:blogger.com,1999:blog-3066108108829696151.post-75293371689243251912012-04-30T10:51:00.001-07:002012-04-30T10:51:41.694-07:00A Better Starting Point for .Net Console Applications<p align="left">Often when prototyping .Net applications, I end up starting with a console app (as things get more complicated or require interactivity, I move to Windows forms).  It takes about 1 minute to get up and running with a console app. . . unless you want to start passing fancy parameters and things like that.  It doesn’t take much more effort, but the point is that you don’t want to re-invent the console app code, you want to spend your time prototyping.</p> <p align="left">Sometimes your production application might require a console app.  In my case, one portion of the application I am working on will need to be implemented as a console app (for now) so that it can be executed from a SQL Server Agent job.  I want the console app to be robust and production-ready, very different from the prototype apps I cobble together in the span of a couple of minutes.</p> <p align="left"><a href="http://lh5.ggpht.com/-TpIsDTwRCl8/T57RKHdGkBI/AAAAAAAACMk/KYwjOXS2CEo/s1600-h/image2.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" align="right" src="http://lh3.ggpht.com/-8UpGdSfAURE/T57RKzZBXYI/AAAAAAAACMs/MuMMTdDJl1s/image_thumb.png?imgmax=800" width="244" height="124" /></a></p> <p align="left">In support of a more robust console application, I found a blog post with a great template put together by Alois Kraus.  There is a <a href="http://geekswithblogs.net/akraus1/archive/2010/11/11/142685.aspx" target="_blank">blog post covering the basics</a>, and the template can be <a href="http://visualstudiogallery.msdn.microsoft.com/51606523-019b-40d6-989a-88465dd6a6aa/?SRC=Home" target="_blank">downloaded</a> from the Visual Studio Gallery.</p> <p align="left">At a high level, the custom console template starts you off in a Cadillac instead of a bicycle when building a console application.  Right out of the gate you get a nice command line parser, help output, color console and much more robust error handling.  I doubt I will start with the basic console template again.</p> Josh Robinsonhttp://www.blogger.com/profile/13830271650512517977noreply@blogger.com0tag:blogger.com,1999:blog-3066108108829696151.post-79446232412941135012012-04-30T10:49:00.001-07:002012-04-30T10:57:53.706-07:00CSVed – The World’s Best (free) CSV Editor/Viewer<p><font size="3" face="Calibri">If you work with data, you won’t be able to avoid delimited files for very long.  Sometimes you have to open these files.  If you don’t have Excel installed, you might end up having to use trusty old Notepad, which is not ideal from either a formatting or large file size perspective.  Excel is better, but no matter how you try to gloss it over, Excel is not designed as a delimited file viewer.</font></p> <p><font size="3" face="Calibri">I have found that the right tool for the job in this case is a program that I have been using for years now called CSVed.  The newest version updates the UI, but there are tons of tools packed into this program and it can handle almost any file I have ever thrown at it, including 1GB+ files and delimited files that have bad data.  There is a unicode version of the program available as well should you need it.</font></p> <p><font size="3" face="Calibri">Here is a </font><a href="http://csved.sjfrancke.nl/" target="_blank"><font size="3" face="Calibri">link to the development homepage</font></a><font size="3" face="Calibri">, you can download the latest version from there.</font></p> <p><a href="http://key2consulting.com/Blogs/jrobinson/files/2011/01/SNAGHTMLd040ea.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto; padding-top: 0px" title="SNAGHTMLd040ea" border="0" alt="SNAGHTMLd040ea" src="http://key2consulting.com/Blogs/jrobinson/files/2011/01/SNAGHTMLd040ea_thumb.png" width="536" height="395" /></a></p> Josh Robinsonhttp://www.blogger.com/profile/13830271650512517977noreply@blogger.com1tag:blogger.com,1999:blog-3066108108829696151.post-66077224594396595302012-04-30T10:47:00.003-07:002012-04-30T10:56:48.513-07:00Complete SQL 2012 Demo Build Script<p>There is no need to download the <strong>28GB</strong> <a href="http://www.microsoft.com/download/en/details.aspx?id=29049" target="_blank">BI Image X</a> (which at the time of this writing hasn’t been updated to SQL 2012 RTM).  There are instructions on how to build an all-up SQL 2012 and SharePoint 2010 demo VM with instructions for configuring all of the latest SQL 2012 tools including DQS, MDM, PowerPivot for SharePoint and more.  <a href="http://social.technet.microsoft.com/wiki/contents/articles/3402.how-to-build-a-sql-server-2012-hyper-v-virtual-machine-kiwi-build.aspx" target="_blank">The full instructions are here</a>.  This is a great way to familiarize yourself with a full deployment of the latest BI software from Microsoft.</p> <p>Here’s the summary from the link above:</p> <blockquote> <p>This how-to article will guide you through the process of building a Hyper-V virtual machine with Microsoft SQL Server 2012, the latest Visual Studio 2010 development tools, SQL Server Data Tools (SSDT), and an assortment of other software products to create a test environment ready for testing and product demos.</p></blockquote> Josh Robinsonhttp://www.blogger.com/profile/13830271650512517977noreply@blogger.com3tag:blogger.com,1999:blog-3066108108829696151.post-14484210003737288762012-04-30T10:47:00.001-07:002012-04-30T10:54:48.774-07:00Fix for Excessive VMWare Disk Activity On Host After Suspend or Shutdown<p>I use VMware to run 64-bit guest OS’s for development and testing on my laptop.  (Windows 7 only allows 32-bit guests, Windows 8 incorporates Hyper-V so this limitation will go away soon).  One of the nice benefits of running a VM is that I can suspend and bring it back online in a matter of seconds each time I want to use the VM.  Unfortunately, this comes with a negative side effect – the drive on the host that I am storing the VMs on thrashes for up to 15 minutes after VMWare was closed.  At the end of the day, if I had just suspended my VM and tried to shut down the Windows 7 host OS, it would take 15 minutes to shut down the laptop.</p> <p>Fortunately I <a href="http://heavy-disk-io-after-shutdown-in-vmware-workstation" target="_blank">found the fix</a> on a SharePoint blog.  Essentially you have add a setting to the VMWare config file.  For VMWare 7, the file is located here: C:\ProgramData\VMware\VMware Workstation\config.ini.  The setting that you need to add is mainMem.useNamedFile = “false”.  One thing to be careful of is if you copy/paste from the web, the quotes on the “false” will be curly directional style rather than the straight kind that are required for the config file.</p> <p>One other setting that I changed was in the main preferences for VMWare under the Memory tab, I set the “How should the system allocate memory for virtual machines?’ to “Fit all virtual machine memory into reserved host RAM”.  I am able to do this since I have 16GB of RAM on my laptop, not sure if this is quite as feasible with less RAM.</p> Josh Robinsonhttp://www.blogger.com/profile/13830271650512517977noreply@blogger.com3tag:blogger.com,1999:blog-3066108108829696151.post-21873774485332437472012-04-30T10:46:00.003-07:002012-04-30T10:55:54.958-07:00Index of all SQL Server build numbers since 7.0 Beta<p align="left">Stumbled across <a href="http://sqlserverbuilds.blogspot.com/" target="_blank">a nice SQL Server build number site</a> a while back that has a comprehensive (I think?) list of every SQL Server build from the SQL 7 beta 3 up through SQL 2012 RC1 including every CU and hotfix along the way.  There is also a link to download the KB that corresponds to each build if appropriate.  If you happen to know of a build that isn’t listed, it looks like this site is somewhat crowd-sourced, so post the details in the comments and it will likely make it up to the main page.</p> <p align="left">(I<em>f you look in the comments, you can even find little “anonymous” nuggets, such as the following: “SQL2012 RTM is 11.0.2100.19”)</em></p> Josh Robinsonhttp://www.blogger.com/profile/13830271650512517977noreply@blogger.com0tag:blogger.com,1999:blog-3066108108829696151.post-71105810798709871252012-04-30T10:46:00.001-07:002012-04-30T10:46:04.706-07:00Cross posting company blogs<p>I have been posting mostly to my company’s blog site recently, but for some reason those posts are not appearing in search results so I am going to post some of those entries here in case anyone else will benefit from them.</p> Josh Robinsonhttp://www.blogger.com/profile/13830271650512517977noreply@blogger.com0tag:blogger.com,1999:blog-3066108108829696151.post-24591394249172723692010-01-21T11:01:00.001-08:002012-03-30T20:28:39.154-07:00How to fix SQL Server Error "Cannot Generate SSPI Context"<span style="font-size: 85%;"><span style="font-family: verdana;">I have gotten this error multiple times and finally found the fix. I always get it when I have a new server up on the network and try to connect back to it from SSMS on another machine. I can't tell you exactly what causes it, since I don't get it consistently across machines. The quick answer is: Change the account that SQL Server itself runs under to LocalSystem.</span><br /><span style="font-family: verdana;"></span><br /><span style="font-family: verdana;">*Edit* Removed link to SQL Server Pro that stopped working.</span></span>Josh Robinsonhttp://www.blogger.com/profile/13830271650512517977noreply@blogger.com7tag:blogger.com,1999:blog-3066108108829696151.post-53415493442293186512009-03-13T19:35:00.000-07:002009-03-13T19:46:47.889-07:00Vonage Part 1 - I am a skeptic<span class="Apple-style-span" style="font-family:verdana;"><span class="Apple-style-span" style="font-size: small;">I am an early adopter of almost anything technology related. However, it is 2009 and many of my friends have VoIP and I am still a skeptic. I recently upgraded from my puny DSL connection (6Mbps/384Kbps) to cable at 30Mbps/8Mbps. Because that breaks my bundle with at&t, I decided to drop my voice and long distance with them, and switch to Vonage. A lot of my friends have VoIP, and many of them actually have Vonage and despite all the HORRIBLE reviews on the Internet for Vonage, they all say that it is great, reliable, works as advertised.</span></span><div><span class="Apple-style-span" style="font-family:verdana;"><span class="Apple-style-span" style="font-size: small;"><br /></span></span></div><div><span class="Apple-style-span" style="font-family:verdana;"><span class="Apple-style-span" style="font-size: small;">So, tonight I picked up a $150 set of Vonage phones at Fry's, free after rebate. Apparently they let me listen to Vonage voicemail directly from the phones. Sounds good. I just signed up for the Vonage service. The first thing that annoyed me is that by buying the phones in the store (rebate or not), I am not able to enter a promo code that I have been planning to use. I get the first month free, but still have to pay activation. My promo would have saved me $15/month for the first three months and free activation ($30+). Total savings of $75 instead of the $25 I saved for the first month. So. . . I guess the great limited time offer I got on the phones wasn't as good as I thought since I am still paying $50 for them, essentially. Sneaky Vonage, very sneaky. And I don't like it. And I am going to tell all my friends that this is how my relationship with you started out. We'll see if it gets better.</span></span></div><div><span class="Apple-style-span" style="font-family:verdana;"><span class="Apple-style-span" style="font-size: small;"><br /></span></span></div><div><span class="Apple-style-span" style="font-family:verdana;"><span class="Apple-style-span" style="font-size: small;">Next thing I noticed: If I ever want to cancel service, there is a $39.99 cancellation fee. WHAT? Are you serious? So. . . anytime I want to cancel, I basically owe them for 1.7 extra months of service. THAT IS NOT COOL! Again, I feel like I am being tricked. Don't trick me, I will figure it out, and it will cause me to say bad things about you to everyone I know. I promise you that. I will forgive, but I will never forget.</span></span></div><div><span class="Apple-style-span" style="font-family:verdana;"><span class="Apple-style-span" style="font-size: small;"><br /></span></span></div><div><span class="Apple-style-span" style="font-family:verdana;"><span class="Apple-style-span" style="font-size: small;">Now, I haven't connected the service yet. But Vonage hasn't done a whole heck of a lot to make me comfortable yet with these sneaky little tricks that they are pulling. We shall see what happens, and you can believe that I plan to post it here on my blog, ESPECIALLY if it is not good.</span></span></div>Josh Robinsonhttp://www.blogger.com/profile/13830271650512517977noreply@blogger.com0tag:blogger.com,1999:blog-3066108108829696151.post-6437304023559146842008-08-14T18:45:00.001-07:002008-08-14T18:45:44.111-07:00You Can’t Specify the Outbound IP Address in ISA Server 2006<p></p> <p></p> <p></p> <p></p> <p>I just spent several hours attempting to set my outbound SMTP traffic from Exchange 2007 to use a specific IP on my ISA Server 2006 external NIC of the 5 available.  I wanted to isolate mail traffic to a specific IP address.  However, it turns out that you cannot send traffic over a specific IP in ISA 2006 for any protocol, unless you install another NIC with the IP address that you want to send on.  Here is a blurb that was posted by someone on Experts-Exchange after they spoke with Microsoft support on this issue (Not linking since you won’t be able to see the link):</p> <blockquote> <p>'No version of ISA can, to date, select the IP address that will be used for outbound NAT addressing - only inbound as I have mentioned before. This facility WILL be introduced in ISA 2008 either in the beta release or in the full version. Yes, you can use an additional NIC with a public IP and route mail through that connector but long term, this is not a scaleable option'.</p></blockquote> Josh Robinsonhttp://www.blogger.com/profile/13830271650512517977noreply@blogger.com0tag:blogger.com,1999:blog-3066108108829696151.post-76202635408146983152008-08-14T10:45:00.001-07:002008-08-14T10:45:54.094-07:00Virtual PC 2007 Laptop Install Mouse Hesitation Fix<p>If you are running Virtual PC 2007 on a laptop and are experience mouse stutter or hesitation (no matter how much memory or how powerful your laptop), there is a fix.  Here is a <a href="http://blogs.msdn.com/virtual_pc_guy/archive/2007/03/27/last-resort-for-performance-issues-with-virtual-pc-on-laptops.aspx" target="_blank">link to the explanation</a>, but the short version is find the options.xml file on your C:\ drive (in my case it is in c:\Users\Josh\AppData\Roaming\Microsoft\).  Add the following section immediately after the last </virtual_network> tag:</p> <p>   <virtual_machines> <br />    <enable_idle_thread type="boolean">true</enable_idle_thread> <br />  </virtual_machines></p> Josh Robinsonhttp://www.blogger.com/profile/13830271650512517977noreply@blogger.com3tag:blogger.com,1999:blog-3066108108829696151.post-47826431925967925312008-08-11T19:23:00.001-07:002008-08-11T19:24:15.440-07:00Links to Setting up Kerberos for SharePoint 2007<p>Posting this for my own future reference: <a title="http://bimvp.com/blogs/bsm/archive/2008/07/01/configuring-kerberos-for-sharepoint-2007.aspx" href="http://bimvp.com/blogs/bsm/archive/2008/07/01/configuring-kerberos-for-sharepoint-2007.aspx">http://bimvp.com/blogs/bsm/archive/2008/07/01/configuring-kerberos-for-sharepoint-2007.aspx</a></p> Josh Robinsonhttp://www.blogger.com/profile/13830271650512517977noreply@blogger.com0tag:blogger.com,1999:blog-3066108108829696151.post-2841737746781955822008-08-04T08:11:00.001-07:002008-08-04T08:11:26.361-07:00Useful Visio stencil set for SQL Server 2005<p>I am putting this here for my own future reference.  There is a useful set of Visio stencils for SQL Server 2005 at Visio Toolbox.  Here is a link to <a href="http://visiotoolbox.com/downloads.aspx?resourceid=1&aid=558" target="_blank">the page</a> that they are on, and a direct link to the <a href="http://visiotoolbox.com/downloads/Visio%20SQL%202005%20Stencils/MS%20Visio%20SQL%202005%20Stencils.zip" target="_blank">.zip file</a>.  These stencils appear to have actually been created by Microsoft directly, since the page is on a Microsoft website.</p> <p>There is also a page on the site that shows <a href="http://visiotoolbox.com/downloads.aspx?resourceid=2&aid=68" target="_blank">how to work with Visio and SQL Server</a>.  There are several videos and a couple of downloads.</p> Josh Robinsonhttp://www.blogger.com/profile/13830271650512517977noreply@blogger.com6tag:blogger.com,1999:blog-3066108108829696151.post-53489810998768850902008-07-29T13:56:00.001-07:002008-07-29T13:56:57.517-07:00Post SR1 Rollup Package 1 for Data Dude available<p> <br />If you are using Visual Studio 2005 Team Edition for Database Professionals (Data Dude), you might be surprised to know that there is a post-SR1 Rollup Package 1 update available.  It can be <a href="http://connect.microsoft.com/VisualStudio/Downloads/DownloadDetails.aspx?DownloadID=11229" target="_blank">download here</a>.  The list of fixes can be <a href="http://support.microsoft.com/default.aspx?scid=kb;EN-US;941278" target="_blank">found here</a>, and I have pasted it in below:</p> <p></p> <p></p> <p><a href="http://support.microsoft.com/default.aspx?scid=kb;EN-US;941278#"><img alt="" src="http://support.microsoft.com/library/images/support/kbgraphics/public/en-us/downarrow.gif" />Inconsistent revalidation of database object definitions when you close and then reopen a Visual Studio database project</a></p> <p><a href="http://support.microsoft.com/default.aspx?scid=kb;EN-US;941278#"><img alt="" src="http://support.microsoft.com/library/images/support/kbgraphics/public/en-us/downarrow.gif" />A database project cannot be deployed if the project contains interdependent inline functions</a></p> <p><a href="http://support.microsoft.com/default.aspx?scid=kb;EN-US;941278#"><img alt="" src="http://support.microsoft.com/library/images/support/kbgraphics/public/en-us/downarrow.gif" />If you use a four-part name to reference a table, you may receive an incorrect syntax exception</a></p> <p><a href="http://support.microsoft.com/default.aspx?scid=kb;EN-US;941278#"><img alt="" src="http://support.microsoft.com/library/images/support/kbgraphics/public/en-us/downarrow.gif" />Database Professional Interpreter does not handle the "sp_executesql" parameter correctly</a></p> <p><a href="http://support.microsoft.com/default.aspx?scid=kb;EN-US;941278#"><img alt="" src="http://support.microsoft.com/library/images/support/kbgraphics/public/en-us/downarrow.gif" />In a Visual Studio 2005 database, you cannot import a schema that was created by using the SQL Server 2000 compatibility mode</a></p> <p><a href="http://support.microsoft.com/default.aspx?scid=kb;EN-US;941278#"><img alt="" src="http://support.microsoft.com/library/images/support/kbgraphics/public/en-us/downarrow.gif" />Error message when you use Design-Time Extensibility (DTE) objects: "Do you want to reload"</a></p> <p><a href="http://support.microsoft.com/default.aspx?scid=kb;EN-US;941278#"><img alt="" src="http://support.microsoft.com/library/images/support/kbgraphics/public/en-us/downarrow.gif" />Cross-database references cause slow performance when you load a project</a></p> <p><a href="http://support.microsoft.com/default.aspx?scid=kb;EN-US;941278#"><img alt="" src="http://support.microsoft.com/library/images/support/kbgraphics/public/en-us/downarrow.gif" />Schema Compare crashes the Visual Studio IDE when databases contain different versions of assemblies</a></p> <p><a href="http://support.microsoft.com/default.aspx?scid=kb;EN-US;941278#"><img alt="" src="http://support.microsoft.com/library/images/support/kbgraphics/public/en-us/downarrow.gif" />Schema Compare does not correctly generate the update script for a stored procedure</a></p> <p><a href="http://support.microsoft.com/default.aspx?scid=kb;EN-US;941278#"><img alt="" src="http://support.microsoft.com/library/images/support/kbgraphics/public/en-us/downarrow.gif" />The schema script is not generated when triggers or views that have the same name exist</a></p> <p><a href="http://support.microsoft.com/default.aspx?scid=kb;EN-US;941278#"><img alt="" src="http://support.microsoft.com/library/images/support/kbgraphics/public/en-us/downarrow.gif" />Error message when you build a deployment script: "MSB4018: The 'SqlBuildTask' task failed unexpectedly"</a></p> <p><a href="http://support.microsoft.com/default.aspx?scid=kb;EN-US;941278#"><img alt="" src="http://support.microsoft.com/library/images/support/kbgraphics/public/en-us/downarrow.gif" />After Schema Compare obtains the latest project files from Source Control, Schema Compare indicates that databases are different</a></p> Josh Robinsonhttp://www.blogger.com/profile/13830271650512517977noreply@blogger.com0tag:blogger.com,1999:blog-3066108108829696151.post-30015492653695698152008-06-14T14:55:00.001-07:002008-06-14T14:55:23.666-07:00How to fix Hyper-V error “Failed to add device Microsoft Synthetic Ethernet Port”<p></p> <p></p> <p></p> <p></p> <p></p> <p></p> <p></p> <p></p> <p>Hyper-V Beta, and RC0 worked great.  I recently upgraded to RC1, and in the process of both trying to move a VHD from another server and trying to create a new VM from scratch I repeated received the following error:</p> <blockquote> <p><strong><font color="#ff0000">Failed to add device ‘Microsoft Synthetic Ethernet Port’</font></strong></p> </blockquote> <p>Here’s what I figured out: The Microsoft Forefront Client Security that was running on the host machine was interfering.  Once I excluded both .XML and .VHD files in Forefront, everything started working again.  That was an easy fix.</p> Josh Robinsonhttp://www.blogger.com/profile/13830271650512517977noreply@blogger.com36tag:blogger.com,1999:blog-3066108108829696151.post-29875917732058388852008-06-10T11:54:00.001-07:002008-06-10T11:54:39.603-07:00SQL Server 2008 RC0 is available for public download<p>Surprisingly, I haven’t heard much buzz around this, but SQL Server 2008 RC0 is now <a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=35F53843-03F7-4ED5-8142-24A4C024CA05&displaylang=en" target="_blank">available for public download at this link</a>.  I haven’t had a chance to look at it yet, but supposedly this is the final release before RTM later this year.</p> Josh Robinsonhttp://www.blogger.com/profile/13830271650512517977noreply@blogger.com0tag:blogger.com,1999:blog-3066108108829696151.post-78848950389198239062008-04-03T11:58:00.001-07:002008-04-03T11:58:30.233-07:00Designing SQL Server 2005 Analysis Services Cubes for Excel 2007 PivotTables<p>My buddy Wayne just brought to my attention a white paper that came out just a year ago from Microsoft that describes <a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=2D779CD5-EEB2-43E9-BDFA-641ED89EDB6C&displaylang=en" target="_blank">how to design SSAS 2005 cubes for use with Excel 2007</a>.  I'm posting it here for my own future reference.  Here is the description:</p> <blockquote> <h3>Overview</h3> </blockquote> <blockquote> <p><a name="Description"></a><em>Microsoft Office Excel 2007 takes advantage of most of the features in Microsoft SQL Server 2005 Analysis Services. To take full advantage of these features, it is important to keep in mind the end-user experience in Office Excel 2007 when you are designing cubes. <br />This document outlines how you can create a good end-user experience by optimizing the cube design for Office Excel 2007 PivotTable dynamic views.</em></p></blockquote> Josh Robinsonhttp://www.blogger.com/profile/13830271650512517977noreply@blogger.com0tag:blogger.com,1999:blog-3066108108829696151.post-75002578983042755612008-03-31T09:52:00.001-07:002008-03-31T09:52:50.784-07:00Proper Way to Redirect OWA Users via ISA Server 2006<p>Oops, an update to my last post about redirecting OWA users when deploying Exchange with ISA.  <a href="http://www.isaserver.org/tutorials/Redirecting-OWA-Users-Part1.html" target="_blank">Here is a blog detailing the "correct" way to do it</a>, and also how to redirect http to https, etc.</p> Josh Robinsonhttp://www.blogger.com/profile/13830271650512517977noreply@blogger.com2tag:blogger.com,1999:blog-3066108108829696151.post-69679806716639021422008-03-31T09:49:00.001-07:002008-03-31T09:54:06.651-07:00Redirecting OWA URL with ISA Server 2006 (Quick and Dirty way)<p>In setting up Exchange 2007 OWA through ISA Server 2006, I realized that it would be a lot easier to tell users to access it via <a href="http://owa.domain.com">http://owa.domain.com</a> as opposed to <a href="http://owa.domain.com/owa">http://owa.domain.com/owa</a> (which is repetitive if nothing else).</p> <p>Problem is, there is no obvious way to do this in ISA or Exchange.  Fortunately I am not the first one to have this problem, and it has already been solved.  The short version of the fix is to set OWA up 100% according to whatever book, article, white paper you are already following.  THEN, add another web access rule point to the same site, except this time set it to <strong>Deny</strong>.  You don't have to get too fancy on the various settings, authentication, etc. and just use the same listener that you created for OWA.</p> <p>Once the rule is created, make sure it is the one just above the main OWA access rule (I named the new one "Redirect OWA" so I would know what it was), and then go back in and on the deny page, set it to Redirect to your specific OWA subdirectory (<a href="http://owa.domain.com/owa">http://owa.domain.com/owa</a>).  It works great!</p> <p>Here are the two resources that I found to be most helpful:</p> <p><a href="http://blogs.isaserver.org/shinder/2006/09/12/clever-way-to-redirect-owa-users-who-cant-remember-to-include-exchange-in-the-path/" target="_blank">Thomas Shinder's Blog</a></p> <p><a href="http://blogs.technet.com/tristank/archive/2006/10/26/isa-server-2006-url-redirection-made-easy.aspx" target="_blank">Blog du Tristank</a> (look in the comments)</p> <p>**UPDATE** I have since found a blog that tells the correct way to do this (but the quick and dirty listed above still works fine).  <a href="http://joshrobi.blogspot.com/2008/03/proper-way-to-redirect-owa-users-via.html" target="_blank">Here is a link</a> to my blog post about the correct way.</p> Josh Robinsonhttp://www.blogger.com/profile/13830271650512517977noreply@blogger.com3tag:blogger.com,1999:blog-3066108108829696151.post-9946943310768869802008-03-20T11:16:00.001-07:002008-03-20T11:53:42.065-07:00SSIS Performance Counters don't work on x64 (out of the box)<p>If you want to spend some time tuning performance of your SSIS solution, it is likely that at some point you will leverage the SSIS performance counters found in the SQL Server:SSIS Pipeline object.  However, if you are using 64-bit SQL, you will not find the performance counters listed in PerfMon.  That is because here is a known bug in SQL Server 2005 x64, which you can read about in <a href="http://support.microsoft.com/kb/941154" target="_blank">KB 941154</a>.</p> <p><strong>What is the problem?  </strong>The short version is: When SQL is installed, it accidentally points to the \Program Files (x86)\ directory for the SSIS PerfMon counters, except that they are actually in the \Program Files\ directory.</p> <p><strong>How do I fix this?</strong>  Its easy, but requires a reboot.  Here are the instructions, straight from the KB linked above:</p> <p>To work around this problem, follow these steps: </p> <blockquote> <p>1. Click <strong>Start</strong>, click <strong>Run</strong>, type regedit, and then click <strong>OK</strong>.</p> <p>2. In Registry Editor, locate the following registry entry: </p> <p>HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\DTSPipeline\Performance\Library</p> <p>3.Double-click the <strong>Library</strong> registry entry.</p> <p>4.In the <strong>Edit String</strong> dialog box, type the following string value in the <strong>Value data</strong> box: </p> <p><var>DriveLetter</var>:\Program Files\Microsoft SQL Server\90\DTS\Binn\DTSPipelinePerf.dll</p> <p>5.Restart the computer.</p> </blockquote> <p><strong></strong></p> <p><strong><font color="#ff0000" size="3">UPDATE: This fix does not work as described in the KB</font></strong></p> <p>Even though there is a DTSPipelinePerf.dll file at the path given in KB 941154, simply pointing to it in the registry setting and rebooting does not make it visible.  I was able to get it to work using Plan B: change the path back to \Program Files (x86)\ and use the 32-bit version of PerfMon.</p> <p>There are two ways to use the 32-bit version of PerfMon:</p> <p>1.) Start | Run | mmc.exe /32 perfmon.msc</p> <p>2.) Execute c:\windows\sysWow64\Perfmon.exe</p> Josh Robinsonhttp://www.blogger.com/profile/13830271650512517977noreply@blogger.com1tag:blogger.com,1999:blog-3066108108829696151.post-64926876853335860002008-03-17T13:20:00.001-07:002008-03-17T13:20:51.992-07:00Programmatically executing SSIS packages<p>For a good summary of many different ways to run an SSIS package programmatically, as well as advantages and drawbacks of each, <a href="http://blogs.msdn.com/michen/archive/2007/03/22/running-ssis-package-programmatically.aspx" target="_blank">look here at Michael Entin's blog</a>.  There are some good things in the comments as well.  This will come in handy at some point, I am sure.</p> Josh Robinsonhttp://www.blogger.com/profile/13830271650512517977noreply@blogger.com0tag:blogger.com,1999:blog-3066108108829696151.post-49814355663100098912008-03-10T12:06:00.001-07:002008-03-10T12:06:23.279-07:00Setup and Administration FAQ's for TFS 2008<p>I found a good resource for FAQ's for TFS 2008 on the MSDN forums and am posting it here for future reference.  <a href="http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2776169&SiteID=1" target="_blank">Here is the link</a></p> Josh Robinsonhttp://www.blogger.com/profile/13830271650512517977noreply@blogger.com0tag:blogger.com,1999:blog-3066108108829696151.post-11643820833110529252008-03-05T14:35:00.001-08:002008-03-05T14:35:44.619-08:00Upgrading Existing SSIS Packages to TableDifference Component 2.0<p>I am an avid user of Alberto Ferrari's SQL Server Integration Services "Table Diff" component, which you can download from <a href="http://www.sqlbi.eu">http://www.sqlbi.eu</a>.  He recently released the new, improved version 2.0 of the component (the .dll still says that it is 1.0 though?) and I am upgrading a mid-size solution that makes heavy use of the prior version of TableDiff (1.x) to use the new component.  Here are my observations of both the upgrade and the new capabilities of the component.</p> <p>Here is a typical Type 1 style update package (in this case an im<a href="http://lh6.google.com/joshdrobinson/R88gO77_vYI/AAAAAAAAAVM/EUydcByjoPo/image%5B4%5D"><img style="border-right: 0px; border-top: 0px; margin: 5px 0px 0px; border-left: 0px; border-bottom: 0px" height="256" alt="image" src="http://lh6.google.com/joshdrobinson/R88gP77_vZI/AAAAAAAAAVU/pinwbJaQmkY/image_thumb%5B2%5D" width="292" align="right" border="0" /></a>port table, not a dimension) that uses TableDifference at its core to compare the new and old data flows and direct output accordingly.  Behind the scenes, I overwrote the TableDifference.dll file with the new one in both the .NET Assembly Cache and the \PipelineComponents directory.  When I opened the package, everything is working except the Update and Insert components have red X's.  These are easily fixed by simply double-clicking on each to open properties, accepting the new automatically matched column references and saving the package.  That's it, there is nothing else required to update your pacakages from TableDifference 1.x to the newly released 2.0.</p> Josh Robinsonhttp://www.blogger.com/profile/13830271650512517977noreply@blogger.com1