SSIS Warning - Global Shared Memory

  • I stumbled upon the same error together with the error Unable to bulk copy data.

    Switching off UAC and (!) rebooting the system, worked like a charm.

  • -

  • I've been pulling my hair out today with this error. I was especially frustrated when I was able to get my package to work using the same destination table in a different database on the same instance. Why would that happen? Anyway, after I unchecked the option for Table Lock in the OLE DB Destination Editor, the problem went away.

  • It's a warning, not an error and should not prevent your package from running. It's related to permissions required to create a global OS object that can be shared between sessions (required for certain things in SSIS)

    By default, this permission is granted to Administrators, LOCAL SERVICE, NETWORK SERVICE, SERVICE, and on a server with Integration services installed the "SQLServerDTSUser${ServerName} group account. Unless your running the package (or BIDS) as one of these accounts or group members, you will get the error. The SQLServerDTSUser... group contains an account that represents the Integration Services service, the accounts are all service accounts , and I doubt that anyone is actually logged on as one of those.

    That leaves Administrators, but unless you're logged on as the local built-in administrator or the domain built-in administrator, User Account Control strips your local Administrators group membership from your access token (until you activate with a the UAC prompt). The problem is that BIDS won't prompt you for UAC activation when debugging a package. Turning off UAC helps those people who are logged on as a local administrator and executing their package. Alternatively, running BIDS as Administrator does the same thing, activates the local Administrators group for your user.

    Ask yourself this: "Do you really want to execute SSIS packages as a local administrator?" SSIS is a very powerful (and therefore very dangerous tool). Turning off UAC can open your server to script attacks and other things. The best method is to grant another user the required permissions through Local Security Policy or Group Policy. Then use an account for development and deployment that has the permissions required, but not much more.

    One catch to assigning the permission individually, the account you grant that permission to, CAN NOT also be a member of the local Administrators group. If it is, then UAC strips that permission away, even though it is not granted through the local Administrators group.

    Unless your package is reading SSIS performance counters (or one other issue, see next paragraph), then this warning shouldn't affect you. I've written a lot of packages (and also teach SSIS classes). I've never seen this "warning" prevent a package that was properly configured otherwise from executing, unless:

    The package is using a SQL Server Destination in a data flow. For an excellent explanation, see:

    http://consultingblogs.emc.com/jamiethomson/archive/2006/08/14/4344.aspx

    For those of you actually having package execution problems, not just seeing this warning, I'd recommend you look further than this warning. 😉

  • thanks it worked for me by changing run64bit to true.

  • Just run Visual Studio as administrator

  • You have to include the account you use to execute the package in the performance counters group.

    Go to Administrative Tools -> Computer Management -> Local Users and Groups and review your Groups.

    There should be a group for the Performance counters. On my machine the group is named 'Performance Monitor Users'. Add current user or any user who will run SSIS packages.

    Just to add - this is just a warning and is not an error. Basically it is saying that performance counters for this package will not work. This is typically an account issue.

  • If you're running your source from a proc, try adding "set nocount on" at the beginning of the proc. that seems to have worked for me.

  • I got this error when importing from a flat file to an SQL table. The table had an identity column and I had the 'Keep Identity' checkbox checked. When I unchecked this the error went away.

  • Hi All,

    I received the same error while importing data from multiple flat files to SQL Server DB.

    Then I have changed the Destination connection in my SSIS package to "OLEDB". It has resolved my issue.

  • I got the same error when i tried to refresh SQL table from production to test using SSIS Data Flow Task. I worked around the problem by loading incremental data (that wasn't on test yet)

  • PutJatDa-302517 - Wednesday, April 8, 2009 5:27 AM

    HiI'm busy rewriting DTS packages as SSIS packages. As and when I finish a package I run it in debug mode via Microsoft Visual Studio and then examine the Exection Results to see the messages generated.Now it may or may not matter how I run the package but the following warning has been generated :-[SSIS.Pipeline] Warning: Warning: Could not open global shared memory to communicate with performance DLL; data flow performance counters are not available. To resolve, run this package as an administrator, or on the system's console.I'm one of these people who likes to run programs and get no warnings at all (if it can be helped).Can someone kindly explain what it means and if I can can get rid of it?

  • PutJatDa-302517 - Wednesday, April 8, 2009 5:27 AM

    HiI'm busy rewriting DTS packages as SSIS packages. As and when I finish a package I run it in debug mode via Microsoft Visual Studio and then examine the Exection Results to see the messages generated.Now it may or may not matter how I run the package but the following warning has been generated :-[SSIS.Pipeline] Warning: Warning: Could not open global shared memory to communicate with performance DLL; data flow performance counters are not available. To resolve, run this package as an administrator, or on the system's console.I'm one of these people who likes to run programs and get no warnings at all (if it can be helped).Can someone kindly explain what it means and if I can can get rid of it?

  • mishrask06 - Monday, October 5, 2015 3:17 PM

    You have to include the account you use to execute the package in the performance counters group.Go to Administrative Tools -> Computer Management -> Local Users and Groups and review your Groups.There should be a group for the Performance counters. On my machine the group is named 'Performance Monitor Users'. Add current user or any user who will run SSIS packages.Just to add - this is just a warning and is not an error. Basically it is saying that performance counters for this package will not work. This is typically an account issue.

    IMHO, this is the best answer to the original question. Thanks. Works a treat. It's bugged me for years, but never quite got round to looking at it as it doesn't cause problems.

  • Seems working for me, but i'm not very sure where are the circumstances.

    1. Double click the destination node to open the Destination Editor (In my case it's OLE DB)
    2. There are 'Error Output' at the left side, click it
    3. Below the 'Error' column, just change from 'Fail component' to 'ignore failure'
    4. you're done.

    Yet, again, it works, but doesn't solve the problem with the execution, but at least solve your problem especially if u're students, haha

Viewing 15 posts - 16 through 30 (of 30 total)

You must be logged in to reply to this topic. Login to reply