Solved

Warning: The table .. .has been created but its maximum row size (8102) exceeds the maximum...

Posted on 2002-06-18
3
390 Views
Last Modified: 2008-03-10
When I create the table a get the following error,
Warning: The table 't_COM_AuditEntryData' has been created but its maximum row size (8102) 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.

Here is the table script.

CREATE TABLE dbo.t_COM_AuditEntryData
(
         AuditEntryDataID     d_ID             IDENTITY,
         AuditEntryID          d_ID               ,
         BeforeOrAfter        d_BeforeAfter          , --B or A
     AuditDataString          Varchar(8000)          ,
         UpdatedDate          datetime      NULL      ,
     UpdatedBy          varchar(50)      NULL

)

The row causing the grief I figured is AuditDataString varchar(8000), when I change to AuditDataString          Varchar(7500) I dont get the error, what I dont understand is that it does not exceed 8060? WHat am I missing, and more importantly how do I resolve this?
0
Comment
Question by:deeznutz
  • 2
3 Comments
 
LVL 6

Accepted Solution

by:
curtis591 earned 100 total points
ID: 7090928
You are hitting the maximum number of bytes you can have in a row in a sql table.   If you add up the size it takes you to store your 6 fields in your table it should total 8102.  You can see the amount of space each data type takes inside Enterprise Manager.  One thing you can do to fix it is to turn your big field into a text data type.
0
 
LVL 1

Author Comment

by:deeznutz
ID: 7090949
Strangly enough when I add the total for lenght of the datafield in Enterprise manager I get 8077 and not the 8102 indicated by the warning, what gives? Where is the difference in 25?
0
 
LVL 6

Expert Comment

by:curtis591
ID: 7090994
I can't answer that myself.  
0

Featured Post

PRTG Network Monitor: Intuitive Network Monitoring

Network Monitoring is essential to ensure that computer systems and network devices are running. Use PRTG to monitor LANs, servers, websites, applications and devices, bandwidth, virtual environments, remote systems, IoT, and many more. PRTG is easy to set up & use.

Question has a verified solution.

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

Suggested Solutions

Title # Comments Views Activity
Server 2012 VS Server 2016 for SQL Cluster 4 40
2016 SQL Licensing 7 40
Find SQL query used by application 3 17
sql server service accounts 4 21
I have a large data set and a SSIS package. How can I load this file in multi threading?
This article shows gives you an overview on SQL Server 2016 row level security. You will also get to know the usages of row-level-security and how it works
Familiarize people with the process of utilizing SQL Server functions from within Microsoft Access. Microsoft Access is a very powerful client/server development tool. One of the SQL Server objects that you can interact with from within Microsoft Ac…
This videos aims to give the viewer a basic demonstration of how a user can query current session information by using the SYS_CONTEXT function

776 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