Re: Permissions lost after alter table-valued function

From: Dan Guzman (guzmanda_at_nospam-online.sbcglobal.net)
Date: 10/05/05


Date: Wed, 5 Oct 2005 07:33:56 -0500

This looks like the bug described in MSKB 888530:

http://support.microsoft.com/default.aspx?scid=kb;en-us;888530

-- 
Hope this helps.
Dan Guzman
SQL Server MVP
"Micle" <micle@netlab.ru> wrote in message 
news:%23S3GNfayFHA.2516@TK2MSFTNGP12.phx.gbl...
> 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.
>
>
>