If you are not using SQL Server 2008 onwards and specify LOCK_ESCALATION = Disabled, you may forget about the ROWLOCK hint. SQL Server can, and from its own experience, probably ignore it and take any lock (page or table) that it fills. There are no forcing hints to block before SQL Server 2008.
SET LOCK_TIMEOUT -1 removing this, you can use SET LOCK_TIMEOUT -1 to specify an infinite timeout.
I am very much inclined to have you do this and instead try to troubleshoot and optimize (provided that you are responsible for it) queries that really require locking on this table, speed them as much as possible to reduce the lock time.
Monitor locked resources with EXEC sp_lock TargetSPID to check which locks are actually running
One more note: SET LOCK_TIMEOUT sets a timeout for the current connection, if you use a connection pool, you set a lock timeout for everything that reuses this connection, which can lead to unintended behavior in your application.
source share