[ 123456789 @ 17.08.2005. 19:31 ] @
Kao sto se vidi iz naziva teme. Iz razloga svakodnevnog backupa baze u ciju se tabelu 24h vrsi upis resio sam da dnevno pomocu joba pravim tabelu cije ce ime zbog intuitivnosti biti datum. Nisam bas siguran kako da to realizujem pa ako neko zna molim pomagajte, hitno mi je. Hvala
[ jablan @ 18.08.2005. 07:38 ] @
Bekapuješ tabele iz baze u istu tu bazu? Interesantno...

Pogledaj T-SQL komandu EXECUTE.
[ 123456789 @ 18.08.2005. 16:27 ] @
Pazi drago mi je da hoces da mi pomognes ali ja zaista nisam toliko upucen u T-SQL da bi mi tvoj hint pomogao.
U SQL-u sam skoro siguran da to ne mogu da uradim, da li znas konkretnu liniju coda CREATE TABLE... ????
Sama ideja backupa nije toliko bitna, problem je sto zelim da mi podaci budu smesteni u bazi tako da ja znam po imenu tabele da je to taj trazeni datum kad budem posle cupao podatke, mogao sam da imam i samo jednu tabelu sa kolonom npr datum ali mislim da je bezveze da imam milion podataka sa istom vrednoscu tog atributa. A opet ako se ne varam ne mogu bekapovati tu tabelu ako u nju vrsim 24-7 upis i to velikog broja slogova. Nisam siguran ali ako neko zna mozda neko drugo resenje bio bih bas zahvalan
[ spartak @ 18.08.2005. 20:11 ] @
Mladi prijatelju jendvatricetirpetsestseamosamdevet, na granici si da napravis opasan mispractice.

To sto ti radis ne da nije backup, nego nije cak ni "zgodno" za pristup po imenu kako kazes.

Bolje radi backup cele baze, a podacima po datumu pristupaj uz pomoc klauzule WHERE sa uslovom za datum. Veruj mi da je lakse nego pisati kod koji proverava da li postoji tabela sa datumom u imenu. (U stvari 'lakse' je relativno, ima raznih ljudi)

Elem, ako bas hoces da shutirash podatke negde drugde, napravi neku tabelu koja ce se zvati History ili tako nesto, pa radi select -> insert -> delete u transakciji, ali podatke iz nje opet vadi po uslovima za datum u selektu...
[ spartak @ 18.08.2005. 20:16 ] @
I minut kasnije mi je palo na pamet jos nesto. Bas se trudim da nabodem tvoj motiv da dinamicki kreiras tabele...

Elem, da se nisi ti mozda nameracio da pravis svakodnevno te tabele da bi mogao da imas "orginalno" stanje ukoliko neko u medjuvremenu menjao neka polja u istim tim rekordima za datume unazad?

Opet greska, postoje bolji nacini verzioniranja.

Elem, secam se da sam u jednoj od prethodnih firmi imao prilike da se sa kolegama smejem nekoj bazi koja je imala: Januar, Februar.... ali dosla je sledeca godina pa je bilo Januar1, Februar2 i tako dalje...

Naravno da su svi podaci vec preksutra bili u jednoj jedinoj tabeli.

Sretno
[ jablan @ 19.08.2005. 08:19 ] @
Citat:
123456789: mislim da je bezveze da imam milion podataka sa istom vrednoscu tog atributa.

Zašto?
Citat:
A opet ako se ne varam ne mogu bekapovati tu tabelu ako u nju vrsim 24-7 upis i to velikog broja slogova.

Definiši "bekapovati tabelu". Bekapovanje je pravljenje sigurnosne kopije, i, kad se radi sa bazama, obično se pod bekapom podrazumeva bekapovanje cele baze.

Izvini, u prvom odgovoru sam ti dao link na EXECUTE, što nije od neke koristi. Trebalo je da ti dam link na sp_executesql.

A evo i kooda:
Code:
declare @s nvarchar(1000)
set @s = 'select * into [' 
    + cast(datepart(year, getdate()) as varchar(10))
    + cast(datepart(month, getdate())  as varchar(10))
    + cast(datepart(day, getdate()) as varchar(10))
    + '] from tabela where datum = getdate()'
exec sp_executesql @s


Srećan sad?
[ 123456789 @ 19.08.2005. 14:56 ] @
Pozdrav,
Ono sto je mene interesovalo je da li postoji neki T-SQL kod za kreiranje tabele tako definisane. Bitno mi je samo bilo kad mi je vec palo na pamet da li je to uopste moguce uraditi, radoznalost...nazovite to kako hocete. A to je ne preimenovanje postojece tabele vec job koji kreira tabelu sa datumom kao imenom. Sto se backupa tice naravno da se backupuje baza, pogresno sam se izrazio verovatno zbog toga sto moja baza ima samo tu tabelu i nekoliko procedura. To je aplikacija za video nadzor koja grebuje slike 24h sa vise web kamerica i posredstvom directx direct chata u lokalnoj mrezi salje hostu koji te slike smesta u SQL Server bazu. Moja aplikacija radi i sa samo jednom tabelom da se razumemo i to radi poprilicno dobro. I to moze ostati tako, u pitanju je moj diplomski, ali razmisljam da kad bi to radio za realnu situaciju imao bi jednu tabelu sa izobiljem snimljenog materijala jer svaki peer salje oko 10-15 slika u sec pa kad se to pomnozi sa brojem peerova, sekundama i minutima....to je baza koja onda raste poprilicno brzu uzimajuci u obzir da se u tu tabelu smestaju slike. Naravno da sam ja umesto slika mogao da smestam reference na slike koje bi bile smestene na nekom file sistemu, ali to je vec druga prica. Mislio sam da bi onda mozda bilo bolje za backup da oslobadjam danas jucerasnju tabelu od upisa jer moja aplikacija ne moze da ceka transakciju koja radi backup iz razumljivih razloga(to bi bio zaista veliki broj transakcija u redu cekanje jer je za backup ipak potrebno vreme). Na taj nacin sve tabele starijeg datuma od danas bi prakticno bile arhive, tj sve baze sa tom tabelom.Dalje ja mogu to da uradim sa windows servisom koji sam u medjuvremenu napisao ali me samo interesovalo da li T-SQL omogucava tako nesto, job koji to radi, da ne cuci windows servis i ceka 23.50 da uradi jednu DDL komandu a da ceo dan jede memoriju.

Ali nema veze sve vise i sam razmisljam da li mi je sve ovo uoste i potrebnu kad ovako bez toga radi. Bilo mi je interesantna ideja a nisam znao da je realizujem.

Hvala puno na utrosenom vremenu i pomoci