Permissions lost after alter table-valued function

From: Micle (micle_at_netlab.ru)
Date: 10/05/05


Date: Wed, 5 Oct 2005 16:24:57 +0400

create function dbo.tfFoo()
returns @t table
 (
 ID int
 )
as
begin
 insert into @t(ID)
 values(1);

 return;
end
GO
grant select on dbo.tfFoo to public
GO
select object_id('dbo.tfFoo')
select id from syspermissions where id = object_id('dbo.tfFoo')
select id from sysprotects where id = object_id('dbo.tfFoo')
GO
alter function dbo.tfFoo()
returns @t table
 (
 ID int
 )
as
begin
 insert into @t(ID)
 values(1);

 return;
end
GO
select object_id('dbo.tfFoo')
select id from syspermissions where id = object_id('dbo.tfFoo')
select id from sysprotects where id = object_id('dbo.tfFoo')
GO
drop function dbo.tfFoo
GO

Result

-----------
661785615

(1 row(s) affected)

id
-----------
661785615

(1 row(s) affected)

id
-----------
661785615

(1 row(s) affected)

-----------
661785615

(1 row(s) affected)

id
-----------

(0 row(s) affected)

id
-----------

(0 row(s) affected)

Permissions are lost.

Micle.