Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Kako automatski dodati WITH ENCRYPTION klauzulu?

[es] :: MS SQL :: Kako automatski dodati WITH ENCRYPTION klauzulu?

[ Pregleda: 2524 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

flighter_022
NS

Član broj: 18499
Poruke: 719
*.directonpc.net.

ICQ: 23089150


+231 Profil

icon Kako automatski dodati WITH ENCRYPTION klauzulu?31.10.2007. u 17:25 - pre 183 meseci
Postoji li nacin da se u SQL Serveru 2005, automatski ubaci WITH ENCRYPTION klauzula u stored procedures? Znaci, imam na primer 200 procedura, i hocu da odjednom u sve ubacim tu klauzulu?

 
Odgovor na temu

DarkMan
Darko Matesic

Član broj: 20445
Poruke: 572
*.ptt.yu.

Jabber: DarkMan


Profil

icon Re: Kako automatski dodati WITH ENCRYPTION klauzulu?01.11.2007. u 13:09 - pre 183 meseci
Posto vidim da ti niko ne odgovara ja ti mogu predloziti resenje koje najverovatnije ne bi bilo moguce izvesti cisto uz pomoc SQL servera.

Mozes da odradis ekstrakciju/skriptovanje svih stored procedura na sledeci nacin:
Code:

declare @text varchar(8000)
select @text = ctext from dbo.syscomments where id=object_id(N'[dbo].[<naziv stored procedure>]')
print @text

Pa zatim napisati kod koji ce promeniti sve CREATE u ALTER i dodati WITH ENCRYPTION na pravo mesto.
I na kraju pokrenuti sve te skripte.
Naravno proceduru probati prvo na kopiji baze, pa ako sve prodje kako treba odradis na konkretnoj bazi.
 
Odgovor na temu

flighter_022
NS

Član broj: 18499
Poruke: 719
*.directonpc.net.

ICQ: 23089150


+231 Profil

icon Re: Kako automatski dodati WITH ENCRYPTION klauzulu?01.11.2007. u 13:33 - pre 183 meseci
Hmmm, to sam i mislio, na neki nacin izvuci listu procedura i onda uraditi program koji ce da protrci kroz njih i ubaci sta mi treba.
 
Odgovor na temu

vujkev
Beograd

Član broj: 8072
Poruke: 1345
212.200.243.*



+104 Profil

icon Re: Kako automatski dodati WITH ENCRYPTION klauzulu?08.11.2007. u 00:24 - pre 183 meseci
Pošto i sam imam nekoliko procedura koje ću kasnije zaštititi morao sam da napravim isto to što tebi treba. Evo čistog T-SQL koda koji, koliko sam mogao da proverim, radi. Nadam se da nije kasno

Code:


declare @text nvarchar(max)
declare @ObjectIDOld int
declare @ObjectID int
declare @ProcedureStart int
declare @SPText nvarchar(max)
 
    declare c cursor 
        for
            select ID, [ctext] from dbo.syscomments order by id, colid 
    
    open c
    fetch next from c
        into @ObjectID, @text

    select @ObjectIDOld = @ObjectID
    while (@@fetch_status = 0)
    begin
        select @SPText=''
        while (@ObjectIDOld = @ObjectID and @@fetch_status = 0)
        begin
            select @SPText = @SPText +  @text
            print str(len(@sptext))
            fetch next from c
                into @ObjectID, @text
        end

        select @ProcedureStart = Patindex('create PROCEDURE', @SPText)

        if @ProcedureStart >= 0 
        begin
            declare @AsStart int

            select @AsStart = Patindex(N'%[^0-9A-Z]as[^0-9A-Z]%', @SPText)

            if @AsStart > 0 
            begin 
                select @SPText = replace(@SPText, 'create PROCEDURE', 'Alter procedure')

                select @SPText = left(@SPText, @AsStart - 1) 
                        + ' With encryption as ' 
                        + right(@spText, len(@SPText) - @AsStart - 1)

                exec (@SPText)
            end
        end    
        select @ObjectIDOld = @ObjectID
    end
    close c
    deallocate c

Naučio sam...
Da je važnije biti ljubazan nego biti u pravu
 
Odgovor na temu

flighter_022
NS

Član broj: 18499
Poruke: 719
*.directonpc.net.

ICQ: 23089150


+231 Profil

icon Re: Kako automatski dodati WITH ENCRYPTION klauzulu?18.11.2007. u 23:40 - pre 183 meseci
Ma nije kasno... naravno :)
Hvala!
 
Odgovor na temu

[es] :: MS SQL :: Kako automatski dodati WITH ENCRYPTION klauzulu?

[ Pregleda: 2524 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.