Archive for 30. okt. 2013

Elektrilevi: andke elektrit…eksju, onju…natuke stabiilsust ei teeks paha

oktoober 30, 2013

Eriti ei viitsi elus kriitikat levitada, aga E-levi viskab mul küll üle.
Kui ma mingi toote eest maksan madalat hinda, siis ma ei ootagi kõrget kvaliteeti ja mul pole ka erilisi nõudeid.
Võtame ette elektriarve: ohooo…võrgutasud suuremad kui elektrihind ise.

Loogika = kõrgem tasu = kvaliteet; seda võrgutasu on kasseeritud juba 2004 aastast ja 2015 pidid kõik 10kV liinid maa-all olema (eriti metsasihte läbivad). Madalpingeliinid põimitud kaablitega.

Oli 28 okt öösel ja tõesti tuli tuulekest (õhtul elekter läinud),
eeldasin noh, et normaalne elektrifirma saab asjad korda,
eriti kui ei ela kusagil võsas vaid linna kõrval. Suured asulad siiani osaliselt elektrita (Sauga, Audru jne)…lasteaiad kinni jne.

Juba peas kuulen PR esindajate juttu: “kuidas me muudkui investeerime liinidesse ja kuidas kõik kõige paremas korras…”. Kes seda ala õppinud, teab et see on standardvastus, isegi kui lood hoopis teistsugused.

Siis hakkasid SMSid tulema (ka öösel),
– teil pole elektrit, eeldatav taastamine X ajal
– nüüd teil on elekter (loomulikult polnud)
ja nii umbes tuli neid joga SMSsse vähemalt 8…

Sain ka viimase prognoosi: et ei tea – ehk saate elektri üldse järgmine nädal…november siis.


Kuna mul kõik töö kaugtöö ja arvutitega seotud, siis arvake ära,
kuidas E-levi meelest peaksin raha teenima !! Väga lihtne küsimus….

Siis pilt kuidas hetkel elektrit saame: MERSUJAAMAST

IMG_0015

Advertisements

MSSQL: krüpteerida kõik andmebaasi protseduurid

oktoober 17, 2013

Lihtsalt ükspäev oli vaja krüpteerida ära ühel andmebaasil kõik SQL serveri protseduurid ja Googlest ei leidnud sellel hetkel mulle sobivat koodilõiku. Tegin ühe lihtsa variandi.

PS enne protseduuride krüpteerimist tehke protseduuride lähtekoodidest varukoopia.

Ka küsige endalt, kas Te teate, mida teete…kui ei tea…ärge tehke !

Parsimist võite täiustada, ma ei hakanud seal palju aega raiskama st
osasid protseduure ei pruugi ta krüpteerida.


SET NOCOUNT ON

DECLARE @cr cursor
DECLARE @cr_merge cursor
DECLARE @procname varchar(255)
DECLARE @pline nvarchar(2096)
DECLARE @tmp TABLE (line nvarchar(2096))
DECLARE @proccont nvarchar(max)
DECLARE @indx1 int
DECLARE @indx2 int

SET @cr = CURSOR LOCAL SCROLL FOR
SELECT name
FROM dbo.sysobjects
WHERE (type = 'P')
AND LEFT(name,3) NOT IN ('dt_','sp_','xp_','ms_')

OPEN @cr

FETCH NEXT FROM @cr INTO @procname

WHILE @@FETCH_STATUS=0
BEGIN

SET @proccont=''
SET @pline=''
DELETE FROM @tmp

INSERT INTO @tmp(line)
EXEC sp_helptext @procname

SET @cr_merge = CURSOR LOCAL SCROLL FOR SELECT line FROM @tmp

OPEN @cr_merge
FETCH NEXT FROM @cr_merge INTO @pline

WHILE @@FETCH_STATUS=0
BEGIN
SET @proccont=@proccont+ @pline
FETCH NEXT FROM @cr_merge INTO @pline
END

IF (CHARINDEX('is encrypted.',@proccont)=0)
BEGIN
-- TODO natuke intelligentsem parsimine; hetkel dummy
-- SET @indx1 = CHARINDEX('AS',@proccont);
SET @indx1 = CHARINDEX('BEGIN',@proccont);
SET @indx2 = CHARINDEX('WITH',@proccont);
IF (@indx2>0) and (@indx1>@indx2)
BEGIN
SET @proccont = STUFF(@proccont,@indx2,4,'WITH encryption, ')
END ELSE
IF (@indx1>0)
BEGIN
SET @proccont = STUFF(@proccont,@indx1-4,0,'WITH encryption ')

END

SET @proccont = REPLACE(@proccont,'CREATE PROCEDURE','ALTER PROCEDURE')
SET @proccont = REPLACE(@proccont,'CREATE PROC','ALTER PROC')

IF (@indx1>0) or (@indx2>0)
BEGIN
EXEC (@proccont)
SELECT 'Krüpteerisin ',@procname

select substring(@proccont,0,300)
END
END

-- select @proccont
-- break

CLOSE @cr_merge
DEALLOCATE @cr_merge

FETCH NEXT FROM @cr INTO @procname
END

CLOSE @cr
DEALLOCATE @cr