Skip to main content

All you want to know about Exception from HRESULT: 0x80131904 in SharePoint 2013/2010

This error is very common in SharePoint environment and there are few reasons to cause the issue. But as a root cause every issue is needs to do something with SQL server installed in your SharePoint Server.

Cause 1

This is the most common reason and most of the SharePoint environment and it is due to Low Disk Space in your SQL Server.

image

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 very common scenario when you are working with SharePoint.

image

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 there might be a permission issue in the reference list to read.

  • First case there might be not having persimmon at all to read. You can check the permission from the list permission setting.

image

image

If the user has permissions check tem-level permissions in Advanced List Settings. Users may have restricted to read only items which is created by same user.

image

Cause 3

Having more columns exceeding the SharePoint limits of Row Ordinal may cause this errors.

SharePoint Stores data in SQL Table. If SharePoint can not stored 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 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 Fist few columns will be stored in Row 1 and 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 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 you are getting this error after you migrates 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 be also causing read conflicts with SQL database for users. You can delete the Unique permission in SharePoint Cashed profile to resolve this issue.

image

And delete any unique permission in the List.

Cause N

There can be many caused other that mentioned. I have resolved few by just restarting my SharePoint SQL environment . You can also give a try Smile

Comments

Popular posts from this blog

How to Link Two List and Create a combine view in the SharePoint 2010

In this way you can join multiple list together and can create a combine view. for an example assume that you are managing a list for some events. And also you are having a participants in separate list. Thus you want to join the two list and create a composite view. SharePoint 2010 allows you to create this kind of view using  Linked Data Source. in this approach you can create your own custom list in the SharePoint. How to Create a Linked Data source Go to SharePoint designer and  go to the link called data sources. And Click the Linked Data Source button in the ribbon. Then SharePoint designer will prompt following kind of a dialog. In there add two list, that you wan to linked together. I'm adding airline schedule and booking list. those are the two list that i wan to merge. then click next. And it will guide you another screen. it will ask you to select either Merge Merge use to combine list which are having same columns definition. for and example we can say th

Motion Eye Docker compose File

Docker compose files are comes in handy when considering container orchestration. Below example shows my docker compose files and folder structure. ---- Your Folder (motioneye)   -- etc   -- lib   -- docker-compose.yaml You can run the docker compose file using docker-compose -d , and etc and lib folder will be automatically populated in the initiation. --- Below shows the content of the docker-compose.yaml file. version: '3' services:   nodered:    image: "ccrisan/motioneye:master-amd64"    container_name: motioneye    restart: always    user: root    ports:      - 8765:8765    volumes:      - "/etc/localtime:/etc/localtime:ro"      - "./etc:/etc/motioneye"      - "./lib:/var/lib/motioneye"

How to get Username , UserID in CAML Query

If you are want to get the userID you can simple use following code. <Where>    <Eq>       <FieldRef Name='userfieldname' />       <Value Type='Integer'>            <UserID Type='Integer' />       </Value>    </Eq> </Where> in here you should declare the UserID variable before it uses. normally If you make a user filter in the SharePoint designer it will automatically create the parameter in parameter binding section in the web part. <ParameterBinding Name="UserID" Location="CAMLVariable" DefaultValue="CurrentUserName"/> But assume you want to filter using a user name and the field is not a persongroup feild and it is just a text field. then you can use following query to archive it. <Where>    <Eq>       <FieldRef Name='userfieldname' />       <Value Type=’Text’>            <UserID Type=’Text’/>       </Value>    </Eq> </Wh