Skip to main content

Notifications

Community site session details

Community site session details

Session Id :
Microsoft Dynamics GP (Archived)

TEMPDB Grows beyond size of drive GP 10

(0) ShareShare
ReportReport
Posted on by 75,848 Moderator

I am trying a test upgrade from GP 10 to GP 2013 R2. I first need to apply SP5 to GP 10. When I do, that patch fails because during the upgrade process the disks run out of space. This happens because the tempdb database just keeps growing to the size of the drive and then there is no more space. The database is only 15GB and does not grow much and the tempdb.ldf file is only 15K. What would cause the tempdb.mdf to just grow as big as it can? I have expanded the drive twice now and the upgrade just runs until there is no more space. I even ran SQL Profiler but that shows no activity.

*This post is locked for comments

  • steveendow Profile Picture
    2,281 on at
    RE: TEMPDB Grows beyond size of drive GP 10

    Hey Richard,

    I've never actually looked at the contents of that table, and would never have thought that records could be added to it.  Interesting.

    The eConnect Programmers Guide explains adding custom transaction requester records to eConnect_Out_Setup.  My guess is that the data in that table is then used to create a trigger.  I never knew that was possible.

    Creating a Transaction Requester document type
    The Transaction Requester allows you to create custom Transaction Requester document types. You can use the Transaction Requester to define new document types that support your specific business needs. For example, you can create a document type to retrieve data from tables that the original Transaction Requester document types do not include.

    To create a custom Transaction Requester Service, you first identify the tables and other information that the Transaction Requester requires. You need to identify a document type name, the tables to use, the index columns, the key fields used to join tables, and the data fields you want to include in your document.

    You must recreate all custom requester services after an installation has completed. The install drops and recreates the eConnect_Out_Setup table. Any custom information in the eConnect_Out_Setup table is lost. 
     
    To define your document type, you need to add the information you gathered to the eConnect_Out_Setup table. The Transaction Requester uses the information in this table to retrieve and publish eConnect XML documents.

    To use the <eConnectOut> XML node with the Transaction Requester, you need to use the following elements:

    You use DOCTYPE to specify the type of Transaction Requester document you are targeting. The DOCTYPE value must match one of the document types in the eConnect_Out_Setup table. Examples include Customer, Employee, and Sales_Transaction.

    You use FORLOAD when you want your query to produce documents for the Outgoing Service. If you set FORLOAD to one, your query information is placed in the eConnect_Out table. The Outgoing Service uses your query information to create an eConnect XML document and place that document into a queue.

    You use FORLIST when you want the Transaction Requester to return the query result directly. You typically use this with the GetEntity method of the eConnectMethods class to get an XML string that represents the query result.

    You use the INDEXFROM and INDEXTO elements to specify the select criteria for your query. The number for each INDEXFROM and INDEXTO correpond to the INDEX columns for the specified document type in the eConnect_Out_Setup table. For example, INDEX1 for the Customer document type in the eConnect_Out_Setup table is CUSTNMBR. To use <eConnectOut> to retrieve cusomer information, you must use customer number values in INDEX1FROM and INDEX1TO.

    To request a single record, place the same value in the INDEX1FROM and INDEX1TO field. To get several records, place the first value in the INDEXFROM element and the last element in the INDEXTO element. The Transaction Requester retrieves your first and last values and any records with an index value between them.

    The following example shows how to use <eConnectOut> to retrieve a list of customers from the TWO database. Notice how INDEX1FROM specifies a customer number and INDEX1TO specifies a second customer number. The Transaction Requester returns XML that includes the two specified customers and any customers with a customer number between the two specified values.

  • Richard Wheeler Profile Picture
    75,848 Moderator on at
    RE: TEMPDB Grows beyond size of drive GP 10

    I have discovered that the web developers inserted 13 additional records into the eConnect_Out_Setup table. One of those records has a value of 0. I am going to delete these records and see if the upgrade completes. Is there an SDK that will tell wjat is in that table and what values mean?

  • Richard Wheeler Profile Picture
    75,848 Moderator on at
    RE: TEMPDB Grows beyond size of drive GP 10

    I do not have any records where the DOCTYPE = 'ModifiedItem'. I do have two records where the datacnt=73. The doctypes on these are 'Item' and 'Project_Acct_Misclog'. Should I try setting them to 72?  What is the purpose of that field and what do the values mean?

  • Richard Wheeler Profile Picture
    75,848 Moderator on at
    RE: TEMPDB Grows beyond size of drive GP 10

    Steve, I had seen this and checked that table and did not find any records that match this criteria. I am running the update again but this time I have set a maximum growth size on the tempdb. Let's see what happens when it hits the ceiling.

  • steveendow Profile Picture
    2,281 on at
    RE: TEMPDB Grows beyond size of drive GP 10

    Hey Richard,

    Thanks for the full error message.  I searched for taCreateRequesterProcs and found this, which appears to be the same error installing GP 10 SP5:

    community.dynamics.com/.../212968.aspx

    Try the update of eConnect_Out and see if that solves the issue.  Looks like it might be an SP5 bug.

  • Richard Wheeler Profile Picture
    75,848 Moderator on at
    RE: TEMPDB Grows beyond size of drive GP 10

    Good point Steve. I just expanded the image again and this time it took 24 hours to fill up 30GB of space but it did. The truly odd thing is that the upgrade gets all the way through the data and runs out of space on Load Stored Procedures. This makes me wonder if someone has modified a table with an index or a stored procedure. I know this client brought a web programming team and they may have made modifications. For the record, here is the error message I get at the very end as it crashes. know they were having trouble with eConnect and I wonder if they made some undocumented changes.

    The following SQL statement produced an error:
     set nocount on  declare @NAME varchar(100) declare @TEXT varchar(8000) declare taCreateRequesterProcs insensitive cursor for   select DOCTYPE from eConnect_Out_Setup (nolock) where MAIN = 1 and DOCTYPE not like '%GetList'
     open taCreateRequesterProcs fetch next from taCreateRequesterProcs into @NAME while (@@fetch_status <> -1) begin  if (@@fetch_status <> -2)  begin  select @TEXT = 'exec eConnectOutCreate '+ @NAME + ', 0'  exec (@TEXT) 
     select @TEXT = 'exec eConnectOutCreate '+ @NAME + ', 1'  exec (@TEXT)   select @TEXT = 'exec eConnectOutCreate '+ @NAME + ', 2'  exec (@TEXT)  end   fetch next from taCreateRequesterProcs into @NAME end
     deallocate taCreateRequesterProcs 


    ERROR [Microsoft][SQL Native Client][SQL Server]Could not allocate space for object 'dbo.#PL' in database 'tempdb' because the 'PRIMARY' filegroup is full. Create disk space by deleting unneeded files, dropping objects
     in the filegroup, adding additional

  • steveendow Profile Picture
    2,281 on at
    RE: TEMPDB Grows beyond size of drive GP 10

    Hi Richard,

    My wild guess is that the service pack could be performing DDL changes to the tables, resulting in significant utilization of tempdb, either through temp tables to temporarily store data, or perhaps due to significant reindexing.  I'm thinking that there is something with GP or SQL Server that is not properly deallocating space in tempdb, as I have recently seen a massive tempdb database at a client.  It's an interesting question, and the next time I apply a service pack, I'll have to see if I can monitor the activity.

    I recently wrote a blog post about tempdb.  You may want to restart your SQL Service to clear the database, and then watch to see if temp tables get created. (see screen shots in my post)

    http://dynamicsgpland.blogspot.com/2014/07/does-dynamics-gp-use-tempdb-database-no.html

    But aside from the question of what is going on, I suspect you want to get past the problem.  The first thing I would do would be to modify tempdb to change the Autogrowth setting.  Instead of "By 10 percent, Unlimited", set a Maximum File Size value so that the tempdb does not fill your disk.  

    I assume this will cause one of two things to happen.  Either this will solve your problem and your upgrade will complete fine (although it might take longer), or you will get some type of SQL Server error bubble up through the service pack.

    Let me know if this works.  I probably have an old GP 10 install on a VM somewhere, so I might be able to try it and see if I get similar behavior.

Under review

Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.

Helpful resources

Quick Links

Jainam Kothari – Community Spotlight

We are honored to recognize Jainam Kothari as our June 2025 Community…

Congratulations to the May Top 10 Community Leaders!

These are the community rock stars!

Announcing the Engage with the Community forum!

This forum is your space to connect, share, and grow!

Leaderboard > 🔒一 Microsoft Dynamics GP (Archived)

#1
Almas Mahfooz Profile Picture

Almas Mahfooz 3 User Group Leader

Featured topics

Product updates

Dynamics 365 release plans