Transaction Log Cannot Be Truncated Nor Shrinked, HELP!
Jul 20, 2005
The transaction log in a database in our SQLSERVER-2000 server has
grown to 16GB. I cannot shrink the transaction log manually because it
says that the entire 16GB log size is not free. This is strange
because we backup the transaction log every hour, and that should have
truncated the transaction log, and should have limited the size of the
transaction log; somehow, the entire transaction log is still marked
as being used.
I was under the impression
I believe that must have something to do with the fact that the
database is a part of our nightly replication. The reason is that when
I tried the following commands, I got that error message:
checkpoint
dump transaction isprod with no_log
The log was not truncated because records at the beginning
of the log are pending replication. Ensure the Log Reader
Agent is running or use sp_repldone to mark transactions
as distributed.
What does this mean? How can I get away from this mess?
My SQL Server 2000 database log was full (2MB) and I am unable to add new column to a table. So that I follow this article to truncate my log file to 1MB. It works. But when I add a new column to a table after that. The log file went back to 2MB in size and I got the "the log file is full" error message again for the operation. BTW, my reovery mode was set to "Simple". I don't understand how the save table operation can recover my change on log size. What should I do to "permanently" truncate my log? http://www.support.microsoft.com/?id=272318 I did this: DBCC SHRINKFILE (myDB_Log, 1) BACKUP LOG myDB WITH TRUNCATE_ONLY DBCC SHRINKFILE (myDB_Log, 1)
Hello All,The setting is SQL server 7, on Windows NT.If the distributor can not access the log on the publisher database ( butsubscribers are not deleted yet), will the full backup of the publisherdatabase truncate the transaction log? My guess is, it will not truncate thelog.Can any one confirm please?Thanks,Mokles
I have MS SQL server 2000 with MOM server. I was able to shrink thedatabase file, but when i try to shrink the log file i fail. I use"shrink database" wizard and try to reduce the log file from 640 MB to32 MB and i select this number in "shrink database to __" and wait. Igot a success message box but the old size remains.Any ideas?
I'm getting this when executing the code below. Going from W2K/SQL2k SP4 to XP/SQL2k SP4 over a dial-up link.
If I take away the begin tran and commit it works, but of course, if one statement fails I want a rollback. I'm executing this from a Delphi app, but I get the same from Qry Analyser.
I've tried both with and without the Set XACT . . ., and also tried with Set Implicit_Transactions off.
set XACT_ABORT ON Begin distributed Tran update OPENDATASOURCE('SQLOLEDB','Data Source=10.10.10.171;User ID=*****;Password=****').TRANSFERSTN.TSADMIN.TRANSACTIONMAIN set REPFLAG = 0 where REPFLAG = 1 update TSADMIN.TRANSACTIONMAIN set REPFLAG = 0 where REPFLAG = 1 and DONE = 1 update OPENDATASOURCE('SQLOLEDB','Data Source=10.10.10.171;User ID=*****;Password=****').TRANSFERSTN.TSADMIN.WBENTRY set REPFLAG = 0 where REPFLAG = 1 update TSADMIN.WBENTRY set REPFLAG = 0 where REPFLAG = 1 update OPENDATASOURCE('SQLOLEDB','Data Source=10.10.10.171;User ID=*****;Password=****').TRANSFERSTN.TSADMIN.FIXED set REPFLAG = 0 where REPFLAG = 1 update TSADMIN.FIXED set REPFLAG = 0 where REPFLAG = 1 update OPENDATASOURCE('SQLOLEDB','Data Source=10.10.10.171;User ID=*****;Password=****').TRANSFERSTN.TSADMIN.ALTCHARGE set REPFLAG = 0 where REPFLAG = 1 update TSADMIN.ALTCHARGE set REPFLAG = 0 where REPFLAG = 1 update OPENDATASOURCE('SQLOLEDB','Data Source=10.10.10.171;User ID=*****;Password=****').TRANSFERSTN.TSADMIN.TSAUDIT set REPFLAG = 0 where REPFLAG = 1 update TSADMIN.TSAUDIT set REPFLAG = 0 where REPFLAG = 1 COMMIT TRAN
It's got me stumped, so any ideas gratefully received.Thx
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.
I am getting this error :Distributed transaction completed. Either enlist this session in a new transaction or the NULL transaction. Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. Exception Details: System.Data.OleDb.OleDbException: Distributed transaction completed. Either enlist this session in a new transaction or the NULL transaction.have anybody idea?!
i have a sequence container in my my sequence container i have a script task for drop the existing tables. This seq. container connected to another seq. container. all these are in for each loop container when i run the package it's work fine for 1st looop but it gives me error for second execution.
Message is like this:
Distributed transaction completed. Either enlist this session in a new transaction or the NULL transaction.
i am getting this error "Distributed transaction completed. Either enlist this session in a new transaction or the NULL transaction.".
my transations have been done using LINKED SERVER. when i manually call the store procedure from Server 1 it works but when i call it through Service broker it dosen't work and gives me this error.
Hi I have an SP, which queries a table and correspondingly outputs an ntext column. Before executing this SP. I used "save results as " option under Query analyzer tool bar. So that, when ever i execute this SP I can store the value under a file. The query is executing fine , but it is truncating the output of this ntext value. Does any body knowsfaced this issue? Iam using sql 2000 Thanks! Santhosh
Hello, I am trying to run a query select logid, count(logid) from temp2 group by logid order by logid compute sum(count(logid)) when I get the result the numbers are being truncated eg instead of 10471066 it shows 104710 so last two digits get truncated. Any ideas or hints appreciated. Thanks HP
Recently we've upgraded SQL 7.0 to SQL 2000. We use a Database Maintenance Plans to backup the databases and transaction logs. Everything seems to be working, but I’m getting an error message in the event viewer that has been described in Microsoft Knowledge Base article 818202 "PRB: A'Database log truncated" Error is logged in the Event Log When you try to Backup the Transaction Log. The article describes the cause of this warning, but does not give any fix or some kind of work around. Does anybody knows what to do or may be had this problem before? Please help. Thanks a lot.
say if I am doing an simple insert (50 million records) with union all into a table.... when i check it while the query is running I see some records inserted.... however, at the end i have no data... table gets truncated. Is it so because I was out of space (I checked the drives and seems like data drive is running out of space).
I am relatively new to SQL server. I am tring to send some decimalvalues to the database using a stored procedure with parameters of typeDECIMAL. Every time it inserts the values into the database thedecimals are truncated. I saw on the MSDN library that you have to setthe precision and scale values b/f you run the stored procedure. So Iset the precision to 8 and the scale to 4 and it still didn't help. Cananyone help me?
Hello,Using SQL SERVER 2000I have 4 columns with varchar(80) each that I want to concatenate.When I look at the result, it only gives me 256 characters. What am Imissing on my code?Select Cust_Number, Info = convert(varchar(1000),rtrim(line1) +char(13)+rtrim(Line2) + char(13)+ rtrim(line3) + char(13)+rtrim(line4))[color=blue]>From tableOne[/color]GoThank you for your input.Edgar
Hi,I am trying to generate an XML output form the database. I amexecutingselect * from Request_vw for xml autoThe output data is being truncated. is there a limit on the outputresult of an XML query?Thanks
I'm a newbie to Transact-SQL so I apologize if this is a stupid question. Whenever I try to divide two variables of type int, I get a result where the decimal part is truncated. Here is an example:
ALTER PROCEDURE [dbo].[DIVIDE_TEST]
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
DECLARE
@VAR1 int,
@VAR2 int,
@MYRESULT dec(10,5)
SELECT @VAR1 = 10
SELECT @VAR2 = 3
SELECT @MYRESULT = (@VAR1/@VAR2)
SELECT @MYRESULT
-- @MYRESULT has decimal part truncated, Returned value = 3.00000
CREATE FUNCTION [dbo].[SplitText](@input [nvarchar](max), @strDelimiter [nvarchar](10)) ....
But it is still being truncated to 8000 characters. I tried using a sqlstring or using ([SqlFacet(MaxSize = -1,IsFixedLength=false)] on the parameter and a bunch of other things, but it is still truncated to 8000.
I'm using SQL Server 2005. I have stored procedure that selects a bunch of data from different tables and returns the results using the FOR XML clause. The problem is when I'm loading the XML, I notice that after a little over 2,000 characters, the XML string is getting truncated and thus I can't load it into an XmlDocument object. I'm also using the Microsoft Enterprise Library data access block, if that makes any difference. Here's the code:
I have a standard asp.net form and a single database table that I’m trying to pass data into. There are three nvarchar fields of lengths 50, 150, and 2400. Whenever I do an insert or update it truncates all data except for the first character. So if I pass “asdfasdf�, the db field will only receive “a�.
The data going from the form is correct; it gets truncated somewhere after the ExecuteNonQuery() call.
IF EXISTS (SELECT pkCareerID FROM zak_Careers WHERE pkCareerID=@pkCareerID)
BEGIN UPDATE zak_Careers SET jobTitle=@jobTitle, postedDate=@postedDate, submitBy=@submitBy, department=@department, [description]=@description, intranet=@intranet, [public]=@public WHERE pkCareerID=@pkCareerID END ELSE BEGIN INSERT INTO zak_Careers (jobTitle, postedDate, submitBy, department, [description], intranet, [public]) VALUES (@jobTitle, @postedDate, @submitBy, @department, @description, @intranet, @public) END
Hi, I have hit a brick wall with this. My code is as below
public void fillCustomer() { string connectionString = "server='local'; trusted_connection= true; integrated security=sspi; database='Mrbob'"; System.Data.SqlClient.SqlConnection dbConnection = new System.Data.SqlClient.SqlConnection(connectionString); string queryString = "SELECT * FROM [Customer] WHERE ([CustomerID] = @CustomerID)"; System.Data.SqlClient.SqlCommand dbCommand= new System.Data.SqlClient.SqlCommand(); dbCommand.CommandText = queryString; dbCommand.Connection = dbConnection; System.Data.IDataParameter param_CustomerID = new System.Data.SqlClient.SqlParameter(); param_CustomerID.ParameterName ="@CustomerID"; param_CustomerID.Value = customerID;dbCommand.Parameters.Add("@CustomerID", SqlDbType.Int); dbCommand.Connection.Open(); System.Data.IDataReader dataReader = dbCommand.ExecuteReader(); dbCommand.Connection.Close(); while(dataReader.Read()) { customerID = dataReader.GetInt32(0); date = dataReader.GetDateTime(1); eposCode = dataReader.GetInt32(2); } dataReader.Close();
}
The error I am getting is
Prepared statement '(@CustomerID int)SELECT * FROM [Customer] WHERE ([CustomerID] = ' expects parameter @CustomerID, which was not supplied.
As you can see from my queryString the @CustomerID parameter is passed in. It seems as if the string is being truncated at 64 characters long. If I remove the paramter to pass the relevant infomration and pass in a customerID I know exists it works.
I am really stumped on this and would really appreciate any pointers
Hi! When I run a select statement, it would retrieve a product description. In some rows, it is long. Consequently, the product description was truncated. Did anybody have resulotion for this issue?
My table has got 67K records but the tool is showing just 100 records other records are getting truncated. Now what i have to do in SQL statement to view the other records starting from 100 to 1000?
"String or binary data would be truncated"Can MS SQL automatically do the truncation?--John MexIT: http://johnbokma.com/mexit/personal page: http://johnbokma.com/Experienced programmer available: http://castleamber.com/Happy Customers: http://castleamber.com/testimonials.html
I am trying to send a large string to my table where I have typed the field as "text". The data is truncated ( I am only sending about 5kb and it is being truncated to about 4kb). I am using SQL 2000. My web page is classic.asp and I am sending a parameterized query to my stored procedure. This is the relevelant code for the parameter I'm sending: objCmd.Parameters.Append = objCmd.CreateParameter("@PostBody",adLongVarChar,adParamInput,20000,PostBody)
This is the typing in my stored proc: @PostBody text,
I can either INSERT or UPDATE using Query Analyzer and the data is NOT truncated.
Wondering if it was my parameterized query that was causing me trouble, I rewrote the code to send the SQL upfront (skipping the stored proc), and the calling the stored proc from my .asp page passing in the parameters in a string. All three ways are truncating the data.
I have isolated that the truncation is happening on the way in, not on the way out.
Because I can successfully insert/update with QA, I'm wondering if there is some IIS issue that is causing the truncation. But I don't manage our IIS server so I really don't know much about that end of things.
I have been researching this issue for two days with no luck. Any ideas will be greatly appreciated!
Sometime when I€™m using the Data Flow designer I create a task that displays a red circle with a white €œx€? in it. Usually, but not always, the tooltip appears explaining the problem. Sometimes when the tooltip appears I can€™t read the message fully because it is truncated. What can I do in that case?
I have an Oracle table which contains a LONG column and I need to migrate the data from this table using SSIS to a table in SQLServer. The column in SQLServer is defined as nvarchar(MAX). This works until I changed the Oracle table to a view. The columns in the view are defined exactly the same as the source table except that it uses a database link to point to the table in a different schema. When executing the data flow task using the view, it gives me the following error message -
SSIS Error Code DTS_E_OLEDBERROR. An OLE DB error has occurred. Error code: 0x80004005. An OLE DB record is available. Source: "Microsoft OLE DB Provider for Oracle" Hresult: 0x80004005 Description: "ORA-01406: fetched column value was truncated ".
The error happens only on views with LONG column. Views with only varchar or numeric data types work fine.
Why does it work with a table but not a view which contains a LONG column?
I have a COM object (written in VB6) that uses the Microsoft Remote Data Object 2.0 (MSRDO20.dll) to perform non-exotic SQL statements (i.e. SELECTs, INSERTs, UPDATEs and DELETE).
I am using SQL Server 2000 with SP4.
Some of our INSERT statements are being truncated within SQL2K...
We have turned on the SQL Profiler to verify this. Using our own logging mechanism, we log the INSERT SQL being passed to SQL2K immediately before executing the MS SQL statement and our log shows that the INSERT statement is indeed correct. However, we get a SQL error back due to malformed SQL. The SQL Profiler shows that the last 10 bytes have been truncated from the INSERT SQL within SQL2K.
The INSERT statement that we are passing is in the following form...
INSERT (column names...) VALUES (...)
There are embedded CRs (0x0D) in the INSERT. The length of the INSERT being passed to SQL2K is 2243 bytes. The length of the INSERT from the Profiler is 2233 bytes (the last 10 bytes were truncated).
Hi Folks, After I inserted a row in my Database (row 27) I started getting this error when I try to insert, update or delete the record in the database. I've searched about the error on google and it says that I should have a field that crossed the limit of characters. I have only the autoincrement field, two varchar fields and a text field, neither one of the varchar fields crossed the limit, they arent even close. I found in google that one solution would be turn the field that is having problems in a text field, but the only field that actually can be causing the problem already is of the text type. The exact error I get on VS 2005 when trying to change something in the row 27 is: "No row was updated. The data in row 27 was not committed.Error Source: .Net SqlClient Data Provider.Error Message: String or binary data would be truncated.The statement has been terminated. Corret the errors and retry or press ESC to cancel the change(s)." I need some help guyz, see ya, hugs.
Hi Guys, I'm trying to save the data into 2 table when i click the button. But it pops out this error: String or binary data would be truncated. The statement has been terminated. Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. Exception Details: System.Data.SqlClient.SqlException: String or binary data would be truncated. The statement has been terminated.Source Error:
Line 116:Line 117: Sqlinsert.Connection.Open()Line 118: Sqlinsert.ExecuteNonQuery()Line 119:Line 120: Sqlinsert.Connection.Close() I Don't know what it means so i paste my codes regarding the button & the redline Private Sub btnAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAdd.Click 'add the data into shopper
Dim strsqlcmd As String
Dim strName, straddress As String Dim strContact, strEmail, strPw As String Dim strIC As String
' go the add item Response.Redirect("NewPrescItem.aspx") why my sqlinsert.excutenonquery will have this error? and what is this error really means? Thanks in advance
I am currently developing a simple program that will upload ms-word documents to a database so users can view them within the department. The program worked prefectly while using sql 2005 with the these fields: FormId intFileName nvarchar(50)FileBytes varbinary(Max) This was done in unit testing, now in system testing there is a difference. A slight downgrade in the database and server software! We are using sql 2000 on a 2000 server and the FileBytes datatype had to change to the following: FormId intFileName nvarchar 50 FileBytes varbinary 8000 There is no 'Max' option in sql 2000 for the datatype varbinary. So when the insert is perform, we get this error message: String or binary data would be truncated.The statement has been terminated. I am guessing it has something to do with FileBytes, because this is the only thing that changed. I just don't know how to solve the problem.P.S.The application is in ASP.NET 2.0