<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:atom="https://www.w3.org/2005/Atom" xmlns:sy="https://purl.org/rss/1.0/modules/syndication/" xmlns:dc="https://purl.org/dc/elements/1.1/" xmlns:content="https://purl.org/rss/1.0/modules/content/" xmlns:wfw="https://wellformedweb.org/CommentAPI/" xmlns:slash="https://purl.org/rss/1.0/modules/slash/"
  version="2.0">
  <channel>
    <title>muthar</title>
    <atom:link
      href="https://docs.microsoft.com/archive/blogs/muthar/feed.xml"
      rel="self"
      type="application/rss+xml" />
    <link>https://docs.microsoft.com/archive/blogs/muthar/feed.xml</link>
    <description />
    <lastBuildDate>Wed, 17 Apr 2019 04:12:04 GMT</lastBuildDate>
    <language>en-US</language>
    <sy:updatePeriod>hourly</sy:updatePeriod>
    <sy:updateFrequency>1</sy:updateFrequency>
    <item>
      <title>Setting up prerequisities for SSIS package to retrieve data from an excel workbook hosted on SharePoint Site or any WebDAV Share</title>
      <link>https://docs.microsoft.com/archive/blogs/muthar/setting-up-prerequisities-for-ssis-package-to-retrieve-data-from-an-excel-workbook-hosted-on-sharepoint-site-or-any-webdav-share</link>
      <pubDate>Mon, 06 Mar 2017 15:36:11 GMT</pubDate>
      <dc:creator><![CDATA[Muthukumaran A]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/muthar/?p=25</guid>
      <description><![CDATA[Scenario

Let's assume you run into a requirement for extracting data from an Excel workbook...]]></description>
      <content:encoded><![CDATA[<strong>Scenario</strong>

Let's assume you run into a requirement for extracting data from an Excel workbook hosted on a SharePoint URL using an SSIS package. It may be a bit tricky to implement if you aren't aware of the prerequisites needed to get this package running successfully.

<strong>Background</strong>

When an excel workbook or any document is hosted on SharePoint, it is accessible through a WebDav File share URL which makes it accessible over file system like any normal share. Now, you can use this file share as the source of your SSIS package. In my case the webdav share looks like \\sampleapplication\DavWWWRoot\sites\Documents\test.xls.

If you haven't setup the prerequisites, you may notice some of the known behaviours as described below :
<ol>
 	<li>The SSIS package fails on execution from SQL Server Data tools, but starts running successfully after accessing the excel file from filesystem using the share location(after entering the login prompt details)</li>
 	<li>After deploying the SSIS package to the SSISDB catalog, you may run into some of these errors as noted below :</li>
</ol>
<span style="text-decoration: underline">Error 1 :</span>

Description: SSIS Error Code DTS_E_OLEDBERROR.  An OLE DB error has occurred. Error code: 0x80004005.

An OLE DB record is available.  Source: "Microsoft JET Database Engine"  Hresult: 0x80004005  Description: "The Microsoft Jet database engine could not find the object '<span>\\sampleapplication\DavWWWRoot\sites\Documents\test.xls</span>'.  Make sure the object exists and that you spell its name and the path name correctly.".

<span style="text-decoration: underline">Error 2 :</span>

Error: SSIS Error Code DTS_E_OLEDBERROR.  An OLE DB error has occurred. Error code: 0x80004005.
An OLE DB record is available.  Source: "Microsoft Office Access Database Engine"  Hresult: 0x80004005  Description: "Failure creating file.".

<strong>Steps to Follow</strong>

For a successful setup of SSIS package for this scenario, You can start creating the SSIS package by following the general set of prerequisites that you would need for extracting data from any excel file :
<ol>
 	<li>Install ACE OLEDB provider(either 32 bit or 64 bit) on the machine where your SSIS package will run</li>
 	<li>Create a data flow task and use the Excel Source task for accessing the excel file</li>
 	<li>Setup the SSIS package to run on 32 bit run time/ 64 bit run time, depending on the ACE OLEDB provider that you have installed</li>
</ol>
Apart from the above prerequisites, you need to follow the below steps separately with respect to accessing the Excel from SharePoint/any other WebDAV share :
<ol>
 	<li>Install Web Client Service on the machine where SSIS package will run. This step is a prerequisite for you to be able to access documents over WebDAV share. In case you aren't able to access the share using file system, then you probably don't have this service installed. To verify this, you can navigate to Windows Services by entering "services.msc" in the Windows Run prompt and clicking enter. Look for the below service:</li>
</ol>
<a href="https://msdnshared.blob.core.windows.net/media/2017/03/WebClient.png"><img src="https://msdnshared.blob.core.windows.net/media/2017/03/WebClient-300x155.png" alt="webclient" width="300" height="155" class="alignnone wp-image-35" /></a>
<p style="text-align: left">           In case you aren't able to find this service, please refer the steps in this <a href="https://technet.microsoft.com/en-us/library/cc754314.aspx">link </a>to enable desktop experience which will thereby install this service on a Windows server machine</p>
         2. When you access the share via file system, you generally get a login prompt to authenticate your   access to the share. For the SSIS package to be able to handle this prompt successfully without any access denied errors, add a registry key <strong>AuthForwardServerList  </strong>with type as "multi string value" in the location HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters. The value of this key for my particular example will be the sharepoint url :  <strong>https://sampleapplication. </strong>For more information, you can refer the section <strong>Registry Information</strong> in the <a href="https://support.microsoft.com/en-us/help/943280/prompt-for-credentials-when-accessing-fqdn-sites-from-a-windows-vista-or-windows-7-computer">kb article</a>.

I hope this information helps you to avoid running into the problems that i did and enables you to quickly setup the SSIS package for such scenarios. In case you do have any questions, please drop a comment below and I will be glad to respond.

&nbsp;]]></content:encoded>
    </item>
    <item>
      <title>Proactive Caching - List all Objects in your SSAS Server using it</title>
      <link>https://docs.microsoft.com/archive/blogs/muthar/proactive-caching-list-all-objects-in-your-ssas-server-using-it</link>
      <pubDate>Sat, 23 Aug 2014 12:36:00 GMT</pubDate>
      <dc:creator><![CDATA[Muthukumaran A]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/muthar/2014/08/23/proactive-caching-list-all-objects-in-your-ssas-server-using-it/</guid>
      <description><![CDATA[Hello All,Like every problem that&nbsp;follows with a solution, today I am going to&nbsp;present a...]]></description>
      <content:encoded><![CDATA[<p>Hello All,<p>Like every problem that&nbsp;follows with a solution, today I am going to&nbsp;present a SSAS problem in hand&nbsp;and resources for you to solve it :</p><p><strong>Prerequisite information</strong></p><p>What is Proactive Caching?</p><p>Refer : <a href="https://technet.microsoft.com/en-us/library/ms174769(v=sql.110).aspx">https://technet.microsoft.com/en-us/library/ms174769(v=sql.110).aspx</a></p><p>Taking an extract out of&nbsp;the above article&nbsp;: "Proactive caching provides automatic MOLAP cache creation and management for OLAP objects. The cubes immediately incorporate changes that are made to the data in the database, based upon notifications received from the database. The goal of proactive caching is to provide the performance of traditional MOLAP, while retaining the immediacy and ease of management offered by ROLAP." .</p><p>In a simpler note, it allows your SSAS database to reflect the changes made in relational database, without manual processing from SSAS Server. The SSAS gets to know the changes with the help of a notification trace created on the SQL Server side.</p><p><strong>Problem</strong></p><p>I came across a scenario where our&nbsp;SSAS end user&nbsp;Mr.OLAP&nbsp;approached me and&nbsp;wanted to know which databases are using Proactive Caching feature&nbsp;in their SQL&nbsp;Analysis Services instance. Thinking about it myself,&nbsp;It dint look to be&nbsp;really a big deal, you just need to right click on either Partition or dimension and&nbsp;looks for its properties, select the Proactive Caching page and review if its enabled or not.&nbsp; Simple isn't it?</p><p>Of course, This approach&nbsp;works just fine if you have about few countable number of databases with less objects. But then boom, Mr.OLAP challenges us, saying he&nbsp;has about 50-100 databases in his SSAS instance. Would you really want to spend your day, just making noises with the right clicks and reviewing each and every object in your SSAS server? If I were you, I sure would doze off half way through.</p><p><strong>Solution</strong></p><p>Like they say, Script is the answer to any automation!&nbsp;But in this case, Unfortunately, My treasure hunt search for a script to solve our problem, wasn't available readily.</p><p>So, I&nbsp;decided to spend some&nbsp;time exploring AMO and PowerShell, and here I am sharing a simple to use PowerShell script to do exactly what I needed as a solution&nbsp;for our Mr.OLAP.</p><p>Find the powershell script, added as File Attachment in this blog.</p><p><strong>Syntax</strong></p><p>.GetProactiveCachingObjects.ps1 -serverName <em>server_name/instance_name</em></p><p><strong>Output</strong></p><p>The output of this script, will be generated in a file "ProactiveCachingObjects.txt" in the same directory, where you execute the script</p><p><strong>Demo</strong></p><p>SSAS Server used for demo, has below databases :</p><p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/58/24/0638.SSASServer.jpg" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-58-24/0638.SSASServer.jpg"><img src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/58/24/0638.SSASServer.jpg" original-url="https://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-58-24/0638.SSASServer.jpg" alt="" border="0"></a></p><p>Below is a sample demo of how this script needs to be run, along with how the output looks like :</p><p><span style="text-decoration: underline;">Sample Execution :</span></p><p>&nbsp;<a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/58/24/8726.SampleExecution.jpg" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-58-24/8726.SampleExecution.jpg"><img src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/58/24/8726.SampleExecution.jpg" original-url="https://blogs.msdn.com/resized-image.ashx/__size/550x200/__key/communityserver-blogs-components-weblogfiles/00-00-01-58-24/8726.SampleExecution.jpg" alt="" width="503" height="142" border="0"></a></p><p>&nbsp;(Text format below, in case the image isn't clear)</p><p>Windows PowerShell<br>Copyright (C) 2009 Microsoft Corporation. All rights reserved.</p><p>PS C:Usersmuthar&gt; .GetProactiveCachingObjects.ps1 -serverName muthar<br>Dumping Proactive Caching Objects of SSAS Server: muthar to ProactiveCachingObjects.txt in current directory<br>Currently Processing Database : AdventureWorks-Part I<br>Currently Processing Database : AdventureWorks-Part II<br>Processing Completed. Output Generated in File ProactiveCachingObjects.txt</p><p>&nbsp;</p><p><span style="text-decoration: underline;">Sample Output:</span></p><p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/58/24/8535.SampleOutput.jpg" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-58-24/8535.SampleOutput.jpg"><img src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/58/24/8535.SampleOutput.jpg" original-url="https://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-58-24/8535.SampleOutput.jpg" alt="" border="0"></a></p><p>Now, with this ready to use script, any end user/administrator/developer who is using the cube, will be able to answer the below questions :</p><p>1) Is my SSAS server using proactive caching?</p><p>2) Which databases or dimensions or partition, has this feature enabled?</p><p>I hope you find this script useful. Please drop a feedback below, if you use this script or if you have any suggestions!</p><p>&nbsp;</p><p>Thanks,</p><p><br>Muthukumaran, A</p><p>SQL Server&nbsp;BI Team&nbsp;(CSS)</p><p>Microsoft</p><p>&nbsp;</p><p>All postings are provided AS IS with no warranties, and confer no rights. Additionally, views expressed herein are my own and not those of my employer, Microsoft.</p><p>&nbsp;</p><p>&nbsp;</p><p>&nbsp;</p></p>
]]></content:encoded>
    </item>
  </channel>
</rss>