SQL backup dátum formázással parancssorból

Szervert frissítettünk és úgy határoztunk, hogy nem csak a webszervert cseréljük le IIS7-re, hanem az adatbázis kiszolgálót is SQL Server 2008. Ezek után nem volt mit tenni, a backup szkripteket is illett migrálni, hiszen az osql.exe már egy ideje feketelistán van.

Korábban az osql.exe segítségével futtattuk a backup szkripteket, ami bár működik SQL Server 2008-on, csakhogy már egy ideje ez szerepel róla a Books Online-ban:

This feature will be removed in a future version of SQL Server. Avoid using this feature in new development work, and plan to modify applications that currently use the feature. Use sqlcmd instead. For more information, see sqlcmd Utility.

A jó hír az, hogy a két eszközt szinte ugyanúgy kell paraméterezni, legalábbis a nálunk használt –S, –d, –E és –Q paraméterek egyeztek, tehát éppen csak az .exe nevét kellett átírni.

Mivel a backup fájl nevébe a dátumot is szeretjük beleírni, ezért használtunk egy külső .vbs fájlt, ami a mai dátumot fájlnév-barát módon előállítja. Most kis szerencsével sikerült meglelni azt a megoldást, amivel ezt közvetlenül .cmd fájlból megtehetjük. Az alábbi példában a :generate-timestamp címke utáni rész a %timestamp% változóba beleírja a mai dátumot ebben a formában: 20081020_1623. Mivel valójában sztring parszolásról van szó, érdemes rá odafigyelni, hogy ez csak akkor fog jól működni, ha a szerveren magyar területi beállítások vannak.

    @echo off

    call :generate-timestamp
    echo Timestamp: %timestamp%
    pause
    goto :EOF

    :generate-timestamp
    set now_date=%date%
    set now_time=%time%
    set now_Year=%now_date:~0,4%
    set now_Month=%now_date:~5,2%
    set now_Day=%now_date:~8,2%
    set now_Hour=%now_time:~0,2%
    set now_Min=%now_time:~3,2%
    if "%now_Hour:~0,1%"==" " set now_Hour=0%now_Hour:~1,1%
    set timestamp=%now_year%%now_month%%now_day%_%now_hour%%now_min%
    goto :EOF

    :EOF

Aki substring, index vagy hasonló függvényekre számított, az velem együtt csalódott egy kicsit, de azért örüljünk, hogy meg lehet csinálni. Csak egy kicsit Perl-szerű érzés akarmi.Substring(0,4) helyett %akarmi:~0,4%-et írni  :)


Balássy György (MS RD, ASP.NET MVP, MCTS)

Balássy György (MS RD, ASP.NET MVP, MCTS) Villamosmérnök, a BME Automatizálási és Alkalmazott Informatikai Tanszékén webportálok fejlesztését oktatja. 2000 óta foglalkozik a Microsoft .NET platformjával, melynek meghonosításában jelentős szerepet vállalt előadóként, konzulensként és A .NET Framework és programozása című könyv társszerzőjeként. Az MSDN Kompetencia Központon belül a Portál Technológiák Csoport vezetője, szakterülete web alapú rendszerek fejlesztése és üzemeltetése. 2004-ben Magyarországon elsőként kapta meg a Most Valuable Professional címet, majd 2005 óta a Microsoft magyarországi regionális igazgatója. Publikációi a Technet Magazinban, az MSDN Kompetencia Központ honlapján és szakmai blogjában olvashatóak.

2008.10.20. 18:20:20 | Permalink | Hozzászólások: 0 | Tárgyszavak: ,


  • Windows Virtual PC hardver támogatás nélkül

    Balássy György (MS RD, ASP.NET MVP, MCTS) Nem mondom, hogy kifejezetten boldog voltam, amikor anno kiderült, hogy a Windows 7-hez új virtualizációs technológia jön. Bár a Windows XP Mode nagyon jó ötlet, bizony volt gépem, ahol a Windows 7 átállás egyben a virtuális gépek elfelejtését is jelentette a megfelelő hardver támogatás hiánya miatt. Különösen az volt bosszantó, hogy simán fel lehetett telepíteni a WVPC-t, lehetett virtuális masinákat konfigurálni, majd a virtuális gép indulásakor jött a bal horog: “Windows Virtual PC cannot start because this computer does not support hardware-assisted virtualization.” Ez a probléma most végre megszűnt. Tovább »
  • Web.config szétdobása több fájlba

    Dávid Zoltán Ha több ember fejleszt egyszerre valamilyen source control eszközzel, akkor óhatatlanul előkerül az probléma, hogy egymás web.config (app.config) bejegyzéseit írkálják felül. Talán leggyakrabban ez a connection stringgekkel esik meg: mindenkinek másképp hívják a gépét, az SQL szerverét vagy az adatbázisát. További probléma, hogy az ilyesmi az éles környezeten történő verziófrissítést is lassítja: nagyon körültekintően kell másolni a web.configot, hogy minden fontos éles beállítás megmaradjon, de az újdonságok mégis bekerüljenek. A fenti jelenség jól kezelhető, ha több állományba dobjuk szét az alkalmazásunk konfigurációját. Tovább »


Írja meg Ön is véleményét!


Hozzászólásokat csak regisztrált, bejelentkezett felhasználóktól tudunk elfogadni!

Hozzászólások