?
Solved

Maximum row size exceeds error

Posted on 2009-04-23
11
Medium Priority
?
491 Views
Last Modified: 2012-06-21
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.
0
Comment
Question by:rgarimella
  • 7
  • 4
11 Comments
 
LVL 31

Expert Comment

by:RiteshShah
ID: 24216358
you can't have bigger row than 8KB, you might have very big fields in your table.
0
 
LVL 31

Expert Comment

by:RiteshShah
ID: 24216384
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.
0
Veeam and MySQL: How to Perform Backup & Recovery

MySQL and the MariaDB variant are among the most used databases in Linux environments, and many critical applications support their data on them. Watch this recorded webinar to find out how Veeam Backup & Replication allows you to get consistent backups of MySQL databases.

 

Author Comment

by:rgarimella
ID: 24216407
I dont have any field more than 8K

How many of these fields can I have

[progInstr] [text]
0
 
LVL 31

Expert Comment

by:RiteshShah
ID: 24216425
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?
0
 

Author Comment

by:rgarimella
ID: 24216473

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

0
 
LVL 31

Expert Comment

by:RiteshShah
ID: 24216545
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.
0
 
LVL 31

Expert Comment

by:RiteshShah
ID: 24216567
if there is a real case of entering so much text than go for TEXT for everything or BLOB
0
 

Author Comment

by:rgarimella
ID: 24216584
So basically you are asking me to change varchars to text right?
0
 
LVL 31

Accepted Solution

by:
RiteshShah earned 2000 total points
ID: 24216621
yes, but are you sure, you would need these much big data in one table? can't you split it in few tables with primary key and foreign key?
0
 

Author Comment

by:rgarimella
ID: 24216629
I dont want to change the architecture at this time, so I will modify the tables

thx
0

Featured Post

Free Tool: SSL Checker

Scans your site and returns information about your SSL implementation and certificate. Helpful for debugging and validating your SSL configuration.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Microsoft Access has a limit of 255 columns in a single table; SQL Server allows tables with over 255 columns, but reading that data is not necessarily simple.  The final solution for this task involved creating a custom text parser and then reading…
MSSQL DB-maintenance also needs implementation of multiple activities. However, unprecedented errors can hamper the database management. In that case, deploying Stellar SQL Database Toolkit ensures fast and accurate database and backup repair as wel…
Familiarize people with the process of retrieving data from SQL Server using an Access pass-thru query. Microsoft Access is a very powerful client/server development tool. One of the ways that you can retrieve data from a SQL Server is by using a pa…
This video shows how to set up a shell script to accept a positional parameter when called, pass that to a SQL script, accept the output from the statement back and then manipulate it in the Shell.
Suggested Courses

850 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question