Link to home
Start Free TrialLog in
Avatar of rgarimella
rgarimella

asked on

Maximum row size exceeds error

What does this mean. Could someone explain what needs to be done here

The table 'Table Name' has been created but its maximum row size (29682) exceeds the maximum number of bytes per row (8060). INSERT or UPDATE of a row in this table will fail if the resulting row length exceeds 8060 bytes.
Avatar of RiteshShah
RiteshShah
Flag of India image

you can't have bigger row than 8KB, you might have very big fields in your table.
it's a warning as if you enter the data at the full capicity you have defined in your table, but if actual data you will enter, won't have big size than 8060 KB than you don't need to worry about but there could be a case when user might enter more data so I would insist, decrease the limit of your field in table.
Avatar of rgarimella
rgarimella

ASKER

I dont have any field more than 8K

How many of these fields can I have

[progInstr] [text]
I am talking about total of all fields you have in table, One row shouldn't be greater than 8060. can you show me your table structure?

CREATE TABLE [dbo].[F_SB] (
	[sbId] [int] IDENTITY (1, 1) NOT NULL ,
	[courseId] [int] NULL ,
	[lessonId] [int] NULL ,
	[topicId] [int] NULL ,
	[formatId] [int] NULL ,
	[qTypeId] [int] NULL ,
	[grSizeId] [int] NULL ,
	[grPosId] [int] NULL ,
	[templateId] [int] NULL ,
	[UIid] [int] NULL ,
	[reviewsbNum] [varchar] (15) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
	[sbNumber] [varchar] (13) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ,
	[next] [varchar] (50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
	[back] [varchar] (50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
	[pageTitle] [varchar] (200) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ,
	[content] [text] COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
	[TwoColumnHeader1] [varchar] (500) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
	[TwoColumnHeader2] [varchar] (500) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
	[TwoColumnText1] [varchar] (5000) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
	[TwoColumnText2] [varchar] (5000) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
	[s_multiStep] [varchar] (50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
	[MultiStepHeader1] [varchar] (500) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
	[MultiStepHeader2] [varchar] (500) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
	[MultiStepHeader3] [varchar] (500) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
	[MultiStepHeader4] [varchar] (500) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
	[MultiStepText1] [varchar] (5000) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
	[MultiStepText2] [varchar] (5000) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
	[MultiStepText3] [varchar] (5000) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
	[MultiStepText4] [varchar] (5000) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
	[readReflect] [varchar] (8000) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
	[audioFileName] [varchar] (50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
	[audioScript] [text] COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
	[inGrpFileName] [varchar] (50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
	[grpDesc] [varchar] (250) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
	[longDesc] [text] COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
	[qDist] [varchar] (50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
	[distractor1] [varchar] (2000) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
	[distractor2] [varchar] (2000) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
	[distractor3] [varchar] (2000) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
	[distractor4] [varchar] (2000) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
	[distractor5] [varchar] (2000) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
	[distractor6] [varchar] (2000) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
	[distractor7] [varchar] (2000) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
	[distractor8] [varchar] (2000) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
	[distractor9] [varchar] (2000) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
	[distractor10] [varchar] (2000) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
	[columnHeader1] [varchar] (200) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
	[columnHeader2] [varchar] (200) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
	[columnHeader3] [varchar] (200) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
	[noTries] [varchar] (50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
	[correctAnswer] [text] COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
	[correctAnswer1] [text] COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
	[caFeedback] [text] COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
	[FstFeedback] [text] COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
	[sCndFeedback] [text] COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
	[graphicInstr] [text] COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
	[progInstr] [text] COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
	[date] [datetime] NULL ,
	[overwriteFile] [char] (1) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
	[scorequiz] [char] (1) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
	[includepageno] [char] (1) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
	[samepageno] [char] (1) COLLATE SQL_Latin1_General_CP1_CI_AS NULL 
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO

Open in new window

you have so many fields with big size and ultimately your are crossing limit of 8KB. actually SQL Server stores every raw in 8KB page, and if anybody will insert data which is crossing 8KB limit than how SQL will store that row in 8KB page? as long as user will enter less data than 8KB in your table, you won't face any problem but there will be a case that user can enter more data than 8KB in one row as you have allowed with high limit.
if there is a real case of entering so much text than go for TEXT for everything or BLOB
So basically you are asking me to change varchars to text right?
ASKER CERTIFIED SOLUTION
Avatar of RiteshShah
RiteshShah
Flag of India image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
I dont want to change the architecture at this time, so I will modify the tables

thx