Reputation: 2607
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
Upvotes: 1
Views: 333
Reputation: 2607
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"
Upvotes: 1