This error is very common in SharePoint environment and there are few reasons to cause the issue. But as a root cause, every issue needs to do something with SQL server installed in your SharePoint Server.
Cause 1
This is the most common reason in most of the SharePoint environment and it is due to Low Disk Space in your SQL Server.
When
You might see this when you are creating a New Page or New Item in SharePoint environment. Basically, you are trying to contribute to the SharePoint Environment.
How to Resolve
- If it is SQL Express environment, make sure you are not exceeding the limit of 4GB.
- Check your Hard Disks spaces in SharePoint SQL Server for Log Disks and Date Disks.
Cause 2
You might see this error when you are opening a SharePoint List and believe me, this is also a very common scenario when you are working with SharePoint.
This is caused by not having read permission to columns items in the list which might be a lookup list and the current user does not have permission to read that item in the reference list.
So the case will be that there might be a permission issue in the reference list to read.
If the user has permissions, check the -level permissions in Advanced List Settings. Users may be restricted to read only items which are created by the same user.
Cause 3
Having more columns exceeding the SharePoint limits of Row Ordinal may cause this error.
SharePoint stores data in SQL Table. If SharePoint cannot store in a one row, it will store the data in another column and which will be handled by Row Wrapping Property.
So Row Ordinal it will be a sequence of 0 to upper margin of the Row Ordinal.
Assume you have a SharePoint list item which is storing data in two rows and row ordinal. So the first few columns will be stored in Row 1 and the next set will be stored in Row 2.
But when you change the order of the items which is already stored, it may be false to two different row ordinal and might cause the issue.
So you can change the column order again to make your environment work.
Note: You can change the maximum limit by using the following script.
$web = http://mywebapplication
$webapp = Get-spwebapplication $web
#the default value is 6
$webapp.MaxListItemRowStorage = 8
$WebApp.update()
Cause 4
This is also a common issue when you are using CAML queries and specifying data type which is not the actual data type and not compatible type.
Assume you have a Column Boolean and you are specifying text in the field Query.
Incorrect CAML Query that throws an error:
<Eq>
<FieldRef Name="AcctualBooleanFeild" />
<Value Type="Text">Yes</Value>
</Eq>
Correct Query:
<Eq>
<FieldRef Name="AcctualBooleanFeild" />
<Value Type="Integer">1</Value>
</Eq>
This is happening because conversion failed happens in SQL level when SharePoint tries to execute the query.
Cause 5
There can be a situation that you are getting this error after you migrate one SharePoint content database to another SharePoint Server. Simple when you mount a database from another farm to your farm as a content database.
This may also be causing read conflicts with SQL database for users. You can delete the Unique permission in SharePoint Cashed profile to resolve this issue.
And delete any unique permission in the List.
Cause N
There can be many causes other than those mentioned in this post. I have resolved few by just restarting my SharePoint SQL environment. You can also give it a try.