'Creating view with nested 'no-lock' on SQL Server

Here is the scenario: I have some database model with about 500K new records everyday. The database is almost never updated (only insert statement and delete).

Many users would like to perform queries against database with tools such as PowerBI or so, but I haven't given any access to anybody to prevent deadlocking (I only allow specific IT managed resource to access the data).

I would like to open up data access, but I must prevent any one from blocking the new records insertions.

Could I create a view with nested no-lock inside it assuming no dirty read are created since no update are performed?

Would that be an acceptable design? I know it's is not a perfect solution and it's not mean for that.

It's a compromise to allow user with no SQL skills to perform ad-hoc queries and lookup.

Anything I might be missing?



Solution 1:[1]

I think that you can use 'WITH (NoLock) ' in front of table name in query, such as :

SELECT * FROM [table Name] WITH (NoLock)

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Elikill58