解决MSSQL错误229:不允许SELECT操作(mssql错误 229)

SQL Server 错误229″不允许SELECT操作”是一种非常常见的一种报错,它会在用户在执行查询时对对象单元数据模型(Object Unit Data Model, OUDM)图形化视图的将SELECT操作进行查询时发生。

这种错误的原因主要在于数据库的安全性和权限设置出现了问题,以及用户可能不具备SELECT权限。特别是企业级应用中,这种情况更为常见。

解决SQL Server错误229″不允许SELECT操作”的方法有很多。

首先,确认用户是否具有SELECT权限,执行如下指令:

USE [Database_Name]

GO

SELECT DISTINCT dp.state_desc

FROM sys.database_principals dp

可以确认拥有SELECT权限的用户,如果用户没有足够的SELECT权限, 就需要使用下面的指令进行授权:

GRANT SELECT ON [Table_Name]

TO [Graphics_User]

GO

有时候,系统也会抛出”不允许SELECT操作”的错误的,这是由于用户没有有效的对象模型(Object Model)元数据视图的SELECT权限造成的。

此时,可以使用下面的指令,为用户授予SELECT权限:

GRANT SELECT ON OBJECT::[ModelName]

TO [Graphics_User]

GO

最后,确认SQL Server实例上的”db_owner”固定数据库角色是否包含用户帐户的拥有者,如果不包含,就需要给用户添加此角色,以解决此错误:

EXEC sp_addrolemember ‘db_owner’, [Graphics_User]

GO

对于解决SQL Server错误229″不允许SELECT操作”来说,这几个操作是必不可少的,但存在其他潜在问题分析,可能需要其他操作来解决它。然而,以上操作可以帮助用户在短时间内解决SQL Server错误229″不允许SELECT操作”。


数据运维技术 » 解决MSSQL错误229:不允许SELECT操作(mssql错误 229)