I looked everywhere but I could not find an answer, so here I am.

I tried to run Sitecore's broken link report (in Control Panel > Reports > Scan the database for broken links) but got the below message. Have any of you encountered this?

An error occured

Job started: ScanBrokenLinks|System.Data.SqlClient.SqlException (0x80131904): A transport-level error has occurred when receiving results from the server. (provider: TCP Provider, error: 0 - The semaphore timeout period has expired.) ---> System.ComponentModel.Win32Exception (0x80004005): The semaphore timeout period has expired

at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)

at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)

at System.Data.SqlClient.TdsParserStateObject.ReadSniError(TdsParserStateObject stateObj, UInt32 error)

at System.Data.SqlClient.TdsParserStateObject.ReadSniSyncOverAsync()

at System.Data.SqlClient.TdsParserStateObject.TryReadNetworkPacket()

at System.Data.SqlClient.TdsParserStateObject.TryPrepareBuffer()

at System.Data.SqlClient.TdsParserStateObject.TryReadByteArray(Byte[] buff, Int32 offset, Int32 len, Int32& totalRead)

at System.Data.SqlClient.TdsParserStateObject.TryReadString(Int32 length, String& value)

at System.Data.SqlClient.TdsParser.TryReadSqlStringValue(SqlBuffer value, Byte type, Int32 length, Encoding encoding, Boolean isPlp, TdsParserStateObject stateObj)

at System.Data.SqlClient.TdsParser.TryReadSqlValue(SqlBuffer value, SqlMetaDataPriv md, Int32 length, TdsParserStateObject stateObj, SqlCommandColumnEncryptionSetting columnEncryptionOverride, String columnName)

at System.Data.SqlClient.SqlDataReader.TryReadColumnInternal(Int32 i, Boolean readHeaderOnly)

at System.Data.SqlClient.SqlDataReader.TryReadColumn(Int32 i, Boolean setTimeout, Boolean allowPartiallyReadColumn)

at System.Data.SqlClient.SqlDataReader.GetString(Int32 i)

at Sitecore.Links.SqlLinkDatabase.AddBrokenLinks(IDataReader reader, List`1 links, Database database)

at Sitecore.Links.SqlLinkDatabase.GetBrokenLinks(Database database)

at Sitecore.Shell.Applications.Tools.BrokenLinks.BrokenLinksForm.Scanner.Scan(Boolean excludeSystemItems)


Error Number:121,State:0,Class:20|Job ended: ScanBrokenLinks (units processed: )

  • 1
    <command name="system:brokenlinks" type="Sitecore.Shell.Framework.Commands.System.BrokenLinks,Sitecore.Kernel"/> this command is responible to create report, If you didn't find a solution then you can debug this. Sep 24, 2020 at 15:16
  • The weirdest thing is that I cannot reproduce this locally. It happens only on prod. It works on UAT as well as it works on my dev machine.
    – iusmar
    Sep 25, 2020 at 9:03
  • Can you try to restore Prod database in dev and then reproduce the issue? Jan 31, 2022 at 17:09

2 Answers 2


I encountered same issue while removing Roles from RoleManger, after that unicorn sync stopped working. I found the proper explanation in the below link. Not sure if it will resolve your problem but it fixed the issue for me.

Follow the below link and other resolutions as well


The problem was caused by a field name called "Link". I changed the field name to anything else than "Link" and it worked.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.