Creator 'SYSDBA' of the stored procedure 'SP_abc' does not exist

Database
RB
Enthusiast

Creator 'SYSDBA' of the stored procedure 'SP_abc' does not exist

Hello,

 

I get this error while trying to run the procedure from an excel macro. I tried recompiling the SP and it still throws the same error. Any idea on how to fix this. 

 

Thanks

6 REPLIES 6
Teradata Employee

Re: Creator 'SYSDBA' of the stored procedure 'SP_abc' does not exist

You will need to REPLACE (or DROP / CREATE) to resolve this error. ALTER COMPILE can change certain attributes, but not Creator.

 

(The check for creator privileges is based on the internal ID, not the name.)

RB
Enthusiast

Re: Creator 'SYSDBA' of the stored procedure 'SP_abc' does not exist

Hi Fred,

 

I did run "Replace Procedure" with sysdba and still get the same error :-(

 

Teradata Employee

Re: Creator 'SYSDBA' of the stored procedure 'SP_abc' does not exist

Then DROP followed by CREATE will be necessary.

RB
Enthusiast

Re: Creator 'SYSDBA' of the stored procedure 'SP_abc' does not exist

No luck:-(. I dropped the procedure and ran the 'Replace procedure' and got the same error. 

Teradata Employee

Re: Creator 'SYSDBA' of the stored procedure 'SP_abc' does not exist

If DROP PROCEDURE followed by CREATE PROCEDURE doesn't work, then it's probably time to open an incident with Teradata support.

Teradata Employee

Re: Creator 'SYSDBA' of the stored procedure 'SP_abc' does not exist

@RB  Perhaps there is an issue that the text of the message is not precisely identifying. What does this query return?

with NumAccessRights as (
select a.DatabaseID, count(*) as rowCount from dbc.AccessRights a group by 1 ) select o.DatabaseName as OwnerName, p.TVMName as ProcedureName, p.CreatorName, x.rowCount as NumOwnerRights, p.CreateUID, c.DatabaseName as CreateUIDName, y.rowCount as NumCreatorRights from dbc.TVM p join dbc.DBase o on p.DatabaseID = o.DatabaseID left join dbc.DBase c on p.CreateUID = c.DatabaseID left join NumAccessRights x on p.DatabaseID = x.DatabaseID left join NumAccessRights y on p.CreateUID = y.DatabaseID where o.DatabaseName = 'SYSDBA' /* Note: supply the appropriate owner of the SP if not SYSDBA */ and p.TVMName = 'SP_abc' ;