Truncate Table Statement And Transactions(using RetainSameConnection Property Of OledbDestinationConnection)
May 22, 2007
Hi
Can we have truncate table with in a transaction using SSIS package.
here is the scenario.
OledbDestinationConnection 's "retainsameconnection" property has been set to true.
I have added a Execute SQL Query task to "begin transaction".
second Execute SQL Query task to truncate a table. say table "A" . truncate table a(table does not exists in the database).
third to rollback a transactions if the second task fails.
Now when I am running my package, I am getting an error saying
The Rollback transaction has no corresponding "Begin transaction".
However if , I truncate a correct table , which exists in database, then all steps gets executed successfully.
And the truncaion also got rollbacked.Same goes with "Commit transaction" in the third steps(if a replace Rollback with Commit).
I don't understand this strange behavior.
Any clue is highly appreciated.
My real problem is I want to rollback a transaction, if Truncate table step fails.
View 14 Replies
ADVERTISEMENT
Nov 17, 2006
Yogesh writes "I execute the Trancate command for a table without using transaction statements. So there is any option by which I can recover the table data. Pl. advice"
View 2 Replies
View Related
Jul 23, 2005
Hello,I hope you can help me.We have a SQL Server 2000 database at work, (which works with a VB6frontend) which grew to a considerable size, so one of my past colleaguessent me this truncate statement to use on the database.I ran it like this, and all appeared to be well, it shrank the database,Shortly afterwards, after I ran this I noticed something not quite right.for example, one of the tables we keep is a User_Admin table which has 50records in there, when I accessed this using the frontend it only showed 1record, and this happened with every table in the database accessed by thefrontend.The data in the tables is still there, but only shows one record through thefrontend.Can anyone help me, and check this statement I ran, as its weird that allthis happened after I ran this statement.Thanks,Jayne Hegersp_dboption PBTDEV,'trunc. log on chkpt.', truecheckpoint--sp_dboption sadev,'trunc. log on chkpt.', falsesp_dboption PBTDEV,'autoshrink', true--sp_dboption sadev,'autoshrink', falseDBCC SHRINKDATABASE (PBTDEV, NOTRUNCATE)
View 2 Replies
View Related
Aug 19, 2006
According to SQL Server 2005 Books Online, the RetainDays property specifies the number of days that must elapse before a backup set can be overwritten.
I do not quite understand the implication of this property. Say, if I set RetainDays = 1, is it mean the backup set from yesterday MAY BE overwritten? If it is 'may be', how does SQL Server determines whether to overwrite or not? I tried RetainDays = 1 to backup a dummy database, but my test.bak keeps growing, the old files do not seem to be overwritten. Besides, what is the implication of accepting the default RetainDays = 0?
View 4 Replies
View Related
Sep 20, 2007
I am trying to add a case/select/if statement in the text color property of reporting services. I want it so if the value of a variable is 1 then "GREEN" else "RED". Any ideas?
View 1 Replies
View Related
Apr 16, 2008
Hi,
I'm having two For Each Loops, which allow me to dynamically connect to a list of servers.
ForEach 1
ForEach2
DataFlow.
Now for ForEach2 i want to OLEDB Connection to RetainSameConnection, however i want it to Disconnect-Reconnect while looping in ForEach1.
How can i do that?
Can i write a script which will can access OLEDB connection object ??
Thanks
Sandeep.
View 11 Replies
View Related
Aug 31, 2006
We desperately require the RetainSameConnection to be set to True on our ADO.NET - ODBC connection manager. Unfortunately RetainSameConnection always defaults back to False when you open the package.
* Is RetainSameConnection supposed to work for the ADO.NET - ODBC combination?
* Is it a bug that it defaults back to false for the ADO.NET - ODBC combination?
Quick responses much appreciated!
Kristian
Details:
SSIS with SP1
ConnectionManagerType:
ADO.NET:System.Data.Odbc.OdbcConnection, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
Provider:
.NET ProvidersODBC Data Provider
Connection String:
Driver={iSeries Access ODBC Driver};system=AS400;dbq=GAPFILES;dftpkglib=QGPL;languageid=ENU;pkg=QGPL/DEFAULT(IBM),2,0,1,0,512;
View 2 Replies
View Related
Apr 11, 2008
Hi all,
I am a little bit confused about Transactions, the connection string parameter "RetainSameConnection" and the execution of a child package...
I have a parent package, which should execute some child packages in a loop depending on a sql dataset. doing this using variables works fine. I am setting the variables for Source and Destination also and I am having a connection manager for source and destination in the parent package.
The child packages alos have source and destination connection managers depending on variables coming from the parent package.
I am forced to use transactions on the destination, to be able to rollback if an error occurs.
When I initiate the transaction in my parent, call the child package with its own connection manager depending on the variables coming from the parent package will it be the same Transaction in my child and will it be possible to commit the transaction?
If this is not a proper way to do it is there another way to handle this?
Any help appriciated!
Thanks in advice"
cheers
Markus
View 1 Replies
View Related
Nov 30, 2007
My package creates a set of #temp tables in Execute SQL Tasks that are then used for lookups in a data flow. All of the #temp tables are created using the same OLE DB connection manager, and all of the lookup transforms are using this same connection manager. I have set RetainSameConnection=true for the connection manager.
However, when the data flow task is caching the lookup rows in pre-execute, it fails on one of the #temp tables. The error message I receive is:
Invalid object name '#TempTableName'
When I watch what's happing in SQL Server Profiler, I can see that all of the lookup tables are being created within the same process. The caching is likewise performed by this same process, EXCEPT for the caching of the #TempTableName table. For some reason, when the caching of this lookup table is stating, I see a new login and the caching SQL is executed on this new login, which of course does not have access to the temp table created in the previous connection.
Does anyone know why the connection manager would be connecting a second time for this lookup?
Thanks,
Greg
View 10 Replies
View Related
Aug 23, 2006
Here is my issue I am new to 2005 sql server, and am trying to take my old data which is exported to a txt file and import it to tables in sql. The older database is non relational, and I had made several exports for the way I want to build my tables. I built my packages fine and everything is working until I start building relationships. I remove my foreign key and the table with the primary key will get updated for the package again. I need to update the data daily into sql, and once in it will only be update from the package until the database is moved over.
It will run and update with a primary key until I add a foreign key to another database.
Here is my error when running the package when table 2 has a foreign key.
[Execute SQL Task] Error: Executing the query "TRUNCATE TABLE [consumer].[dbo].[Client] " failed with the following error: "Cannot truncate table 'consumer.dbo.Client' because it is being referenced by a FOREIGN KEY constraint.". Possible failure reasons: Problems with the query, "ResultSet" property not set correctly, parameters not set correctly, or connection not established correctly.
View 3 Replies
View Related
Aug 15, 2006
Hi -
I've seen variations on this question in this forum, but none of the suggestions work for me, so any ideas would be greatly appreciated!
I have a SSIS package whose function is to monitor a directory for flat files and distribute the information in these files into a SQL 2005 DB for further processing later. I've configured Transactions for the package as serializable and supported, and I have a ForEach container set to serializable and required. All SQL and Data Flow tasks take place within this container. I have a single Connection Manager to pull in the flat input file, and another for the connection to the SQL DB. This setup will function, and roll back if necessary, but I take a huge hit on the continual establishment of connections to the DB. If I set the retainsameconnection property on the SQL DB Connection manager, I get an error when executing my first Data Flow task to move data from the flat input file to working tables within the DB: 0xC001A004 - Incompatible transaction context was specified for a retained connection. If I turn off Transaction support, the retainsameconnection property works as expected.
I've been running Profiler Traces, and can verify that no connection has been established to the SQL Server prior to execution of this task, so it seems like the context should be OK. I would welcome any feedback, suggestions or alternatives.
Thanks,
Jim SweeneySLC
View 2 Replies
View Related
Jul 4, 2007
i did a Stored Procedure to truncate a table. it contains lots of crap from testing the site. just a simple 1 ALTER PROCEDURE dbo.TruncateUploads
AS
TRUNCATE TABLE Uploads but it says "Cannot truncate table 'Uploads' because it is being referenced by a FOREIGN KEY constraint." then i make NULL all foreign keys and try still cannot. then i did it manually deleting all records then can! but why can't i truncate it? isn't it the same as removing all values plus having the primary keys to start from 0?
View 5 Replies
View Related
Oct 27, 2007
How can i TRUNCATE my table (removes rows that were produced at testing), so that in the actual running the automated IDNumber for my table start with 1.
View 6 Replies
View Related
Nov 1, 2000
hi, I have two tables members table and orders table.
I have 2 records in members table and zero records in order table.
When I try to truncate members table I get an error message.
cannot truncate table members,because it is being referenced by a FOREIGN KEY constraint.
this what blows my head, There is no records in orders table. so why would the constraint enforced when there is no data in the order table. I created same table in access and I was able to delete a member from the members table. any comments.
thanks
Ahmed
View 4 Replies
View Related
Feb 1, 2005
I have several very large tables and sometimes I need to clean them.
It's known that TRUNCATE TABLE works much faster than DELETE, but impossible to use TRUNCATE TABLE on a table referenced by a FOREIGN KEY constraint... Is it possible temporary disable (not delete) constraints and after complition of TRUNCATE enable them ?
View 14 Replies
View Related
Feb 10, 2005
Hi,
(From Bol)
"You Cannot Use Truncate Table On A Table Referenced By A Foreign Key
Constraint;"
1) States
Statecode TinyintPrimary Key
Statename Varchar(25)
2) Rivers
RivercodeSmallint Primary Key
RivernameVarchar(40)
3) Riverinstates
StatecodeTinyint,
RivercodeSmallint,
Constraint Pkriverinstates Primary Key(Statecode,Rivercode),
Constraint Fkriverinstates
Foreign Key (Statecode) References States(Statecode),
Foreign Key (Rivercode) References Rivers(Rivercode)
after removing all rows from RiverInStates Table using TRUNCATE and the command completed successfully.
when i tried to remove all rows from Rivers table , i got the following error.
"Server: Msg 4712, Level 16, State 1, Line 76
Cannot truncate table 'rivers' because it is being referenced by a FOREIGN
KEY constraint."
i thought the error may be due to the "Fkriverinstates" FOREIGN KEY CONSTRAINT. so i DROPped the constraint with
ALTER TABLE RiverinStates DROP CONSTRAINT Fkriverinstates
even after DROPping the constraint, im getting the same error
can any one point out where the problem is?
thanks in advance
View 1 Replies
View Related
May 18, 2004
what is the best way to truncate/delete records from a table at a certain time of the day...... i'm sure this is a simple ?, but i'm still learning sql.
thanks,
eddie
View 4 Replies
View Related
Jan 18, 2007
any idea why this is not wroking ?
------------------------------
declare
@TableName varchar
DECLARE
EmptyTables CURSOR FOR
Select Table_Name From Information_Schema.Tables
Where Table_Type = 'Base Table' Order By Table_Type
open EmptyTables
FETCH NEXT FROM
EmptyTables
into
@TableName
WHILE @@FETCH_STATUS = 0
BEGIN
truncate table @TableName
FETCH NEXT FROM
EmptyTables
into
@TableName
END
close EmptyTables
deallocate EmptyTables
View 11 Replies
View Related
Nov 16, 2006
I have a database of 25 GB. I truncated a table which holds around 5 GB of data.
Even after truncation, I see my database size as 25 GB...
Should I run a shrink database after the truncation?
Thanks
Santhosh
View 3 Replies
View Related
Jul 16, 2001
I have somme users who need to truncate some tables owned by DBO. I know that only table owner or DBO can execute TRUNCATE TABLE but I don't want grant DBO permission to those users. Do you have any suggestion ? Thanks a lot.
View 4 Replies
View Related
Jul 23, 2001
If I have a truncate table statement in a stored proc, will my log backups be compromised due to the nonlogged operations. If so, what are my alternatives in case that I need to restore? Differential backups?
View 1 Replies
View Related
Apr 13, 2000
I am doing the following-
begin transaction
truncate table Acounts
select * from Accounts
rollback
select * from Accounts
The first select is returning 0 rows as expected. But after doing the rollback I expected to yet see 0 rows as truncate is not logged so cannot be rolled back. But to my suprise I see that there are rows.
So the rollback is rolling back the truncate table statement. Can someone please explain this????
View 4 Replies
View Related
Mar 17, 2000
I know that only the owner of a table can truncate it.
I want a user to run a procedure that truncates a table. Both the procedure and the table are owned by dbo, however the system says that the user can't truncate the tables because she doesn't have permission. The user has dataread and datawrite global permissions, and I do not want to give her dbo perimssions.
Is there a solution to this?
View 1 Replies
View Related
Aug 12, 1998
Hi all,
Is it possible to TRUNCATE a table and BCP data into the same table in one
TRANSACTION?
My problem is that I want to refresh(delete and via BCP append new data) a
table without disturbing running applications. Can I run BCP from a
SQL-script or a stored procedure?
Thank`s
Jonas Dahlqvist
Alfa Laval Automation AB
View 1 Replies
View Related
Mar 22, 2006
Does anybody know of a way to allow non-administrators to execute the truncate table statement?
I have developers that from time to time need to move data between their databases usinge the DTS wizard. Most of their tables have identity columns and in order retain the identity seed, they need to click on the option to enable identity insert. This option isn't available to non administrators.
View 4 Replies
View Related
Jul 2, 2002
Error Message "Cannot TRUNCATE TABLE 'HR.dbo.Employee' ".
All of a sudden (!) I began to get this error whle attempting to run a multi-step job: This is during a very simple T-SQL statement.
Executed as user: EPRODSQLAdmin. Cannot TRUNCATE TABLE 'HR.dbo.Employee' because it is being referenced by object 'v_apps_Employee'. [SQLSTATE 42000] (Error 3729). The step failed.
Tables are being referenced by views all the time... Why would I begin to get this message?
The only thing I can think of is that I had just made my first "indexed view" ever, and it is in this database. Could that be related to the new error message?
View 1 Replies
View Related
Jun 3, 2008
hi
Can We Use Truncate Command on a table which is Refernced by Foreign Key?
View 5 Replies
View Related
Mar 13, 2007
HI,
I am trying to find a replication solution. It does not have to be real-time, but snapshot will not work since the database is too big. I was trying to configure Transactional replication. The replication itself worked good, but the Truncate table is not allowed in the transactional replication and merge replication. We have to use "Truncate table" in another processes during replication. Is there any other option or third party application I can use to do the replication with truncate table working. I tried Replication Exec, but it does not support 64bit system, which we have.
View 11 Replies
View Related
Nov 23, 2005
Hi group,In one of the books 'Gurus Guide to Transact SQL' i found this info:------------------------------------------------------------TRUNCATE TABLE empties a table without logging row deletions in thetransaction log. It can't be used withtables referenced by FOREIGN KEY constraints, and it invalidates thetransaction log for the entire database.Once the transaction log has been invalidated, it can't be backed upuntil the next full database backup.------------------------------------------------------------Does it mean that the log backup taken after table truncation is aninvalid backup?Help me! i'm lost....Thanks in advanceRonin*** Sent via Developersdex http://www.developersdex.com ***
View 5 Replies
View Related
Jan 26, 2006
Hi,I am trying to create a script that deletes transaction tables and leavesmaster data like customer, vendors, inventory items, etc. How can I useTRUNCATE TABLE with an Exists? My problem is I have 200+ tables, if Isimply use a list like:truncate table01truncate table02truncate table03....I get errors if the table does not exist and have to manually run thetruncate statements. Some tables may not exist if that part of the app isnever used. I'm trying to make a list of all tables that could existwithout it erroring out 50+ times.Thanks in advance.
View 2 Replies
View Related
Nov 26, 2007
I have a cursor looping through a list of tables that I want totruncate and then do a bulk insert into, Is this possible in SQLServer 2000 or do script each table individually.Cheers,Adam
View 2 Replies
View Related
Jul 20, 2005
Hi,We have a heavily used production server and a table which logs everyhit on a web site. This table has grown large over time and we want toclear it down as efficiently as possible. We would like to issue atruncate table statement, but with millions of rows we are a bit waryof how this will affect server performance. The alternative is todelete is stages using rowcount but of course this will generate alarge amount of logging.Can anyone confirm whether issuing a truncate table will have anyaffect on performance - i.e. does it just clear a header block ordooes it have to do more?CheersMartin
View 3 Replies
View Related
Jun 1, 2007
Hi ,
I truncate and Delete the table. What is the differnce between following :
Trunacate table employee_master
delete from employee_master
I heared that After delete records from table through
"delete from employee_master"
data can be rollback using log file,But How ?
Waiting for response............
Regards
Nikhil Chaturvedi
View 4 Replies
View Related