XML Task in SSIS 2012

Hi All,
I need help on one requirement in SSIS 2012, Please let me know for any suggestions or solution.
I have two XML files having different structure, I have to manipulate data by applying XSLT and creating single output xml. (Which needs to pass these 2 Xml files and 1 xslt to SSIS task)
In SSIS we have in-built XMLTask which will take XSLT operation of 1 xml and 1 xslt to deliver new output xml, Is there any way to pass 2 xml files and 1 xslt to get new output xml?
Thanks for any help

Hi visakh,
i have tried  as you said.but still i am not able to load multiple Xml files.
I'm having a problem using the Foreach Loop container that contains an XML Task followed by a data flow task. When I run my package in the debugger,
the XML Task fails with the following errors: [XML Task] Error: An error occurred with the following error message: "Data at the root level is invalid. Line 1, position 1.". [XML Task] Error: Property "New Source" has no source Xml Text; Xml Text is either
invalid, null or empty string.
The Foreach Loop container is a file enumerator. The XML Task validates XML files using an XSD file. The XML Task SourceType is a XSLTand the Source has the variable set by the Foreach Loop (index 0). I have an XML file which I know is valid. For some reason,
the XML Task Source is not referencing the variable, set by the Foreach loop.
If I use a file connection to the existing XML file, instead of using the variable, the XML Task validates the file successfully. I believe there might be a bug in the XML Task when a variable is specified. If I disable the task and let my data flow task run,
it has no problem importing each XML file, in the directory, using an XML Source that uses the Foreach loop variable for the Source. My data flow completes correctly.
Thanks

Similar Messages

  • Byte input to Webservice Task in SSIS 2012

    Hi,
    I have just created a new project in SSIS 2012 and I am using a webservice task in a package.
    I imported the WSDL file and I have several inputs to set to use it properly.
    I put variables on the 4 first inputs that are strings with success but I have a problem with the last one.
    The last one is called xmlData and is in "byte" type and I can not set it correctly.
    In the XSD file I have this definition: <xsd:element
    minOccurs="0" name="xmlData" nillable="true" type="xsd:base64Binary"
    />
    It is supposed to contain a XML file that I have to encode in base64 and then fill the xmlData with the binary value.
    To encode my XML file to base64 I use a C# task but I do not know how to declare the value and how to set it.
    I do it this way:
                FileStream myStream = new FileStream(@"H:\myXML.XML", FileMode.Open, FileAccess.Read); 
                BinaryReader reader = new BinaryReader(myStream); 
                byte[] fichierXML = new byte[reader.BaseStream.Length]; 
                for (int i = 0; i < reader.BaseStream.Length; i++) 
                    fichierXML[i] = reader.ReadByte();
                reader.Close(); 
                myStream.Close(); 
                string xmlAsString = EncodeBytesAsBase64(fichierXML);
                MessageBox.Show(xmlAsString);
                // Conversion de la String en byte[]
                byte[] xmlData = System.Text.Encoding.UTF8.GetBytes(xmlAsString);            
                Dts.Variables["User::monXmlData"].Value = xmlData;
    My variable User::monXmlData is an Object and there is no problem in execution.
    The C# script runs well and the webservice task too but I always get an error response for the webservice saying that my xmlData field is not correct.
    I think that my base64 encoding is correct because when I copy the result in my messagebox and paste in base64 decode on a free web decoder I get my original XML text.
    Is there someone who can help me please?

    Thanks to all that took some time to read me.
    I have finally found the solution.
    The Base64 encoding is not necessary. It is automatically done by the webservice when the request is sent.
    The important thing to remember is that when you have to send a "byte[]" variable, you have to use a "Object" variable as an imput for the webservice.

  • Web Service Task in SSIS 2012

    Hello,
    I have a web service task that worked fine prior to upgrading from SQL Server 2005, but in 2012 fails with an error saying the "wsdl file is invalid".  I am using the same wsdl file as I was using in 2005.  Connectivity tests for the
    web service connection manager in 2012 worked fine. Any ideas on why I would be getting a failed wsdl file when it worked ok on the 2005 platform?  Below is the specific error:
    [Web Service Task] Error: An error occurred with the following error message: "Microsoft.SqlServer.Dts.Tasks.WebServiceTask.WebserviceTaskException: Could not read the Web Services Description Language (WSDL) file. The input WSDL file is not valid.
    The following error occurred while reading the file. There is an error in XML document (3, 2)..
       at Microsoft.SqlServer.Dts.Tasks.WebServiceTask.WebServiceTaskUtil..ctor(Object connection, String downloadedWSDL)
       at Microsoft.SqlServer.Dts.Tasks.WebServiceTask.WebServiceTask.executeThread()".
    Thanks for any help or suggestions,
    Pat   

    Need to open the package for editing and resave, perhaps there were changes in how the Web Services task is persisted to package file. (a more typical upgrade path is SSIS 2005 to SSIS 2008, then 2012)
    Arthur My Blog

  • Execute Pacakge Task in SSIS 2012

    Team ,
    Thanks for your pointers in advance .
    I'm Looking out for a way to run SSIS package which is deployed over to SSIS Catalog using another SSIS Package ( a Package Wrapper which executes other packages ) , How should i configure ? Is this possible ?
    What would other possible ways likely  be .
    Thanks
    Rajkumar Yelugu

    You should be able to use standard Execute package Task.
    http://msdn.microsoft.com/en-us/library/ms137609%28v=sql.110%29.aspx
    Using dynamic options (expressions) you can change most of the settings during run time.
    Sorry as far as I know its not possible to refer to packages within another project in Integration Services catalogs from execute package task.  There are only two options available as ReferenceTypes.
    A value of Project Reference means referred package also have to be within the same IS project. The other option which is External reference is provided for legacy deployment model which means you can only refer to the packages deployed in MSDB or FileSystem
    through this option.
    Also one more thing to note is you'll never be able to import an individual package from IS catalog project. You've to import the complete project and then get the package from it by unzipping. It will exist as a ispac file and not as individual .dtsx files
    upon importing.
    See this article where I've explained it
    http://social.technet.microsoft.com/wiki/contents/articles/25913.import-a-ssis-project-from-catalog-using-t-sql-script.aspx
    Please Mark This As Answer if it solved your issue
    Please Mark This As Helpful if it helps to solve your issue
    Visakh
    My MSDN Page
    My Personal Blog
    My Facebook Page

  • Scripting Language Options for the Script Task Options SSIS 2012

    Can python or perl be used as a script language in the drag and drop script task? I believe only VB.Net and C# are, but I see under SSDT Tools -> Options there are some choices for Python Debugging? I'd like to use python as my SSIS scripting language
    in some cases. If it can not be used as the script task language, what are the Python options under Tools -> Options for?
    Any experts out there who can illuminate?
    Thanks all

    Hello,
    In SSDT in a SSIS Script task you can only use Visual Basic.NET and C#, no other programming / scripting languages.
    SSDST is a plugin for Visual Studio and in VS you will find several options which are irrelevant for SSIS projects, like this Phyton debugging option.
    Olaf Helper
    [ Blog] [ Xing] [ MVP]

  • Ssis 2012 configuration package wizard is hanging

    Hi,
    I am trying to edit the dtsconfig package xml file in SSIS 2012 VS envoirnemnt and the wizard is hanging up for minutes until I need to close VS.
    Has anyone experienced this problem and what can be done to solve other than editing the XML file directly.

    Hi danisroyi2 and Mike Yin Pactera
    I am also experiencing this issue.
    Edit an existing package configuration and click next.
    It hangs on the loading properties form until you eventually (I have waited for over half an hour) have
    to kill the process in task manager.
    thanks

  • SSIS XML task date format issue

    Hi, there;
    I created an SSIS package XML task to import customer XML data.     The LocaleID is set to "New Zealand"
            I have an xml file which has date fields as attribute (dd/MM/yyyy). I created this package and run it in an .NET console program.
        The interesting thing is that: when I run under my own windows account, I can import data into SQL properly (dd/MM/yyyy), but when I run it as scheduled task (under another special windows account) it gives America format (MM/dd/yyyy).
        What I found is that my personal account in AD is set to New Zealand, the special windows account given by the infrastructure engineer
    is set to "default"  which is American user.
        So, my question is that is there any way/something we can set in the package or
     XSD somewhere to tell SSIS what the source date format is rather then controlled by the "AD account"?. The reason is that imagine that
    if I have 2 XML files from different clients, one is New Zealand date format(dd/MM/yyyy), another one is American date format (MM/dd/yyyy), I want same package (NOT same XML task) to import 2 XML files with result in New Zealand format.
       Thank you in advance.
    Cheers
    Robert
    qiuwei

    Hi Robert,
    Based on your description, there are two scenarios:
    You want to format the XML file column date with dd/MM/yyyy or MM/dd/yyyy format to dd/MM/yyyy. In this scenario, we can use Derived Column Transformation to convert the MM/dd/yyyy format to dd/MM/yyyy format for the American XML task, then use the new
    column maps to the corresponding Destination column. The following expression is for your reference:
    LEFT(RIGHT(Column,7),2) + "/" + LEFT(Column,2)+"/"+ RIGHT(Column,4)
    The XML file data already import to SQL table, different country people view the data with different date format. Please note that a datetime column is stored as binary in database, the display format is related to the SSMS server. For more details, please
    see the following KB:
    INF: How to Set the Day/Month/Year Date Format in SQL Server
    Thanks,
    Katherine Xiong
    Katherine Xiong
    TechNet Community Support

  • Is it a bug - SSIS 2012 ReadOnlyVariables in Script Task doesn't work

    It's very weird when I use the ReadOnlyVariables in SSIS 2012 Script Task, it doesn't work at all!!! And I never notice this change before, but everything in 2008 R2 is fine! Is it a bug in SSIS 2012 ?
    All the variables I set them to "ReadOnlyVariables"
    In scripts - I assigned some values from system variables.
    String PackageName = Dts.Variables["System::PackageName"].Value.ToString();
    DateTime CurrentDate = (DateTime)Dts.Variables["System::StartTime"].Value;
    // User Defined Variables
    Dts.Variables["User::PV_CURRENT_DATE"].Value = CurrentDate;
    Dts.Variables["User::PV_YEAR"].Value = CurrentDate.Year;
    Dts.Variables["User::PV_MONTH"].Value = CurrentDate.Month;
    Dts.Variables["User::PV_DAY"].Value = CurrentDate.Day;
    Dts.Variables["User::PV_PACKAGE_NAME"].Value = PackageName;
    Execute the package, it works !
    The only thing I can make it as SSIS 2008 R2 does is to change the ReadOnly for each variables.
    Then you will get the error.
    Why do we need this feature here but not to use the ReadOnlyVariables in script task ?
    Please vote if it's helpful and mark it as an answer!

    I can reproduce it as well. Feels like a bug...
    Locking the variable for read in code has the same effect:
    public void Main()
    // Lock variable for read
    Dts.VariableDispenser.LockForRead("User::myStringVariable");
    // Create a variables 'container' to store variables
    Variables vars = null;
    // Add variable from the VariableDispenser to the variables 'container'
    Dts.VariableDispenser.GetVariables(ref vars);
    // Now try giving it a new name
    vars["User::myStringVariable"].Value = "new value";
    // Release the locks
    vars.Unlock();
    Dts.TaskResult = (int)ScriptResults.Success;
    For reference:
    https://connect.microsoft.com/SQLServer/Feedback/Details/991697
    Please mark the post as answered if it answers your question | My SSIS Blog:
    http://microsoft-ssis.blogspot.com |
    Twitter

  • HELP: SSIS 2012 - Execute SQL Task with resultset to populate user variables produces DBNull error

    I am experiencing an unexplainable behavior with the Execute SQL Task control in SSIS 2012. The following is a description of how to simulate
    the issue I will attempt to describe:
    1. Create a package and add two variables User::varTest1 and User::varTest2 both of String type with default value of "Select GetDate()"
    for each, have shown this to not matter as the same behavior occurs when using a fixed string value or empty string value.
    2. Add a new Execute SQL Task to the control flow.
    3. Configure an OLE DB connection.
    4. Set SQLSourceType = "Direct Input"
    5. Set the ResultSet property of the task to "Single Row"
    6. In the ResultSet tab add two results as follows: 
    Result Name: returnvalue1, Variable Name: User::varTest1
    Result Name: returnvalue2, Variable Name: User::varTest2
    7. Set an expression for the SqlStatementSource property with a string value of "Select 'Test' returnvalue1, 'Testing' returnvalue2'"
    The idea is that the source would be dynamically set in order to run a t-sql statement which would have dynamic values for database name
    or object that would be created at runtime and then executed to set the user variable values from its resultset. Instead what occurs is that a DBNull error occurs.
    I am not sure if anyone else has experienced this behavior performing similiar actions with the Execute SQL Task or not. Any help would be
    appreciated. The exact message is as follows:
    [Execute SQL Task] Error: An error occurred while assigning a value to variable "varRestoreScript": "The type of the value
    (DBNull) being assigned to variable "User::varRestoreScript" differs from the current variable type (String). Variables may not change type during execution. Variable types are strict, except for variables of type Object.
    User::varRestoreScript is the first return value. And even with the a dummy select the same result occurs. I have narrowed the issue down
    to the T-SQL Statement structure itself. 
    The following works just fine within the execute sql task control as long as no resultset is configured for return:
    "Declare @dynamicSQL nvarchar(max)
    Select @dynamicSQL = name 
    From sys.databases 
    Where name = 'master'
    Select atest_var1=@dynamicSQL, atest_var2='static'"
    I have tried various iterations of the script above with no success. However, if I use the following derivative of it the task completes
    successfully and variables are set as expected.  This will not work for my scenario however as I need to dynamically build a string spanning multiple resultsets to build one of the variable values.
    "Select atest_var1=name, atest_var2='static'
    From sys.databases
    Where name = 'master'
    I have a sample package which can reproduce this issue using the above code.  You can get to that through the post on www.sqlservercentral.com/Forums/Topic1582670-364-1.aspx
    Scott

    Arthur,  the query when executed doesn't return a null value for the @dynamicSQL variable.  It returns "master" as a string value.  Even the following fails which implements that suggestion:
    Declare @dynamicSQL as nvarchar(max)
    Select @dynamicSQL = name
    From master.sys.databases 
    Where name = 'master' -- (or any other DB name)
    I believe I have found the cause of the issue.  It is datatype and size related.  The above script will properly set the variables in the resultset as long as you don't use nvarchar(max) or varchar(max).  This makes the maximum data size for
    a String variable 4000 characters whether unicode or non-unicode typed.

  • SSIS 2012 job hangs dataflow task

    hi all,
    i have 2 data flow tasks in a package that run based on parameters.
    the package is being run as a sql agent job using catalog execution model.
    the job sometimes hangs without reason. also, when i looked at the target sql tables, only few rows have been loaded into the 2 target tables and stopped when the job hanged,
    the data flow tasks loads data from source into a target sql table.please advice on why the job hangs, are there issues with the catalog model of ssis 2012 that is causing this?

    Perhaps this info (scripts) somehow shed light on the problem
    http://sqlblog.com/blogs/davide_mauri/archive/2014/07/23/ssisdb-analysis-script-on-gist.aspx
    Best Regards,Uri Dimant SQL Server MVP,
    http://sqlblog.com/blogs/uri_dimant/
    MS SQL optimization: MS SQL Development and Optimization
    MS SQL Consulting:
    Large scale of database and data cleansing
    Remote DBA Services:
    Improves MS SQL Database Performance
    SQL Server Integration Services:
    Business Intelligence

  • SSIS 2012 Script Task Debugging not working (VSTA Popup but no script displayed in IDE)

    Hi,
    I am trying to debug 2012 SSIS Package but for some reason its not working. Basically when I run package (64bit mode) it pop up Script IDE but never brings up Script (see below). Usually when debugging of script starts it should break execution at the code.
    Anybody experienced this issue with SSIS 2012 ?
    Thanks,
    Nayan
    Visit My Blog (Home of BI Articles) 

    Hi,
    I am trying to debug 2012 SSIS Package but for some reason its not working. Basically when I run package (64bit mode) it pop up Script IDE but never brings up Script (see below). Usually when debugging of script starts it should break execution at the code.
    Anyone has clue whats going on here?
    Thanks,
    Nayan
    My Blog |
    Convert DTS to SSIS |
    Document SSIS |
    SSIS Tasks |
    Real-time SSIS Monitoring

  • CDC SSIS 2012 ,CDC TASK,CDC Source,CDC Splitter

    Hi,
    I tried CDC in SSIS 2012 yesterday I was unable to run the hole process sucessfully
    http://www.mattmasson.com/index.php/2011/12/cdc-in-ssis-for-sql-server-2012-2/?utm_source=rss&utm_medium=rss&utm_campaign=cdc-in-ssis-for-sql-server-2012-2--------------------------------------------------------------------------------
    did any one tried this process
    Sri.Tummala

    sorry my sql server agent is turned off i have to turn it on
    after turning it on i trie dto run the package it gave following errors in data flow
    [CDC Source [2]] Error: "Value ILUPDATE/CE/0x00078CD5000023D20001/IR/0x00078CD5000023590002//TS/2012-05-24T14:12:15.0476569/ of CDC state User::CDC_State is not well structured. Structure must be - logicalName(required)/[CS/<cs-lsn>/](optional)[CE/<ce-lsn>/](optional)[IR<ir-start>/<ir-end>/](optional)/[TS/timestamp/](optional)[ER/<error-message>/](optional).".
    [CDC Source [2]] Error: System.Exception: Value ILUPDATE/CE/0x00078CD5000023D20001/IR/0x00078CD5000023590002//TS/2012-05-24T14:12:15.0476569/ of CDC state User::CDC_State is not well structured. Structure must be - logicalName(required)/[CS/<cs-lsn>/](optional)[CE/<ce-lsn>/](optional)[IR<ir-start>/<ir-end>/](optional)/[TS/timestamp/](optional)[ER/<error-message>/](optional).
       at Attunity.SqlServer.CDCSrc.CdcSourceComponent.PrimeOutput(Int32 outputs, Int32[] outputIDs, PipelineBuffer[] buffers)
       at Microsoft.SqlServer.Dts.Pipeline.ManagedComponentHost.HostPrimeOutput(IDTSManagedComponentWrapper100 wrapper, Int32 outputs, Int32[] outputIDs, IDTSBuffer100[] buffers, IntPtr ppBufferWirePacket)
    [SSIS.Pipeline] Error: SSIS Error Code DTS_E_PRIMEOUTPUTFAILED.  The PrimeOutput method on CDC Source returned error code 0x80131500.  The component returned a failure code when the pipeline engine called PrimeOutput(). The meaning of the failure
    code is defined by the component, but the error is fatal and the pipeline stopped executing.  There may be error messages posted before this with more information about the failure.
    Sri.Tummala

  • SSIS 2012 Custom Component not working

    Hi,
    I had a SSIS package that was working in SSIS 2008.Now we have upgrade to SQL Server 2012 So we need to upgrade our SSIS task.
    My SSIS package has two Custom Components that are creating package at run time.I followed the below steps to upgrade my components.
    1.I changed .NET Framework from 2.0 to 4.0.
    2. Build DLLs using VS 2010.
    3.Registered DLLs in my server in directories- Microsoft SQL Server\110\DTS\Task  and Microsoft SQL Server\110\DTS\PipelineComponets
    4. Registered DLLs in Global Assemble Cache.
    5.Now I can see my custom task in SSIS toolbox and able to use the task in package .
    Issue:- 
    When I create a SQL Server Job that runs that package it fails at point in custom Task I created and registered above in step where I am trying to create a data flow task programmatically. The code where it fails is:- 
    " Dim exe As Microsoft.SqlServer.Dts.Runtime.Executable = pkg.Executables.Add("SSIS.Pipeline.2") "
    when it tries to execute this line it fails giving error
    "Source: SSISTableCreate2012      Description: The Execute method on the task returned error code 0x80004003 (Object reference not set to an instance of an object.). The Execute method must succeed, and indicate the result using an "out"
    parameter. "
    I have already changed references of Dlls(Microsoft.SqlServer.Dts.Design, Microsoft.SqlServer.DTSPipelineWrap, Microsoft.SqlServer.DTSRuntimeWrap, Microsoft.SqlServer.ManagedDTS) to  version 11.0.0.0 .
    Can anyone please help me on this error?
    Thanks 

    Hi Bhupendra,
    Do you rename IDTSxxxx100 objects to IDTSxxxx110 in your code?
    As an alternative, you can make use of the custom mapping file. You can make a copy of the built-in mapping.xml.sample file located in C:\Program Files\Microsoft SQL Server\110\DTS\UpgradeMappings folder, rename its extension to XML, and then edit its <ExtensionMapping>
    attribute:
    <ExtensionMapping tag="mycustom extension"
    oldAssemblyStrongName="MyCustomAssembly.MyCustomTask, MyCustomAssembly, Version=1.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91"
    newAssemblyStrongName="MyCustomAssembly.MyCustomTask, MyCustomAssembly, Version=2.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" />
    Then, we need to upgrade the packages, and SSIS will read all the XML mapping files placed in this directory during upgrade.
    References:
    http://blogs.msdn.com/b/mattm/archive/2008/02/01/custom-extensions-in-sql-server-2008.aspx 
    http://blogs.msdn.com/b/mattm/archive/2007/06/05/katmai-custom-components-and-upgrade.aspx 
    Regards,
    Mike Yin
    TechNet Community Support

  • SSIS 2012 package runs under SSDT but fails with permission error from SSMS

    I have a simple package that pulls data from a text file located on a Windows file server that runs successfully from SSDT on my client.
    However, when deployed and running the package via SSMS from the client, the package fails with a permission error, with the error stating that the data file could not be opened.
    I have done some investigation and have seen some info that states that a package run from SSMS runs under the account on which you are logged on to the machine, which I would have thought is correct. This is therefore the same account when running from
    SSDT (which works) and I can see from the SSIS Report that the 'Caller' is stated as my account, so if this is the case why isin't the package working.
    I've also seen an MSDN forum answer which stated the opposite that the package when run from the IS Catalog in SSMS doesn't run under the account on which the client is logged on with, which is the opposite of the above, but doesn't indicate which account
    it is using.
    So what account is being used to run SSIS 2012 packages from the IS catalog from within SSMS ?
    If it is the account on which you are logged onto the client running SSMS, why is it not working when the account has the necessary permissions (as provent when running from SSDT) ?

    I am aware it's using my account and not one of the service. There's nothing in the posts above which suggests I'm using the service account. I don't know why people keep assuming that I'm running the package from a job. I've never stated that in any of
    the posts I'm running the package from a job. It's been made quite clear I'm running the package from the IS Catalog on SSMS:
    "This is simply selecting a package from the IS Catalog, right-clicking and selecting Execute package.", as per the Nov 18 post, and in the original post "....So what account is being used to run SSIS 2012 packages from the IS catalog from
    within SSMS".
    Just to be clear, the package is NOT being run from a job. It's using the Execute package option when selecting the package within SSMS from the IS Catalog and it's running under the account on which I am logged on to my client.
    Please read carefully. I was just answering your question "So what account is being used to run SSIS 2012 packages from the IS catalog from within SSMS ?" and stating that you where right and that it uses your account to run the package
    when you execute a package manually from the Catalog and that you can prove that by logging the system variable.
    A good suggestion about using a share in the task to map the drive and I will try this. I would find it strange that SSMS requires this mapping whereas SSDT does not though.
    Ok let us know your findings. If it doesn't work you can also test it with a password and username:
    net use f: \\financial\public  yourpassword /user:username
    Please mark the post as answered if it answers your question | My SSIS Blog:
    http://microsoft-ssis.blogspot.com |
    Twitter

  • Getting "Couldnot find Installable ISAM" error in script task in SSIS 2005 when trying to open (.xlsx files) Excel 2007-2010 files using VB script in Visual Studio 2005

    Hi Experts,
    I am trying to open .xlsx file in script task of SSIS 2005. I am using the 32-bit AccessDatabaseEngine driver with the Connection string as "Provider= Microsoft.ACE.OLEDB.12.0; Data Source=xlsx file path; Extended Properties="Excel 12.0 Xml;
    HDR=YES"" in script task.
    When we debug the VB script in Visual Studio 2005 and encounters the statement app.open() it throws the error "Couldn't find installable ISAM".
    My SQL server version is 2005 SP2 DE
    OS is Windows server 2003 EE SP2
    Could anyone please let me know what is the resolution for this error?
    Thanks and Regards,
    Adesh

    Hi Adesh,
    First, make sure the package runs in 32-bit runtime mode (set Run64BitRuntime property to False) because you are using the 32-bit ACE OLE DB Provider. If it is not the case, the issue may occur due to the corrupted drivers or registry keys. You can try to
    reinstall the 2007 Office System Driver: Data Connectivity Components as Arthur suggested.
    Regards,
    Mike Yin
    TechNet Community Support

Maybe you are looking for