解决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操作”。