Showing posts with label receive. Show all posts
Showing posts with label receive. Show all posts

Friday, March 30, 2012

Merge join with empty inputs

Hi all,

Does anyone have suggestions for ways to deal with the chance that a merge join might receive empty inputs?

I've noticed that when this happens the transformation seems to hang. I changed the MaxBuffersPerInput to zero and this seems to cure the problem but I'm not sure it's the best way to deal with it.

Would it be a good idea to test the row counts with a conditional split before such a join?

Cheers,

Andrew

Are you certain that both inputs are generating EORs when they are complete. If so, then this is likely a bug. If not, then there is no way for the MergeJoin to know that it won't be getting buffers so it is not hung it is just waiting for pending input.

HTH,

Matt

|||

I'm pretty sure they did when I ran the package in a cmd window.

Presumably they did after I changed the MaxBuffersPerInput to fix the problem and the data hadn't changed between runs.

I'll need to recreate the state to confirm this which will take a while.

Andrew

|||

Finally got the problem to recur.

In this case it's a simple Inner Join on one column. The left input has no rows coming in, the right has 582 as shown below.

DataFlow: 2006-07-11 16:06:50.97
Source: DFT Get recent returns from Oracle
Component "MRGJ Match on Oracle Ids" (1626) was given end of rowset on input "Merge Join Left Input" (1627)
End DataFlow
DataFlow: 2006-07-11 16:06:50.97
Source: DFT Get recent returns from Oracle
Component "MRGJ Match on Oracle Ids" (1626) will receive 582 rows on input "Merge Join Right Input" (1628)
End DataFlow
DataFlow: 2006-07-11 16:06:51.10
Source: DFT Get recent returns from Oracle
Component "MRGJ Match on Oracle Ids" (1626) was given end of rowset on input "Merge Join Right Input" (1628)
End DataFlow

The package runs in BIDS but hangs with the above as the last output when run through DTEXEC. I also tried switching the left/right inputs just in case but the result was the same.

Any suggestions for a clean way to handle this? I'm trying to work out a consistent way to handle merge joins to deal with this sort of situation.

Andrew

|||

Looks like this may have been resolved by a hotfix:

FIX: When you call a SQL Server 2005 Integration Services package from a SQL Server Agent job step, the package may stop responding

CAUSE: This problem occurs when the SSIS package contains a Merge Join transformation.

http://support.microsoft.com/default.aspx?scid=kb%3Ben-us%3B928243&sd=rss&spid=2855

|||

Did you install the hotfix? Or did you continue to use the 0 MaxInputBuffers property? I just discovered this issues in one of my packages and I'm just curious if that hotfix did fix the problem. The description is just really vuage on the hotfix.

Merge join with empty inputs

Hi all,

Does anyone have suggestions for ways to deal with the chance that a merge join might receive empty inputs?

I've noticed that when this happens the transformation seems to hang. I changed the MaxBuffersPerInput to zero and this seems to cure the problem but I'm not sure it's the best way to deal with it.

Would it be a good idea to test the row counts with a conditional split before such a join?

Cheers,

Andrew

Are you certain that both inputs are generating EORs when they are complete. If so, then this is likely a bug. If not, then there is no way for the MergeJoin to know that it won't be getting buffers so it is not hung it is just waiting for pending input.

HTH,

Matt

|||

I'm pretty sure they did when I ran the package in a cmd window.

Presumably they did after I changed the MaxBuffersPerInput to fix the problem and the data hadn't changed between runs.

I'll need to recreate the state to confirm this which will take a while.

Andrew

|||

Finally got the problem to recur.

In this case it's a simple Inner Join on one column. The left input has no rows coming in, the right has 582 as shown below.

DataFlow: 2006-07-11 16:06:50.97
Source: DFT Get recent returns from Oracle
Component "MRGJ Match on Oracle Ids" (1626) was given end of rowset on input "Merge Join Left Input" (1627)
End DataFlow
DataFlow: 2006-07-11 16:06:50.97
Source: DFT Get recent returns from Oracle
Component "MRGJ Match on Oracle Ids" (1626) will receive 582 rows on input "Merge Join Right Input" (1628)
End DataFlow
DataFlow: 2006-07-11 16:06:51.10
Source: DFT Get recent returns from Oracle
Component "MRGJ Match on Oracle Ids" (1626) was given end of rowset on input "Merge Join Right Input" (1628)
End DataFlow

The package runs in BIDS but hangs with the above as the last output when run through DTEXEC. I also tried switching the left/right inputs just in case but the result was the same.

Any suggestions for a clean way to handle this? I'm trying to work out a consistent way to handle merge joins to deal with this sort of situation.

Andrew

|||

Looks like this may have been resolved by a hotfix:

FIX: When you call a SQL Server 2005 Integration Services package from a SQL Server Agent job step, the package may stop responding

CAUSE: This problem occurs when the SSIS package contains a Merge Join transformation.

http://support.microsoft.com/default.aspx?scid=kb%3Ben-us%3B928243&sd=rss&spid=2855

|||

Did you install the hotfix? Or did you continue to use the 0 MaxInputBuffers property? I just discovered this issues in one of my packages and I'm just curious if that hotfix did fix the problem. The description is just really vuage on the hotfix.

Merge join with empty inputs

Hi all,

Does anyone have suggestions for ways to deal with the chance that a merge join might receive empty inputs?

I've noticed that when this happens the transformation seems to hang. I changed the MaxBuffersPerInput to zero and this seems to cure the problem but I'm not sure it's the best way to deal with it.

Would it be a good idea to test the row counts with a conditional split before such a join?

Cheers,

Andrew

Are you certain that both inputs are generating EORs when they are complete. If so, then this is likely a bug. If not, then there is no way for the MergeJoin to know that it won't be getting buffers so it is not hung it is just waiting for pending input.

HTH,

Matt

|||

I'm pretty sure they did when I ran the package in a cmd window.

Presumably they did after I changed the MaxBuffersPerInput to fix the problem and the data hadn't changed between runs.

I'll need to recreate the state to confirm this which will take a while.

Andrew

|||

Finally got the problem to recur.

In this case it's a simple Inner Join on one column. The left input has no rows coming in, the right has 582 as shown below.

DataFlow: 2006-07-11 16:06:50.97
Source: DFT Get recent returns from Oracle
Component "MRGJ Match on Oracle Ids" (1626) was given end of rowset on input "Merge Join Left Input" (1627)
End DataFlow
DataFlow: 2006-07-11 16:06:50.97
Source: DFT Get recent returns from Oracle
Component "MRGJ Match on Oracle Ids" (1626) will receive 582 rows on input "Merge Join Right Input" (1628)
End DataFlow
DataFlow: 2006-07-11 16:06:51.10
Source: DFT Get recent returns from Oracle
Component "MRGJ Match on Oracle Ids" (1626) was given end of rowset on input "Merge Join Right Input" (1628)
End DataFlow

The package runs in BIDS but hangs with the above as the last output when run through DTEXEC. I also tried switching the left/right inputs just in case but the result was the same.

Any suggestions for a clean way to handle this? I'm trying to work out a consistent way to handle merge joins to deal with this sort of situation.

Andrew

|||

Looks like this may have been resolved by a hotfix:

FIX: When you call a SQL Server 2005 Integration Services package from a SQL Server Agent job step, the package may stop responding

CAUSE: This problem occurs when the SSIS package contains a Merge Join transformation.

http://support.microsoft.com/default.aspx?scid=kb%3Ben-us%3B928243&sd=rss&spid=2855

|||

Did you install the hotfix? Or did you continue to use the 0 MaxInputBuffers property? I just discovered this issues in one of my packages and I'm just curious if that hotfix did fix the problem. The description is just really vuage on the hotfix.

sql

Wednesday, March 28, 2012

Merge deadlock

Hi, more or less once a day I receive this message from the merge
replication, because is continuous suddenly stops. I try to put an extra step
on the job to restart it but is ignored. Any clues why my step is ignored or
why this problem is happening?
cheers , Error:
The process could not enumerate changes at the 'Subscriber'.
(Source: Merge Replication Provider (Agent); Error number: -2147200999)
------
Transaction (Process ID 87) was deadlocked on lock resources with another
process and has been chosen as the deadlock victim. Rerun the transaction.
(Source: SUMSTR (Data source); Error number: 1205)
------
The process was successfully stopped.
(Source: Merge Replication Provider (Agent); Error number: -2147200999)
------
If you have large numbers of subscribers you might want to limit concurrent
processing or perhaps schedule your merge agents as opposed to running them
simultaneously or continuously.
Hilary Cotter
Looking for a SQL Server replication book?
http://www.nwsu.com/0974973602.html
Looking for a FAQ on Indexing Services/SQL FTS
http://www.indexserverfaq.com
"Salvador" <Salvador@.discussions.microsoft.com> wrote in message
news:BA09357D-8EE6-42A4-97C3-72384153AD02@.microsoft.com...
> Hi, more or less once a day I receive this message from the merge
> replication, because is continuous suddenly stops. I try to put an extra
step
> on the job to restart it but is ignored. Any clues why my step is ignored
or
> why this problem is happening?
> cheers , Error:
> The process could not enumerate changes at the 'Subscriber'.
> (Source: Merge Replication Provider (Agent); Error number: -2147200999)
> ----
--
> Transaction (Process ID 87) was deadlocked on lock resources with another
> process and has been chosen as the deadlock victim. Rerun the transaction.
> (Source: SUMSTR (Data source); Error number: 1205)
> ----
--
> The process was successfully stopped.
> (Source: Merge Replication Provider (Agent); Error number: -2147200999)
> ----

Friday, March 9, 2012

Memory Tab; SQL Server Properties (Accessing)

Hi,
- I cannot access the Memory Tab to change the memory settings.
- I receive the following error message: Error 8651: Could not perform the
requested operation because the minimum query memory is not available.
Decrease the configured value for the 'min memory per query' server
configuration option.
- The maximum memory was accidentily set to 0 in the SQL Server Properties
Memory Tab.
Is there another way to access and change the maximum memory setting other
than through Enterprise Manager?
Thank you.
BillSee sp_configure in SQL Server Books Online.
--
HTH,
Vyas, MVP (SQL Server)
SQL Server Articles and Code Samples @. http://vyaskn.tripod.com/
"BillC-CA" <BillC-CA@.discussions.microsoft.com> wrote in message
news:E29C205C-BC23-4B3B-BCBC-A95FCC806551@.microsoft.com...
Hi,
- I cannot access the Memory Tab to change the memory settings.
- I receive the following error message: Error 8651: Could not perform the
requested operation because the minimum query memory is not available.
Decrease the configured value for the 'min memory per query' server
configuration option.
- The maximum memory was accidentily set to 0 in the SQL Server Properties
Memory Tab.
Is there another way to access and change the maximum memory setting other
than through Enterprise Manager?
Thank you.
Bill|||Check out sp_configure in BooksOnLine.
--
Andrew J. Kelly SQL MVP
"BillC-CA" <BillC-CA@.discussions.microsoft.com> wrote in message
news:E29C205C-BC23-4B3B-BCBC-A95FCC806551@.microsoft.com...
> Hi,
> - I cannot access the Memory Tab to change the memory settings.
> - I receive the following error message: Error 8651: Could not perform the
> requested operation because the minimum query memory is not available.
> Decrease the configured value for the 'min memory per query' server
> configuration option.
> - The maximum memory was accidentily set to 0 in the SQL Server Properties
> Memory Tab.
> Is there another way to access and change the maximum memory setting other
> than through Enterprise Manager?
> Thank you.
> Bill
>|||Hi Narayana,
Thank you for the suggestion.
I entered the following in the query analyzer, and was then able to access
the memory tab again to make the correction to max memory:
sp_configure 'max server memory', 2147483647
go
reconfigure
go
Thank you!
Bill
"Narayana Vyas Kondreddi" wrote:
> See sp_configure in SQL Server Books Online.
> --
> HTH,
> Vyas, MVP (SQL Server)
> SQL Server Articles and Code Samples @. http://vyaskn.tripod.com/
>
> "BillC-CA" <BillC-CA@.discussions.microsoft.com> wrote in message
> news:E29C205C-BC23-4B3B-BCBC-A95FCC806551@.microsoft.com...
> Hi,
> - I cannot access the Memory Tab to change the memory settings.
> - I receive the following error message: Error 8651: Could not perform the
> requested operation because the minimum query memory is not available.
> Decrease the configured value for the 'min memory per query' server
> configuration option.
> - The maximum memory was accidentily set to 0 in the SQL Server Properties
> Memory Tab.
> Is there another way to access and change the maximum memory setting other
> than through Enterprise Manager?
> Thank you.
> Bill
>
>|||Hi Andrew,
Thank you for the suggestion.
I entered the following in the query analyzer, and was then able to access
the memory tab again to make the correction to max memory:
sp_configure 'max server memory', 2147483647
go
reconfigure
go
Thank you!
Bill
"Andrew J. Kelly" wrote:
> Check out sp_configure in BooksOnLine.
> --
> Andrew J. Kelly SQL MVP
>
> "BillC-CA" <BillC-CA@.discussions.microsoft.com> wrote in message
> news:E29C205C-BC23-4B3B-BCBC-A95FCC806551@.microsoft.com...
> > Hi,
> > - I cannot access the Memory Tab to change the memory settings.
> > - I receive the following error message: Error 8651: Could not perform the
> > requested operation because the minimum query memory is not available.
> > Decrease the configured value for the 'min memory per query' server
> > configuration option.
> > - The maximum memory was accidentily set to 0 in the SQL Server Properties
> > Memory Tab.
> >
> > Is there another way to access and change the maximum memory setting other
> > than through Enterprise Manager?
> >
> > Thank you.
> > Bill
> >
>
>

Memory Tab; SQL Server Properties (Accessing)

Hi,
- I cannot access the Memory Tab to change the memory settings.
- I receive the following error message: Error 8651: Could not perform the
requested operation because the minimum query memory is not available.
Decrease the configured value for the 'min memory per query' server
configuration option.
- The maximum memory was accidentily set to 0 in the SQL Server Properties
Memory Tab.
Is there another way to access and change the maximum memory setting other
than through Enterprise Manager?
Thank you.
Bill
See sp_configure in SQL Server Books Online.
HTH,
Vyas, MVP (SQL Server)
SQL Server Articles and Code Samples @. http://vyaskn.tripod.com/
"BillC-CA" <BillC-CA@.discussions.microsoft.com> wrote in message
news:E29C205C-BC23-4B3B-BCBC-A95FCC806551@.microsoft.com...
Hi,
- I cannot access the Memory Tab to change the memory settings.
- I receive the following error message: Error 8651: Could not perform the
requested operation because the minimum query memory is not available.
Decrease the configured value for the 'min memory per query' server
configuration option.
- The maximum memory was accidentily set to 0 in the SQL Server Properties
Memory Tab.
Is there another way to access and change the maximum memory setting other
than through Enterprise Manager?
Thank you.
Bill
|||Check out sp_configure in BooksOnLine.
Andrew J. Kelly SQL MVP
"BillC-CA" <BillC-CA@.discussions.microsoft.com> wrote in message
news:E29C205C-BC23-4B3B-BCBC-A95FCC806551@.microsoft.com...
> Hi,
> - I cannot access the Memory Tab to change the memory settings.
> - I receive the following error message: Error 8651: Could not perform the
> requested operation because the minimum query memory is not available.
> Decrease the configured value for the 'min memory per query' server
> configuration option.
> - The maximum memory was accidentily set to 0 in the SQL Server Properties
> Memory Tab.
> Is there another way to access and change the maximum memory setting other
> than through Enterprise Manager?
> Thank you.
> Bill
>
|||Hi Narayana,
Thank you for the suggestion.
I entered the following in the query analyzer, and was then able to access
the memory tab again to make the correction to max memory:
sp_configure 'max server memory', 2147483647
go
reconfigure
go
Thank you!
Bill
"Narayana Vyas Kondreddi" wrote:

> See sp_configure in SQL Server Books Online.
> --
> HTH,
> Vyas, MVP (SQL Server)
> SQL Server Articles and Code Samples @. http://vyaskn.tripod.com/
>
> "BillC-CA" <BillC-CA@.discussions.microsoft.com> wrote in message
> news:E29C205C-BC23-4B3B-BCBC-A95FCC806551@.microsoft.com...
> Hi,
> - I cannot access the Memory Tab to change the memory settings.
> - I receive the following error message: Error 8651: Could not perform the
> requested operation because the minimum query memory is not available.
> Decrease the configured value for the 'min memory per query' server
> configuration option.
> - The maximum memory was accidentily set to 0 in the SQL Server Properties
> Memory Tab.
> Is there another way to access and change the maximum memory setting other
> than through Enterprise Manager?
> Thank you.
> Bill
>
>
|||Hi Andrew,
Thank you for the suggestion.
I entered the following in the query analyzer, and was then able to access
the memory tab again to make the correction to max memory:
sp_configure 'max server memory', 2147483647
go
reconfigure
go
Thank you!
Bill
"Andrew J. Kelly" wrote:

> Check out sp_configure in BooksOnLine.
> --
> Andrew J. Kelly SQL MVP
>
> "BillC-CA" <BillC-CA@.discussions.microsoft.com> wrote in message
> news:E29C205C-BC23-4B3B-BCBC-A95FCC806551@.microsoft.com...
>
>

Memory Tab; SQL Server Properties (Accessing)

Hi,
- I cannot access the Memory Tab to change the memory settings.
- I receive the following error message: Error 8651: Could not perform the
requested operation because the minimum query memory is not available.
Decrease the configured value for the 'min memory per query' server
configuration option.
- The maximum memory was accidentily set to 0 in the SQL Server Properties
Memory Tab.
Is there another way to access and change the maximum memory setting other
than through Enterprise Manager?
Thank you.
BillSee sp_configure in SQL Server Books Online.
--
HTH,
Vyas, MVP (SQL Server)
SQL Server Articles and Code Samples @. http://vyaskn.tripod.com/
"BillC-CA" <BillC-CA@.discussions.microsoft.com> wrote in message
news:E29C205C-BC23-4B3B-BCBC-A95FCC806551@.microsoft.com...
Hi,
- I cannot access the Memory Tab to change the memory settings.
- I receive the following error message: Error 8651: Could not perform the
requested operation because the minimum query memory is not available.
Decrease the configured value for the 'min memory per query' server
configuration option.
- The maximum memory was accidentily set to 0 in the SQL Server Properties
Memory Tab.
Is there another way to access and change the maximum memory setting other
than through Enterprise Manager?
Thank you.
Bill|||Check out sp_configure in BooksOnLine.
Andrew J. Kelly SQL MVP
"BillC-CA" <BillC-CA@.discussions.microsoft.com> wrote in message
news:E29C205C-BC23-4B3B-BCBC-A95FCC806551@.microsoft.com...
> Hi,
> - I cannot access the Memory Tab to change the memory settings.
> - I receive the following error message: Error 8651: Could not perform the
> requested operation because the minimum query memory is not available.
> Decrease the configured value for the 'min memory per query' server
> configuration option.
> - The maximum memory was accidentily set to 0 in the SQL Server Properties
> Memory Tab.
> Is there another way to access and change the maximum memory setting other
> than through Enterprise Manager?
> Thank you.
> Bill
>|||Hi Narayana,
Thank you for the suggestion.
I entered the following in the query analyzer, and was then able to access
the memory tab again to make the correction to max memory:
sp_configure 'max server memory', 2147483647
go
reconfigure
go
Thank you!
Bill
"Narayana Vyas Kondreddi" wrote:

> See sp_configure in SQL Server Books Online.
> --
> HTH,
> Vyas, MVP (SQL Server)
> SQL Server Articles and Code Samples @. http://vyaskn.tripod.com/
>
> "BillC-CA" <BillC-CA@.discussions.microsoft.com> wrote in message
> news:E29C205C-BC23-4B3B-BCBC-A95FCC806551@.microsoft.com...
> Hi,
> - I cannot access the Memory Tab to change the memory settings.
> - I receive the following error message: Error 8651: Could not perform the
> requested operation because the minimum query memory is not available.
> Decrease the configured value for the 'min memory per query' server
> configuration option.
> - The maximum memory was accidentily set to 0 in the SQL Server Properties
> Memory Tab.
> Is there another way to access and change the maximum memory setting other
> than through Enterprise Manager?
> Thank you.
> Bill
>
>|||Hi Andrew,
Thank you for the suggestion.
I entered the following in the query analyzer, and was then able to access
the memory tab again to make the correction to max memory:
sp_configure 'max server memory', 2147483647
go
reconfigure
go
Thank you!
Bill
"Andrew J. Kelly" wrote:

> Check out sp_configure in BooksOnLine.
> --
> Andrew J. Kelly SQL MVP
>
> "BillC-CA" <BillC-CA@.discussions.microsoft.com> wrote in message
> news:E29C205C-BC23-4B3B-BCBC-A95FCC806551@.microsoft.com...
>
>