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.
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.
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.
for more detail, have a look at
http://204.9.76.233/Community/forums/p/5690/34920.aspx#34920
http://bytes.com/groups/ms-sql/144447-row-length-exceeds-8060-bytes
http://204.9.76.233/Community/forums/p/5690/34920.aspx#34920
http://bytes.com/groups/ms-sql/144447-row-length-exceeds-8060-bytes
ASKER
I dont have any field more than 8K
How many of these fields can I have
[progInstr] [text]
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?
ASKER
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
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
ASKER
So basically you are asking me to change varchars to text right?
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
I dont want to change the architecture at this time, so I will modify the tables
thx
thx