Question

The MetricsUser account receives the following error when executing a stored procedure:

"Msg 1088, Level 16, State 7, Procedure Data_SPROC, Line 59 Cannot find the object "tblPeopleProjectStage0" because it does not exist or you do not have permissions."

The SPROC is rather long though I would be happy to post it. I already executed the following query to grant permissions:

GRANT EXECUTE ON dbo.Data_SPROC TO [MetricsUser]
GRANT INSERT ON dbo.tblPeopleProjectStage0 TO [MetricsUser]
GRANT UPDATE ON dbo.tblPeopleProjectStage0 TO [MetricsUser]
GRANT DELETE ON dbo.tblPeopleProjectStage0 TO [MetricsUser]
GRANT SELECT ON dbo.tblPeopleProjectStage0 TO [MetricsUser]

This statement executed successfully.

Any reason why a permissions error would occur after permissions have been explicitly granted to a user? I will edit and add sample data plus stored procedure code if needed.

Edit

Ok here are the results from the permissions query:

Name           Type       Object_Name                  Perm. Name    Perm. State Desc
-----------     --------  ------------                 ---------     -----------
MetricsUser    SQL_USER   splitstring                  SELECT        GRANT
MetricsUser    SQL_USER   tblPeopleProjectStage1       DELETE        GRANT
MetricsUser    SQL_USER   tblPeopleProjectStage1       INSERT        GRANT
MetricsUser    SQL_USER   tblPeopleProjectStage1       SELECT        GRANT
MetricsUser    SQL_USER   tblPeopleProjectStage1       UPDATE        GRANT
MetricsUser    SQL_USER   tblPeopleProjectStage2       DELETE        GRANT
MetricsUser    SQL_USER   tblPeopleProjectStage2       INSERT        GRANT
MetricsUser    SQL_USER   tblPeopleProjectStage2       SELECT        GRANT
MetricsUser    SQL_USER   tblPeopleProjectStage2       UPDATE        GRANT
MetricsUser    SQL_USER   splitindexedstring           SELECT        GRANT
MetricsUser    SQL_USER   Split_Text_Into_Stage_1      EXECUTE       GRANT
MetricsUser    SQL_USER   Split_Text_Into_Stage_2      EXECUTE       GRANT
MetricsUser    SQL_USER   Split_Text_Into_Stage_3      EXECUTE       GRANT
MetricsUser    SQL_USER   tblPeopleProjectStage3       DELETE        GRANT
MetricsUser    SQL_USER   tblPeopleProjectStage3       INSERT        GRANT
MetricsUser    SQL_USER   tblPeopleProjectStage3       SELECT        GRANT
MetricsUser    SQL_USER   tblPeopleProjectStage3       UPDATE        GRANT
MetricsUser    SQL_USER   Update_Text_In_Raw_From_Init EXECUTE       GRANT
MetricsUser    SQL_USER   tblPeopleProjectStage4       DELETE        GRANT
MetricsUser    SQL_USER   tblPeopleProjectStage4       INSERT        GRANT
MetricsUser    SQL_USER   tblPeopleProjectStage4       SELECT        GRANT
MetricsUser    SQL_USER   tblPeopleProjectStage4       UPDATE        GRANT
MetricsUser    SQL_USER   Split_Text_Into_Stage_4      EXECUTE       GRANT
MetricsUser    SQL_USER   Data_SPROC                   EXECUTE       GRANT
MetricsUser    SQL_USER   tblPeopleProjectStage0       DELETE        GRANT
MetricsUser    SQL_USER   tblPeopleProjectStage0       INSERT        GRANT
MetricsUser    SQL_USER   tblPeopleProjectStage0       SELECT        GRANT
MetricsUser    SQL_USER   tblPeopleProjectStage0       UPDATE        GRANT
MetricsUser    SQL_USER   NULL                         CONNECT       GRANT

Again, Stage0 is the problem and Data_SPROC is being called. I'm not sure what to look for.

Edit 2: Here is the area of the stored procedure that seems to be the problem; does the truncate command require additional permissions?

INSERT INTO [Metrics].dbo.tblPeopleProjectStage1(Item_Title, Project_Name, User_Name, WY_Portions_Date)
SELECT s.Item_Title, s.Project_Name, s.User_Name, v.WY_Portions_Date
FROM 
(
SELECT d.Item_Title, d.Project_Name, d.User_Names, c.item User_Name, c.rn
FROM [Metrics].dbo.tblPeopleProjectStage0 d
CROSS APPLY [Metrics].dbo.splitstring(d.User_Names, ';') c
) s

Inner Join

(
SELECT d.Item_Title, d.Project_Name, d.WY_Portions_Dates,
c.item WY_Portions_Date, c.rn
FROM [Metrics].dbo.tblPeopleProjectStage0 d
CROSS APPLY [Metrics].dbo.splitstring(d.WY_Portions_Dates, '*') c
) v
on s.Item_Title = v.Item_Title
and s.rn = v.rn;

TRUNCATE TABLE [Metrics].dbo.tblPeopleProjectStage0
Was it helpful?

Solution

I needed to add "Alter" permissions to my 'Metrics' user. After doing that everything clicked along just fine! So, while I added "permissions" I didn't add the "correct permissions"

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top