SSIS Transaction Management && Strange Deadlock When Using XLOCK, ROWLOCK
Jun 7, 2007
I have a SSIS package that is run from one job, nowhere else. The package has TransactionOption NotSupported.
In the SSIS package I first have a sequence container that has TransactionOption Required (Serializable). The sequence container contains several Execute SQL tasks that access the same SQL Server 2005 database. The Execute SQL tasks have TransactionOption supported / Serializable. The first SQL statement is:
select p.column_name
from table_name p with (XLOCK, ROWLOCK)
where p.second_column_name = 'COLUMN_VALUE'
After this there are a couple of SQL tasks, and finally a task containing the following SQL:
select p.third_column_name
from table_name p
where p.second_colomn_name = 'COLUNM_NAME'
The idea is that the first query exclusively locks the row in the table_name-table for mutual exclusion purposes, i.e. so that if for some reason the SSIS package would be executed simultaneously two or more times, only one package execution could lock the row and proceed and the other executions will have to wait. There's an index on column second_column_name in the table to avoid the select locking other rows in addition to the required row.
Some questions:
1) Is it so in my setup that when SSIS runtime executes the sequence container it creates a transaction in the beginning of the sequence container and commits the transaction in the end of the sequence container? And in my setup the Execute SQL tasks in the sequence containar are executed under the same transaction?
2) I have a problem that the second query sometimes gives this error:"ErrorCode: -1073548784. ErrorDescription: Executing the query "XXXXX" failed with the following error: "Transaction (Process ID 73) was deadlocked on lock resources with another process and has been chosen as the deadlock victim. Rerun the transaction.". Possible failure reasons: Problems with the query, "ResultSet" property not set correctly, parameters not set correctly, or connection not established correctly."
The 1st query has locked the row for the transaction. How can the second query be deadlocked, shouldn't the transaction have a lock on the row? I'd understand if the 1st query failed sometimes, but don't understand how the 2nd quey can fail.
r,
JM
View 3 Replies
ADVERTISEMENT
Jul 20, 2005
Hello,I need to lock only one row with exclusive lock (nobody else can see ormodify this row), but when I use "with (xlock, rowlock)" it doesn't work.XLOCK always locks whole table.Can anybody help me?Thanks in advance.Magda
View 1 Replies
View Related
Feb 10, 2015
I have a stored procedure that updates a table. I also have an UDF that allows dirty reads (nolock).
What's the precedence level in SQL server? If I add xlock,rowlock to the update statement, will the dirty read wait for the update transaction to commit, or will it perform a dirty read regardless of the locking scheme in the update statement?
View 0 Replies
View Related
Sep 15, 2006
We have a client-server architecture in development in which clients synchronize their data tables with the server. If we try to sync two clients at the same time we often get a deadlock - which would make sense except for the resource that gets deadlocked: stored procedure xp_regdeletevalue, which is used by SQL Server to delete keys from the Windows registry.
According to the trace (capturing all events listed in Profiler + the 1204 flag) right before the deadlock takes place xp_regdeletevalue gets locked and released about 500(!) times in a row (nothing happens between the Lock:Acquires and Lock:Releases). We're not invoking this procedure directly although one of the frameworks we're using (Spring or Hibernate) might be, but I found no reference to it in their documentations.
The 1204 trace flag's output:
Deadlock encountered .... Printing deadlock information
spid4
spid4 Wait-for graph
spid4
spid4 Node:1
spid4 KEY: 9:1950629992:1 (5b00bcc5c531) CleanCnt:1 Mode: X Flags: 0x0
spid4 Grant List::
spid4 Owner:0x197ef1c0 Mode: X Flg:0x0 Ref:0 Life:02000000 SPID:54 ECID:0
spid4 SPID: 54 ECID: 0 Statement Type: SELECT Line #: 1
spid4 Input Buf: RPC Event: sp_execute;1
spid4 Requested By:
spid4 ResType:LockOwner Stype:'OR' Mode: S SPID:58 ECID:0 Ec:(0x1e3914f8) Value:0x197f0e00 Cost:(0/114)
spid4
spid4 Node:2
spid4 KEY: 9:1950629992:1 (5a00d9a27989) CleanCnt:1 Mode: X Flags: 0x0
spid4 Grant List::
spid4 Owner:0x197ec580 Mode: X Flg:0x0 Ref:0 Life:02000000 SPID:58 ECID:0
spid4 SPID: 58 ECID: 0 Statement Type: SELECT Line #: 1
spid4 Input Buf: RPC Event: sp_execute;1
spid4 Requested By:
spid4 ResType:LockOwner Stype:'OR' Mode: S SPID:54 ECID:0 Ec:(0x198ad4f8) Value:0x197ecba0 Cost:(0/114)
spid4 Victim Resource Owner:
spid4 ResType:LockOwner Stype:'OR' Mode: S SPID:54 ECID:0 Ec:(0x198ad4f8) Value:0x197ecba0 Cost:(0/114)
Spid4 is a system thread (as far as I know it's the read-ahead manager) and 1950629992 corresponds to xp_regdeletevalue according to dbo.sysobjects. The system is written in Java, based on Hibernate and Spring (using Spring's transaction model) and runs on a Windows XP test server with SQL Server 2000.
What could possibly be the reason for this?
Thanks,
Peter
View 1 Replies
View Related
Jul 20, 2005
Hi,I had a deadlock situation on SQLServer 2000. When I look at theLocks / process ID screen on Enterprise Manager, for one of thesession, I see the object being one table and the index is on anothertotally unrelated table's primary key. This is really odd since thereare no foreign keys tying these two tables together. They don't evenreference the same parent tables. These two tables are quitedis-joint. Does anyone know why I will get this kind of lock?Thanks,Maggie :)
View 2 Replies
View Related
Mar 12, 2007
Here is the situation i am stuck with, see the example first and below explained the problem:
-- 'SESSION A
create table foo (
id integer,
pid integer,
data varchar(10)
);
begin transaction
insert into foo values ( 1, 1, 'foo' )
insert into foo values ( 2, 1, 'bar' )
insert into foo values ( 3, 1, 'bozo' )
insert into foo values ( 4, 2, 'snafu' )
insert into foo values ( 5, 2, 'rimrom' )
insert into foo values ( 6, 2, 'blark' )
insert into foo values ( 7, 3, 'smeg' )
commit transaction
create index foo_id_idx on foo ( id )
create index foo_pid_idx on foo ( pid )
begin transaction
insert into foo values ( 9, 3, 'blamo' )
-- 'SESSION B
begin transaction
select id, data from foo with ( updlock, rowlock ) where id = 5;
-- Problem:
-- Uncommitted transaction in session A, with insert into table FOO, aquires lock on index foo_pid_idx which BLOCKS select with ( updlock, rowlock ) in session B.
-- Insert should aquire only exclusive rowlock. Why does insert block select with ( updlock, rowlock )?
Appreciate your help,
Rajesh.
View 5 Replies
View Related
Jun 10, 2002
Hi guys;
i use a transaction that takes a long time to execute.(Different updates on different tables)
I want to use in my transaction a TABLOCKX after each update in order to Lock the table within the Transaction (Until the transaction will finish).
This will normaly force another transaction using the same tables within the first transaction to wait until the lock will release.
1- Because there is no time out set . Does the second transaction wait until the first transaction be commited even if it takes more long time.
2- Does such situation hold a deadlock.
i will apreciate your help. Thinks
View 1 Replies
View Related
Jun 22, 2007
I have a customer using our program with SQL server and isoccasionally getting a "Transaction (process ID xxxxx) was deadlockedon lock resources with another process and has been chosen as thedeadlock victim." From what they are telling me, there shouldn't beany deadlock happening as they say this happens when they invoicing ina different program that is accessing a different database. Also theerror is happening on an SQL Select from a view and this select isthen showing data in an HTML table for the user. I don't think thisview should need to lock anything, I just want to read the data. Isthere anything I can do to fix this?
View 5 Replies
View Related
Nov 1, 2007
When I do a data flow task like following, always blocking
1.get data from data source
2.conditional spit by column='Y' or 'N'
3.when column='Y' insert to table a
4 when column='N', ole db command, update table a
but when I run this package, I see there are some rows are 'Y', some rows are 'N',but they can't run together.
Why? I've took long time for the issues.
When I change this data flow to a data flow plus t-sql task, and change ole db command( update table a) to execute tsql task.
The issue can be solved. But I want to know why i can't put these in one data flow?
View 6 Replies
View Related
Mar 3, 2007
HI,
I have a framewrok that runs tests and keeps updating the status of the tests to the DB. They are approx 20 tests whose status will be updated simultaneously. Recently i have seen the follwoing error
{"Transaction (Process ID 84) was deadlocked on lock | communication buffer resources with another process and has been chosen as the deadlock victim. Rerun the transaction."}
I am using SQL server 2005. Any suggestions?
Thank you
View 1 Replies
View Related
Jun 30, 2006
Under Management Studio, when I right-click a stored proc, select Modify, change the stored proc, then select Execute, the stored proc is updated on the server. But then I noticed that the sql tab holding the changed stored proc (in the right pane of Management Studio) still diplays and asterisk (*). When I right-clicked the tab it offeres the Save option but that is to save the sql file (with the * in its tab) to a file. This is confusing behaviour.
Is there any way to change this behaviour so running Execute causes the (*) to disapeear?
TIA,
Barkingdog
View 1 Replies
View Related
Feb 22, 2007
I have a design a SSIS Package for ETL Process. In my package i have to read the data from the tables and then insert into the another table of same structure.
for reading the data i have write the Dynamic TSQL based on some condition and based on that it is using 25 different function to populate the data into different 25 column. Tsql returning correct data and is working fine in Enterprise manager. But in my SSIS package it show me time out ERROR.
I have increase and decrease the time to catch the error but it is still there i have tried to set 0 for commandout Properties.
if i'm using the 0 for commandtime out then i'm getting the Distributed transaction completed. Either enlist this session in a new transaction or the NULL transaction.
and
Failed to open a fastload rowset for "[dbo].[P@@#$%$%%%]". Check that the object exists in the database.
Please help me it's very urgent.
View 3 Replies
View Related
Jul 20, 2005
helloI make every week on sunday a full backup of my database(mdf =60MB / ldf =300MB)additional i make daily from monday to saturday(6.00/12.00/18.00) threetimes a backup of the transaction lognow I receive follow model of the backed up transactionfiles :1.11.2004 6.00 log =130MB1.11.2004 12.00 log = 0.2 MB1.11.2004 18.00 log = 0.2 MB2.11.2004 6.00 log =130MB2.11.2004 12.00 log = 0.2 MB2.11.2004 18.00 log = 0.2 MBwhy the backup log file is alway so big at 6.00 o'clock??nobody is working on this database!!!thanks for your helpchris
View 3 Replies
View Related
Aug 17, 2015
I'm having trouble getting the OnVariableValueChanged event handler to do anything useful. I've managed to get it to deadlock, but nothing else.
I have a simple package, with one "Execute SQL Task" which executes "SELECT 1 AS RC" and assigns the value to an SSIS variable "RowCount". I've set RaiseChangeEvent to true.I've also created an event handler at the package level for the OnVariableValueChanged event. In the eventhandler I have a Script Task, I select the variable "RowCount" as a readonly variable and in the script body I have...
public void Main()
{
// TODO: Add your code here
String s = Dts.Variables["User::RowCount"].Value.ToString();
Dts.TaskResult = (int)ScriptResults.Success;
}
Very simple stuff. When I execute the package I get ...
Error: 0xC001405B at Script Task: A deadlock was detected while trying to lock variable "User::RowCount" for read access. A lock could not be acquired after 16 attempts and timed out.
Error: 0x2 at Script Task: A deadlock was detected while trying to lock variable "User::RowCount" for read access. A lock could not be acquired after 16 attempts and timed out.
Task failed: Script Task
View 2 Replies
View Related
Nov 14, 2007
Hi,
I was trying to extract data from the source server using OLEDB Source and SQL Server Destination when i encountered this error:
"Transaction (Process ID 135) was deadlocked on lock resources with another process and has been chosen as the deadlock victim. Rerun the transaction.".
What must be done so that even if the table being queried is locked, i wouldn't experience any deadlock?
cherriesh
View 4 Replies
View Related
Nov 14, 2006
I'm receiving the below error when trying to implement Execute SQL Task.
"The ROLLBACK TRANSACTION request has no corresponding BEGIN TRANSACTION." This error also happens on COMMIT as well and there is a preceding Execute SQL Task with BEGIN TRANSACTION tranname WITH MARK 'tran'
I know I can change the transaction option property from "supported" to "required" however I want to mark the transaction. I was copying the way Import/Export Wizard does it however I'm unable to figure out why it works and why mine doesn't work.
Anyone know of the reason?
View 1 Replies
View Related
Dec 13, 2007
Hi,
I'm new to MS SQL and would like to get your opinion on how it's possible to automatically manage transaction log growth. I've read the following on the topic:
"When Microsoft SQL Server finishes backing up the transaction log, it truncates the inactive portion of the transaction log. This frees up space on the transaction log. SQL Server can reuse this truncated space instead of causing the transaction log to continuously grow and consume more space. The active portion of the transaction log contains transactions that are still running and have not completed yet."
I'm backing up the transaction logs on a daily basis. Still one of the logs grew up to 130Gb even though I have shrunk it in the past. How can I manage the growth automatically without shrinking the log files manually every time they grow beyond a certain threshold?
Thanks in advance,
Alla
View 1 Replies
View Related
Dec 13, 2007
Hi,
I'm new to MS SQL and would like to get your opinion on how it's possible to automatically manage transaction log growth. I've read the following on the topic:
"When Microsoft SQL Server finishes backing up the transaction log, it truncates the inactive portion of the transaction log. This frees up space on the transaction log. SQL Server can reuse this truncated space instead of causing the transaction log to continuously grow and consume more space. The active portion of the transaction log contains transactions that are still running and have not completed yet."
I'm backing up the transaction logs on a daily basis. I believe that all or most of the portions of the log are inactive by the time the backup starts. Still one of the logs grew up to 130Gb even though I have shrunk it in the past. How can I manage the growth automatically without shrinking the log files manually every time they grow beyond a certain threshold? Also, how can I check whether some of the log portions are active or inactive?
Thanks in advance,
Alla
View 1 Replies
View Related
Oct 4, 2005
Let's say I may possibly use two transactions in a script, the secondone will depend on the successful execution of the first one.The following code works. However, I'm wondering if SQL Server 2000has some internal function like @@transaction_status to indicate thestatus of the most recent transaction by the connection. The analogueof @@FETCH_STATUS. Then, my own error tracking code could be omitted.Thanks.-- ENV: SQL Server 2000-- ddlscreate table tblA (col1 smallint, col2 smallint)create table tblB (col1 smallint, col2 smallint)create table tblX (col1 char(1), col2 varchar(20))declare @errorCode tinyIntset @errorCode = 0begin transaction fTraninsert into tblAvalues (7,1);insert into tblBvalues (8,0);-- we know this guy will failinsert into tblXvalues ('ab','abcdefge')If (@@error <> 0)beginselect @errorCode = 1endif (@errorCode = 1)rollback transaction fTranelsecommit transaction fTranif (@errorCode = 0)pseducode: start second transaction here ...elseprint 'fTran failed.';RETURN
View 2 Replies
View Related
Nov 10, 2015
Is there a way to send out an email woth deadlock information (victim query, winner query, process id's and resources on which the deadlock occurred) as soon as a deadlock occurs in a database or at instance level?I currently has trace flag 1222 turned on. And also created an alert that send me an email whenever a deadlock occurs. but it just says that a deadlock occurred and I log into sql server error log and review the information.
View 5 Replies
View Related
Jun 1, 2007
Hi
How do I make use of begin transaction and commit transaction in SSIS.
As am not able to commit changes due to certain update commands I want to explicitly write begin and commit statements. but when i make use of begin and commit in OLEDB commnad stage it throws an error as follows:
Hresult:0x80004005
descriptionyntax error or access violation.
its definately not an syntax error as i executed it in sql server. also when i use it in execute sql task out side the dataflow container it doesnt throw any error but still this task doesnt serve my purpose of saving/ commiting update chanages in the database.
Thanks,
Prashant
View 3 Replies
View Related
Mar 15, 2005
Does anybody know of some good resources comparing transaction management techniques used in sql server. I am particularly interested in the areas of concurrency control, locks and recovery.
View 2 Replies
View Related
Dec 4, 2000
I need to keep a table indicating the number of "transactions" or Logical Units of Work (LUW) against each database each day. I know transactions are defined with a Begin and End statement but most of our software is from 3rd party vendors who don't use begin and end. How can I determine how many transactions (not necessarily I/O although that might be nice in the future) has occurred against each database. Books On Line does not address the question of transactions other than to say use the Begin/End statments. Any thoughts would be greatly appreciated.
Thanks in advance
Bill Bergen (1-302-636-6814)
View 1 Replies
View Related
Oct 10, 2007
I created a very simple SSIS package (it just updates a single row in a table). When I execute the package from the command line (using dtexec), it takes about a second to finish, as expected. But when I execute it using dtexec via xp_cmdshell, it takes about 91 seconds. When I use a SQL job to execute the package as an operating system type, it takes 91 seconds. Using a SQL job to execute it as a SSIS package takes again 91 seconds. It appears that something is causing a delay of about 90 seconds before the package actually gets executed. I tried changing the SSIS service account, but that didn't change anything. Why is executing the package through SS2005 different than executing it directly from the command prompt?
View 4 Replies
View Related
Sep 24, 2007
Hello,
I'm getting the following error running a package...
Date,Source,Severity,Step ID,Server,Job Name,Step Name,Notifications,Message,Duration,Sql Severity,Sql Message
ID,Operator Emailed,Operator Net sent,Operator Paged,Retries Attempted
09/24/2007 15:00:00,Hourly Extract From OReSA,Error,0,INHSCTSTTOMVM82,Hourly Extract From OReSA,(Job outcome),,The
job failed. The Job was invoked by Schedule 7 (Hourly). The last step to run was step 1 (OReSA
Extract).,00:00:59,0,0,,,,0
09/24/2007 15:00:01,Hourly Extract From OReSA,Error,1,INHSCTSTTOMVM82,Hourly Extract From OReSA,OReSA
Extract,,Executed as user: INENVts_hia. hod call failed. End Error Error: 2007-09-24 15:00:58.93 Code:
0xC0047017 Source: dtProduceExtractFiles DTS.Pipeline Description: component "ole_srcExtractDB" (22) failed
validation and returned error code 0xC020801C. End Error Error: 2007-09-24 15:00:58.93 Code: 0xC004700C
Source: dtProduceExtractFiles DTS.Pipeline Description: One or more component failed validation. End Error
Error: 2007-09-24 15:00:58.93 Code: 0xC0024107 Source: dtProduceExtractFiles Description: There were
errors during task validation. End Error DTExec: The package execution returned DTSER_FAILURE (1). Started:
3:00:01 PM Finished: 3:00:58 PM Elapsed: 57.75 seconds. The package execution failed. The step
failed.,00:00:58,0,0,,,,0
But it works on other machines and other SSIS packages are running ok on the offending box.
Any ideas?
Thanks in advance,
Tony.
View 4 Replies
View Related
Jun 1, 2006
Hi,
I am having some problem with SSIS transaction. Eventhought I tried to imitate the concept that Jamie presented at http://www.sqlservercentral.com/columnists/jthomson/transactionsinsqlserver2005integrationservices.asp
. My workflow is as followed
*********************************
For Each ADO.Record in Oracle (transaction=not supported)
If (Certain_Field_Value = 'A')
Lookup Data in SQL DB with values from Oracle (transaction=not supported)
DO Sequence A (Start a Transaction , transaction=required)
INSERT/UPDATE some records in SQLDB(transaction=supported)
Finish Sequence A ( transaction should stop here)
UPDATE Oracle DB ( Execute SQLTask, transaction=not supported)
If (Certain_Field_Value = 'B')
Lookup Data in SQL DB with values from Oracle (transaction=not supported)
DO Sequence B (Start a Transaction , transaction = required)
INSERT/UPDATE some records in SQLDB (transaction=supported)
Finish Sequence A ( transaction should stop here)
UPDATE Oracle DB ( Execute SQLTask, transaction=not supported)
If (Certain_Field_Value = 'C')
------------
------------
End ForEach Loop
*************************************
My requirements are that I want separate transaction for each Sequence A, B, C, etc... If Sequence A transaction fails, the other should still be continuing with another transaction.
But I am getting an error regarding the OLEDB Error in next Task (e.g in Certain_Field_Value = 'B') "Lookup Data in SQL DB with values from Oracle ", the error message is ".......Distributed transaction completed. Either enlist this session in a new transaction or the NULL transaction. ".
What is it that I am doing wrong?
Regards
KyawAM
View 12 Replies
View Related
Jul 18, 2001
Hello,
Is there any way to specify the sql server to use row level locking in transaction.
Thanks
Val
View 1 Replies
View Related
Jan 28, 2008
Advantage and disadvantage of using rowlock in sql server 2005.
View 4 Replies
View Related
Jun 19, 2007
I have added a few fields to a table and now when I try to populate it it bombs. It always stops on the same record even with different files and gives me the following error messages. Data looks fine.
[OLE DB Destination [6525]] Error: An OLE DB error has occurred. Error code: 0x80004005. An OLE DB record is available. Source: "Microsoft SQL Native Client" Hresult: 0x80004005 Description: "Invalid character value for cast specification". An OLE DB record is available. Source: "Microsoft SQL Native Client" Hresult: 0x80004005 Description: "Invalid character value for cast specification". An OLE DB record is available. Source: "Microsoft SQL Native Client" Hresult: 0x80004005 Description: "Invalid character value for cast specification".
[OLE DB Destination [6525]] Error: There was an error with input column "Column 87" (6742) on input "OLE DB Destination Input" (6538). The column status returned was: "Conversion failed because the data value overflowed the specified type.".
[OLE DB Destination [6525]] Error: The "input "OLE DB Destination Input" (6538)" failed because error code 0xC020907A occurred, and the error row disposition on "input "OLE DB Destination Input" (6538)" specifies failure on error. An error occurred on the specified object of the specified component.
[DTS.Pipeline] Error: The ProcessInput method on component "OLE DB Destination" (6525) failed with error code 0xC0209029. The identified component returned an error from the ProcessInput method. The error is specific to the component, but the error is fatal and will cause the Data Flow task to stop running.
[DTS.Pipeline] Error: Thread "WorkThread0" has exited with error code 0xC0209029.
[Flat File Source [1]] Error: The attempt to add a row to the Data Flow task buffer failed with error code 0xC0047020.
[DTS.Pipeline] Error: The PrimeOutput method on component "Flat File Source" (1) returned error code 0xC02020C4. 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.
[DTS.Pipeline] Error: Thread "SourceThread0" has exited with error code 0xC0047038.
Any help would be appreciated.
View 2 Replies
View Related
Jan 28, 2008
Hi,
I have a strange problem scheduling SSIS package in SQL Server Agent.
An SSIS package which uses FTP to download a file from an FTP Server is scheduled through the SQL Server Agent to run every hour to look for the file and download it if exists.
- Iam using an Agent proxy which has all the necessary permissions to run the package.
- The package is protected as "EncryptsensitivewithUserKey".
It runs fine in schedule sometimes, ie it downloads the file and processes it alright.
But sometimes, very strangely , for an extended period while in schedule, it gives up an error saying -
- Unable to connect to FTP server using "Click_FTP_Location".
Click_FTP_Location - is the FTP connection manager used in the package.
Has anyone experienced this in any of their work??
We are also trying to see if there is something wrong with the FTP server itself.
Any comments/suggestions appreciated.
Thanks
View 5 Replies
View Related
Oct 26, 2007
Him
I am trying to issue the following statement to lock a record with inner join but I have an error:-
SELECT amaster.acctno,bmaster.balance,bmaster.YEAR
FROM amaster [ROWLOCK] with (Xlock)
INNER JOIN bmaster
ON amaster.acctno = bmaster.acctno
WHERE (bmaster.YEAR = 2007) acctno = 10000100
ORDER BY amaster.acctno
The error:
Msg 4104, Level 16, State 1, Line 1
The multi-part identifier "amaster.acctno" could not be bound.
Thanks
View 9 Replies
View Related
Feb 8, 2008
Hi,Sql-Server 2000, 2005.A report fetches a lot of rows using the "WITH (ROWLOCK)" syntax (thesql is generated on the fly by a tool and not easily changeable).SELECT col1, col2 FROM mytab WITH (ROWLOCK) WHERE ...."The select-clause runs for several minutes.Another user fetches one of those rows and tries to update it. Theresult is a lock timeout.I suppose that the long running select-clause has put a shared lock onthe rows and the updater (exclusive-lock) will have to wait for thelong-running select and so the lock timeout is expiring.Are all those rows "shared locked" until all are fetched?Would there be any change if the "WITH (ROWLOCK)" is removed, isn'talthough "shared lock" the default behaviour?The "WITH (NOLOCK)" would probably help?What about the definition of optimistic concurrency, shouldn't allselect-clauses contain "WITH (NOLOCK)" to allow an optimisticconcurrency scenario?Regards Roger.PS. Probably some misunderstanding from me here, but this should bethe right place to get it right.
View 8 Replies
View Related
May 18, 2006
This package which is a child package has been running successfully for quite some time now. All of a sudden we are getting these intermittant error messages. Does anyone have any ideas what to do or check for?
thanks
===========================
Error portion
Error: 0xC0047012 at CF-DFT Oracle Sales Fact, DTS.Pipeline: A buffer failed while allocating 100483760 bytes.
Error: 0xC02020C4 at CF-DFT Oracle Sales Fact, order line id [1]: The attempt to add a row to the Data Flow task buffer failed with error code 0x8007000E.
Error: 0xC0047011 at CF-DFT Oracle Sales Fact, DTS.Pipeline: The system reports 30 percent memory load. There are 8587960320 bytes of physical memory with 5972680704 bytes free. There are 2147352576 bytes of virtual memory with 1324290048 bytes free. The paging file has 12673945600 bytes with 10005012480 bytes free.
Error: 0xC0047038 at CF-DFT Oracle Sales Fact, DTS.Pipeline: The PrimeOutput method on component "order line id" (1) returned error code 0xC02020C4. 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.
Error: 0xC0047056 at CF-DFT Oracle Sales Fact, DTS.Pipeline: The Data Flow task failed to create a buffer to call PrimeOutput for output "Union All" (13359) on component "Union All Output 1" (13361). This error usually occurs due to an out-of-memory condition.
Error: 0xC0047021 at CF-DFT Oracle Sales Fact, DTS.Pipeline: Thread "SourceThread1" has exited with error code 0xC0047038.
Error: 0xC0047021 at CF-DFT Oracle Sales Fact, DTS.Pipeline: Thread "WorkThread2" has exited with error code 0x8007000E.
Error: 0xC0047039 at CF-DFT Oracle Sales Fact, DTS.Pipeline: Thread "WorkThread3" received a shutdown signal and is terminating. The user requested a shutdown, or an error in another thread is causing the pipeline to shutdown.
Error: 0xC0047039 at CF-DFT Oracle Sales Fact, DTS.Pipeline: Thread "WorkThread1" received a shutdown signal and is terminating. The user requested a shutdown, or an error in another thread is causing the pipeline to shutdown.
Error: 0xC0047021 at CF-DFT Oracle Sales Fact, DTS.Pipeline: Thread "WorkThread3" has exited with error code 0xC0047039.
Error: 0xC0047021 at CF-DFT Oracle Sales Fact, DTS.Pipeline: Thread "WorkThread1" has exited with error code 0xC0047039.
Error: 0xC0047039 at CF-DFT Oracle Sales Fact, DTS.Pipeline: Thread "WorkThread0" received a shutdown signal and is terminating. The user requested a shutdown, or an error in another thread is causing the pipeline to shutdown.
Error: 0xC0047021 at CF-DFT Oracle Sales Fact, DTS.Pipeline: Thread "WorkThread0" has exited with error code 0xC0047039.
====================================================
Complete child package log
Executing ExecutePackageTask: D:ssissrwpackagesSRW_ORACLE_SALES_FTBL.dtsx
Information: 0x40016041 at SRW_ORACLE_SALES_FTBL: The package is attempting to configure from the XML file "D:SSISconfigurationCONFIG-STAGE1.dtsConfig".
Information: 0x40016040 at SRW_ORACLE_SALES_FTBL: The package is attempting to configure from SQL Server using the configuration string ""MSSQL-CONFIG";"[dbo].[SSIS_Configurations]";"System Configuration Settings";".
Information: 0x40016040 at SRW_ORACLE_SALES_FTBL: The package is attempting to configure from SQL Server using the configuration string ""MSSQL-CONFIG";"[dbo].[SRW_SSIS_Configurations]";"SRW Main Configurations";".
Information: 0x4004300A at CF-DFT Oracle Sales Fact, DTS.Pipeline: Validation phase is beginning.
Warning: 0x802092A7 at CF-DFT Oracle Sales Fact, TEMP OUTPUT [998]: Truncation may occur due to inserting data from data flow column "IC_ORDER" with a length of 240 to database column "IC_ORDER" with a length of 1.
Warning: 0x80047076 at CF-DFT Oracle Sales Fact, DTS.Pipeline: The output column "SERIAL_NUMBER" (2680) on output "Sort Output" (2453) and component "Sort 1" (2451) is not subsequently used in the Data Flow task. Removing this unused output column can increase Data Flow task performance.
Warning: 0x80047076 at CF-DFT Oracle Sales Fact, DTS.Pipeline: The output column "ORG_ID" (13377) on output "Union All Output 1" (13361) and component "Union All" (13359) is not subsequently used in the Data Flow task. Removing this unused output column can increase Data Flow task performance.
Warning: 0x80047076 at CF-DFT Oracle Sales Fact, DTS.Pipeline: The output column "CUST_TRX_TYPE_ID" (13428) on output "Union All Output 1" (13361) and component "Union All" (13359) is not subsequently used in the Data Flow task. Removing this unused output column can increase Data Flow task performance.
Warning: 0x80047076 at CF-DFT Oracle Sales Fact, DTS.Pipeline: The output column "Data Conversion 1.Copy of CUST_TRX_TYPE_ID" (13443) on output "Union All Output 1" (13361) and component "Union All" (13359) is not subsequently used in the Data Flow task. Removing this unused output column can increase Data Flow task performance.
Warning: 0x80047076 at CF-DFT Oracle Sales Fact, DTS.Pipeline: The output column "GL_ID_REV" (13449) on output "Union All Output 1" (13361) and component "Union All" (13359) is not subsequently used in the Data Flow task. Removing this unused output column can increase Data Flow task performance.
Warning: 0x80047076 at CF-DFT Oracle Sales Fact, DTS.Pipeline: The output column "Copy of GL_ID_REV" (13458) on output "Union All Output 1" (13361) and component "Union All" (13359) is not subsequently used in the Data Flow task. Removing this unused output column can increase Data Flow task performance.
Information: 0x4004300A at CF-DFT Oracle Sales Fact, DTS.Pipeline: Validation phase is beginning.
Warning: 0x802092A7 at CF-DFT Oracle Sales Fact, TEMP OUTPUT [998]: Truncation may occur due to inserting data from data flow column "IC_ORDER" with a length of 240 to database column "IC_ORDER" with a length of 1.
Warning: 0x80047076 at CF-DFT Oracle Sales Fact, DTS.Pipeline: The output column "SERIAL_NUMBER" (2680) on output "Sort Output" (2453) and component "Sort 1" (2451) is not subsequently used in the Data Flow task. Removing this unused output column can increase Data Flow task performance.
Warning: 0x80047076 at CF-DFT Oracle Sales Fact, DTS.Pipeline: The output column "ORG_ID" (13377) on output "Union All Output 1" (13361) and component "Union All" (13359) is not subsequently used in the Data Flow task. Removing this unused output column can increase Data Flow task performance.
Warning: 0x80047076 at CF-DFT Oracle Sales Fact, DTS.Pipeline: The output column "CUST_TRX_TYPE_ID" (13428) on output "Union All Output 1" (13361) and component "Union All" (13359) is not subsequently used in the Data Flow task. Removing this unused output column can increase Data Flow task performance.
Warning: 0x80047076 at CF-DFT Oracle Sales Fact, DTS.Pipeline: The output column "Data Conversion 1.Copy of CUST_TRX_TYPE_ID" (13443) on output "Union All Output 1" (13361) and component "Union All" (13359) is not subsequently used in the Data Flow task. Removing this unused output column can increase Data Flow task performance.
Warning: 0x80047076 at CF-DFT Oracle Sales Fact, DTS.Pipeline: The output column "GL_ID_REV" (13449) on output "Union All Output 1" (13361) and component "Union All" (13359) is not subsequently used in the Data Flow task. Removing this unused output column can increase Data Flow task performance.
Warning: 0x80047076 at CF-DFT Oracle Sales Fact, DTS.Pipeline: The output column "Copy of GL_ID_REV" (13458) on output "Union All Output 1" (13361) and component "Union All" (13359) is not subsequently used in the Data Flow task. Removing this unused output column can increase Data Flow task performance.
Information: 0x4004300A at CF-DFT Oracle Sales Fact, DTS.Pipeline: Validation phase is beginning.
Warning: 0x802092A7 at CF-DFT Oracle Sales Fact, TEMP OUTPUT [998]: Truncation may occur due to inserting data from data flow column "IC_ORDER" with a length of 240 to database column "IC_ORDER" with a length of 1.
Warning: 0x80047076 at CF-DFT Oracle Sales Fact, DTS.Pipeline: The output column "SERIAL_NUMBER" (2680) on output "Sort Output" (2453) and component "Sort 1" (2451) is not subsequently used in the Data Flow task. Removing this unused output column can increase Data Flow task performance.
Warning: 0x80047076 at CF-DFT Oracle Sales Fact, DTS.Pipeline: The output column "ORG_ID" (13377) on output "Union All Output 1" (13361) and component "Union All" (13359) is not subsequently used in the Data Flow task. Removing this unused output column can increase Data Flow task performance.
Warning: 0x80047076 at CF-DFT Oracle Sales Fact, DTS.Pipeline: The output column "CUST_TRX_TYPE_ID" (13428) on output "Union All Output 1" (13361) and component "Union All" (13359) is not subsequently used in the Data Flow task. Removing this unused output column can increase Data Flow task performance.
Warning: 0x80047076 at CF-DFT Oracle Sales Fact, DTS.Pipeline: The output column "Data Conversion 1.Copy of CUST_TRX_TYPE_ID" (13443) on output "Union All Output 1" (13361) and component "Union All" (13359) is not subsequently used in the Data Flow task. Removing this unused output column can increase Data Flow task performance.
Warning: 0x80047076 at CF-DFT Oracle Sales Fact, DTS.Pipeline: The output column "GL_ID_REV" (13449) on output "Union All Output 1" (13361) and component "Union All" (13359) is not subsequently used in the Data Flow task. Removing this unused output column can increase Data Flow task performance.
Warning: 0x80047076 at CF-DFT Oracle Sales Fact, DTS.Pipeline: The output column "Copy of GL_ID_REV" (13458) on output "Union All Output 1" (13361) and component "Union All" (13359) is not subsequently used in the Data Flow task. Removing this unused output column can increase Data Flow task performance.
Information: 0x40043006 at CF-DFT Oracle Sales Fact, DTS.Pipeline: Prepare for Execute phase is beginning.
Information: 0x40043007 at CF-DFT Oracle Sales Fact, DTS.Pipeline: Pre-Execute phase is beginning.
Information: 0x400490F4 at CF-DFT Oracle Sales Fact, REV GL SEGS [307]: component "REV GL SEGS" (307) has cached 780 rows.
Information: 0x400490F4 at CF-DFT Oracle Sales Fact, get oper unit [813]: component "get oper unit" (813) has cached 12 rows.
Warning: 0x802090E4 at CF-DFT Oracle Sales Fact, get oper unit [813]: The Lookup transformation encountered duplicate reference key values when caching reference data. The Lookup transformation found duplicate key values when caching metadata in PreExecute. This error occurs in Full Cache mode only. Either remove the duplicate key values, or change the cache mode to PARTIAL or NO_CACHE.
Information: 0x400490F4 at CF-DFT Oracle Sales Fact, get header txn type for IC flag [13685]: component "get header txn type for IC flag" (13685) has cached 768 rows.
Information: 0x4004300C at CF-DFT Oracle Sales Fact, DTS.Pipeline: Execute phase is beginning.
Information: 0x4004800D at CF-DFT Oracle Sales Fact, DTS.Pipeline: The buffer manager failed a memory allocation call for 100484768 bytes, but was unable to swap out any buffers to relieve memory pressure. 83 buffers were considered and 83 were locked. Either not enough memory is available to the pipeline because not enough are installed, other processes were using it, or too many buffers are locked.
Error: 0xC0047012 at CF-DFT Oracle Sales Fact, DTS.Pipeline: A buffer failed while allocating 100484768 bytes.
Error: 0xC0047011 at CF-DFT Oracle Sales Fact, DTS.Pipeline: The system reports 31 percent memory load. There are 8587960320 bytes of physical memory with 5869387776 bytes free. There are 2147352576 bytes of virtual memory with 1223802880 bytes free. The paging file has 12673945600 bytes with 9901600768 bytes free.
Information: 0x4004800D at CF-DFT Oracle Sales Fact, DTS.Pipeline: The buffer manager failed a memory allocation call for 100483760 bytes, but was unable to swap out any buffers to relieve memory pressure. 162 buffers were considered and 162 were locked. Either not enough memory is available to the pipeline because not enough are installed, other processes were using it, or too many buffers are locked.
Error: 0xC0047012 at CF-DFT Oracle Sales Fact, DTS.Pipeline: A buffer failed while allocating 100483760 bytes.
Error: 0xC02020C4 at CF-DFT Oracle Sales Fact, order line id [1]: The attempt to add a row to the Data Flow task buffer failed with error code 0x8007000E.
Error: 0xC0047011 at CF-DFT Oracle Sales Fact, DTS.Pipeline: The system reports 30 percent memory load. There are 8587960320 bytes of physical memory with 5972680704 bytes free. There are 2147352576 bytes of virtual memory with 1324290048 bytes free. The paging file has 12673945600 bytes with 10005012480 bytes free.
Error: 0xC0047038 at CF-DFT Oracle Sales Fact, DTS.Pipeline: The PrimeOutput method on component "order line id" (1) returned error code 0xC02020C4. 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.
Error: 0xC0047056 at CF-DFT Oracle Sales Fact, DTS.Pipeline: The Data Flow task failed to create a buffer to call PrimeOutput for output "Union All" (13359) on component "Union All Output 1" (13361). This error usually occurs due to an out-of-memory condition.
Error: 0xC0047021 at CF-DFT Oracle Sales Fact, DTS.Pipeline: Thread "SourceThread1" has exited with error code 0xC0047038.
Error: 0xC0047021 at CF-DFT Oracle Sales Fact, DTS.Pipeline: Thread "WorkThread2" has exited with error code 0x8007000E.
Error: 0xC0047039 at CF-DFT Oracle Sales Fact, DTS.Pipeline: Thread "WorkThread3" received a shutdown signal and is terminating. The user requested a shutdown, or an error in another thread is causing the pipeline to shutdown.
Error: 0xC0047039 at CF-DFT Oracle Sales Fact, DTS.Pipeline: Thread "WorkThread1" received a shutdown signal and is terminating. The user requested a shutdown, or an error in another thread is causing the pipeline to shutdown.
Error: 0xC0047021 at CF-DFT Oracle Sales Fact, DTS.Pipeline: Thread "WorkThread3" has exited with error code 0xC0047039.
Error: 0xC0047021 at CF-DFT Oracle Sales Fact, DTS.Pipeline: Thread "WorkThread1" has exited with error code 0xC0047039.
Error: 0xC0047039 at CF-DFT Oracle Sales Fact, DTS.Pipeline: Thread "WorkThread0" received a shutdown signal and is terminating. The user requested a shutdown, or an error in another thread is causing the pipeline to shutdown.
Error: 0xC0047021 at CF-DFT Oracle Sales Fact, DTS.Pipeline: Thread "WorkThread0" has exited with error code 0xC0047039.
Information: 0x40043008 at CF-DFT Oracle Sales Fact, DTS.Pipeline: Post Execute phase is beginning.
Information: 0x402090DF at CF-DFT Oracle Sales Fact, TEMP OUTPUT [998]: The final commit for the data insertion has started.
Information: 0x402090E0 at CF-DFT Oracle Sales Fact, TEMP OUTPUT [998]: The final commit for the data insertion has ended.
Information: 0x40043009 at CF-DFT Oracle Sales Fact, DTS.Pipeline: Cleanup phase is beginning.
Information: 0x4004300B at CF-DFT Oracle Sales Fact, DTS.Pipeline: "component "TEMP OUTPUT" (998)" wrote 0 rows.
Task failed: CF-DFT Oracle Sales Fact
Warning: 0x80019002 at SRW_ORACLE_SALES_FTBL: The Execution method succeeded, but the number of errors raised (15) reached the maximum allowed (1); resulting in failure. This occurs when the number of errors reaches the number specified in MaximumErrorCount. Change the MaximumErrorCount or fix the errors.
Task failed: CF-EPGT SRW_ORACLE_SALES_FTBL
Warning: 0x80019002 at CF-SQC Facts: The Execution method succeeded, but the number of errors raised (15) reached the maximum allowed (1); resulting in failure. This occurs when the number of errors reaches the number specified in MaximumErrorCount. Change the MaximumErrorCount or fix the errors.
Warning: 0x80019002 at SRW_MAIN: The Execution method succeeded, but the number of errors raised (15) reached the maximum allowed (1); resulting in failure. This occurs when the number of errors reaches the number specified in MaximumErrorCount. Change the MaximumErrorCount or fix the errors.
SSIS package "SRW_Main.dtsx" finished: Failure.
View 9 Replies
View Related