OK so I am aware that the SSIS service can be clustered relatively easily but my problem is a bit more complex I believe.
I have an Active\Active\Active 3 node cluster running Windows 2003 sp1 all running SSIS packages. What I need is a solution to having an instance fail to another node and still be able to run scheduled SSIS packages through the SQL Agent.
The solution that I have come up with is to have a single network share for all three instances of SSIS running locally on the individual nodes. I have removed the ability for SSIS to look in MSDB by altering the config file and reference only the Packages share on the network for accessability. They all share the same config file on the share as well. The share structure looks something like this simplified example.
\\server1\SSIS\Configuration
\\server1\SSIS\Packages
\\server1\SSIS\Packages\Instance1\
\\server1\SSIS\Packages\Instance2\
\\server1\SSIS\Packages\Instance3\
Once I change the registry to point to the config file all three instances can access the Instance1, 2 or 3 directories.
This works ok for the jobs, and I can access the stored packages under the file system folder only if I'm remotely connected to that particular physical server hosting the service or on the console. The problem I am having though is when users or I attempt to access the SSIS Engine through SSMS from our locale machines. It seems as though SSMS is having trouble with the passthrough of the directory information. On the share I obviously have permissiosn to access the directory structure (full control to be exact) because I can get to it when I access it from SSMS on the server.
This is the error I get...
Failed to retrieve data for this request. (Microsoft.SqlServer.SmoEnum)
For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&LinkId=20476
ADDITIONAL INFORMATION:
The storage location for the folder "File System\" cannot be accessed. (MsDtsSrvr)
DETAILS:
Failed to retrieve data for this request. (Microsoft.SqlServer.SmoEnum)
For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&LinkId=20476
Program Location:
at Microsoft.SqlServer.Management.Smo.Enumerator.Process(Object connectionInfo, Request request)
at Microsoft.SqlServer.Management.UI.VSIntegration.ObjectExplorer.NavigableItemBuilder.BuildDynamicItemWithQuery(IList nodes, INodeInformation source, INavigableItem sourceItem, String urnQuery, Boolean registerBuilder, Boolean registerBuiltItems)
at Microsoft.SqlServer.Management.UI.VSIntegration.ObjectExplorer.NavigableItemBuilder.BuildDynamicItem(IList nodes, INodeInformation source, INavigableItem sourceItem, IFilterProvider filter)
at Microsoft.SqlServer.Management.UI.VSIntegration.ObjectExplorer.NavigableItemBuilder.Build(INodeInformation source, INavigableItem sourceItem, IFilterProvider filter)
at Microsoft.SqlServer.Management.UI.VSIntegration.ObjectExplorer.NavigableItem.GetChildren()
at Microsoft.SqlServer.Management.UI.VSIntegration.ObjectExplorer.ExplorerHierarchyNode.BuildChildren()
===================================
The storage location for the folder "File System\" cannot be accessed. (MsDtsSrvr)
Program Location:
at Microsoft.SqlServer.Dts.Runtime.Application.GetDtsServerPackageInfos(String sPackageFolder, String sServerName)
at Microsoft.SqlServer.Dts.SmoEnum.PackageEnum.GetData(EnumResult erParent)
at Microsoft.SqlServer.Management.Smo.Environment.GetData()
at Microsoft.SqlServer.Management.Smo.Environment.GetData(Request req, Object ci)
at Microsoft.SqlServer.Management.Smo.Enumerator.GetData(Object connectionInfo, Request request)
at Microsoft.SqlServer.Management.Smo.Enumerator.Process(Object connectionInfo, Request request)
Any work around or suggestion would be appreciated.
Thanks,
Zach
Anyone have any thoughts on how to make this work?
Thanks for the look,
Zach
No comments:
Post a Comment