SCE and Virtual Servers

Over at systmecenterforum.org I found a post stating that SCE2007 licensing will count a Virtual Server as a Server.

I wanted to clarify an issue related to SCE 2007 licensing. Unlike Operations Manager 2007, agent-managed virtual servers in Essentials 2007 actualy DO count against the 30 server total. This is because SCE actually considers OS instances, rather than devices as in MOM 2005 and Ops Mgr 2007.

Read more at http://systemcenterforum.org/essentials-2007-licensing-and-virtual-servers/


Softgrid KB

After Microsoft bought Softricity they moved the Softgrid Knowledgebase over to the “normal” Microsoft KB…

The downside with that is that they removed some articles.

But… the old KB is still online.

URL: http://softricity.custhelp.com/cgi-bin/softricity.cfg/php/enduser/std_alp.php?p_sid=6ghl8TCi

Tip: Search for “Recipe”

Thanks for the URL Martin…


180 eval -> Full product

This is almost fun… Microsoft presenting a KB-article instead of linking the “Upgrade to full version” to the right tool.

Well, anyway… I guess a there are a few installations out there running on the eval-version so to upgrade follow the instructions at http://support.microsoft.com/?kbid=937826

Shortcut:
Go to OM2007CD:\SupportTools\i386 (or whatever system architecture you run on) and run LicenseWizard.msi then you just need a few next, next, yes, ok, next and then you’re done.


Blog about OM2007 Reporting

Eugene Bykov has just started up a blog about OM2007 and reporting. First post a few weeks ago… but hey, I got other things to do than just browsing for new blogs :-)

My name is Eugene Bykov and I am a developer responsible for reporting user interface in Microsoft System Center Operations Manager. I frequently get asked questions about new Operations Manager 2007 reporting infrastructure and ways of adopting it to needs of particular organization. I will try to answer some of those questions in this blog. As a developer I will primarily concentrate on using Operations Manager reporting infrastructure to create new reports and ways to customize existing reports to your specific needs.

Check it out at: http://blogs.msdn.com/eugenebykov/


snowland.se v2.0

Ok som ni kanske ser så har siten bytt tema och om någon rad även språk.

Announcing snowland v2.0
- Change of this site from swedish to english
- New theme
- Some small updates (mainly bug’s)

To-do-list
- Translate the static pages

Might-do-list
- Translate the older posts


Backup av SQL-databaser

Att ta backup på SQL-databaser & loggar är lite lagomt tråkigt.
Gör man det med maintenance-plan’s så får man en miljard (nåja… ett ganska rejält gäng iaf) filer. Kör man det genom någon annan wizard så blir det måttligt bra.

Nu har jag gjort samma backup-script i femtielva varianter och det känns som att det här fungerar riktigt bra.

Vad gör det då? Jo det är tvådelat, ett script för transaktionsloggar och ett för databasbackup.
Det script som är för dbbackup kör man lämpligtvis efter att bandaren har plockat upp filerna på band. Varför? Scriptet kör med “WITH INIT” vilket tömmer filerna och alla transloggar försvinner.
Det andra scriptet kör backup på transloggar på de databaser som är i recovery-model “Full” och inte är satta till “read only”.
Båda scripten kör backup till samma fil vilket gör det mycket enkelt att återläsa, och även att återläsa till en viss tidpunkt.

Databas-backup (Körs lämpligtvis efter bandbackup, en gång per dygn)

-- -------------------------------------------------------------------
--  Funktion: Backup av samtliga lokala databaser
--  Skapat:   2007-05-10 av 
--
--  Filerna namnsätts \\XYZ\DBBackup\SQLSERVER-INSTANS\DBnamn.bak
-- -------------------------------------------------------------------

-- Deklaration av variabler
DECLARE
        @backupPath sysname,
        @DBname sysname,
        @backupfile sysname

-- Konfiguration
SET @backupPath = '\\XYZ\DBBackup\'

-- -------------------------------------------------------------------
DECLARE myCur CURSOR
        -- Läser ur samtliga lokala databaser (förutom tempdb), sortera systemdatabaser först därefter i namnordning
        FOR SELECT NAME FROM MASTER..SYSDATABASES WHERE NAME NOT IN ('tempdb') ORDER BY SID, NAME
        FOR READ ONLY
OPEN myCur

-- Start av loop
FETCH NEXT FROM myCur INTO @DBname
WHILE (@@FETCH_STATUS <> -1) BEGIN
        -- Sätter sökvägen för backupfilerna
        SET @backupfile = @backupPath + RTrim(REPLACE(@@SERVERNAME, '\', '-')) + '\' + RTrim(REPLACE(@DBname, ' ', '_')) + '.bak'

        -- Skriver info till användaren/loggen
        PRINT ''
        PRINT '--- DB-backup to: ' + @backupfile

        -- Kör backup
        BACKUP DATABASE @DBname TO DISK = @backupfile WITH NAME = 'Scripted backup', DESCRIPTION = 'Full Backup', INIT

        -- Fortsätter loopen
        FETCH NEXT FROM myCur INTO @DBname
END
CLOSE myCur
DEALLOCATE myCur
-- -------------------------------------------------------------------

Translogg-backup (Körs lämpligtvis varje halvtimme mellan 06:00 & 19:00, om det nu är tiderna då användare arbetar i databaserna)

-- -------------------------------------------------------------------
--  Funktion: Backup av transaktionsloggen på lokala databaser
--  Skapat:   2007-05-10 av 
--
--  Filerna namnsätts \\XYZ\DBBackup\SQLSERVER-INSTANS\DBnamn.bak
-- -------------------------------------------------------------------

-- Deklaration av variabler
DECLARE
        @backupPath sysname,
        @DBname sysname,
        @backupfile sysname

-- Konfiguration
SET @backupPath = '\\XYZ\DBBackup\'

-- -------------------------------------------------------------------
DECLARE myCur CURSOR
        -- Läser ur samtliga lokala databaser (förutom tempdb & model), sortera systemdatabaser först därefter i namnordning
        FOR SELECT NAME FROM MASTER..SYSDATABASES WHERE NAME NOT IN ('tempdb', 'model') ORDER BY SID, NAME
        FOR READ ONLY
OPEN myCur

-- Start av loop
FETCH NEXT FROM myCur INTO @DBname
WHILE (@@FETCH_STATUS <> -1) BEGIN
        -- Kollar att det är recoverymodel full och att den inte är skrivskyddad
        IF (convert(sysname,DatabasePropertyEx(@DBname,'Recovery')) = 'FULL') AND (convert(sysname,DatabasePropertyEx(@DBname,'Updateability')) = 'READ_WRITE') BEGIN
                -- Sätter sökvägen för backupfilerna
                SET @backupfile = @backupPath + RTrim(REPLACE(@@SERVERNAME, '\', '-')) + '\' + RTrim(REPLACE(@DBname, ' ', '_')) + '.bak'

                -- Skriver info till användaren/loggen
                PRINT ''
                PRINT '--- Log-backup to: ' + @backupfile

                -- Kör backup
                BACKUP LOG @DBname TO DISK = @backupfile WITH NAME = 'Scripted backup', DESCRIPTION = 'Logbackup', NOINIT
        END

        -- Fortsätter loopen
        FETCH NEXT FROM myCur INTO @DBname
END
CLOSE myCur
DEALLOCATE myCur
-- -------------------------------------------------------------------

Det som är (mest) imponerande är att det finns kommentarer! :-)


Demo web-app v2

Version 2 of demo-webb-app



i räknar från 0 till 250.

Om i är mer än <%= Application("rnd") %> så kommer det upp

en "felaktig" text…


<%

Randomize
if int(Application("rnd")) = 0 then
Application("rnd") = 150 + Int((100 – 1 + 1) * Rnd + 1)
end if

Application("i") = Int(Application("i")) + 1

Response.Write "i = " & Application("i") & "

"

if Application("i") < Application("rnd") then
Response.Write "Fungerar finfint"
else
Response.Write "Nu fungerar det INTE det minsta"
end if

if Application("i") = 250 then
Application("i") = 0
Application("rnd") = 150 + Int((100 – 1 + 1) * Rnd + 1)
end if

%>


Gives you a bit niceer health-report…

070509_WebHealth.jpg
(This one contains planed downtime …)