在 SQL Server 数据库中,有一个包含数百万条记录的表,该表经常插入新数据并使用新数据进行更新。
现在客户要求他们从这张表上写下他们自己的报告。
我非常担心他们没有正确编写报告,并且他们在长时间运行的报告上锁定了表格。
我可以给他们不能锁定表的凭据吗
即只能做类似WITH (NOLOCK)
的脏读吗?
最佳答案
我想您可以在有问题的表上创建一个 View 并将 NOLOCK
添加到该查询。然后授予他们的用户帐户对 View 而不是基表的只读访问权限?
CREATE VIEW dbo.ReportingView
AS
SELECT COL1, COL2, COL3
FROM dbo.BASETABLE (NOLOCK)
关于sql-server - 只读用户的 SQL Server 权限以防止锁定,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17189680/