[ nikitaGradov @ 01.08.2011. 14:35 ] @
Postovani,
ako ima neko iskusan iz baza, konkretno: za Microsoft SQL server, molim za pomoc ...

Razvijam jednu aplikaciju u Visual Studio .NET-u, gdje je baza Microsoft SQL server, tacnije: SQL Express (znaci, aplikaciju sam, do sada, razvijao koristeci SQL Express).

Sada, treba da 'prebacim' bazu na 'trajno' odrediste, a to je server koji se nalazi na drugoj geografskoj lokaciji - ostvarena je veza preko VPN mehanizma i to radi zadovoljavajuce.

Moje pitanje glasi: kako da najbrze, i najefikasnije, 'prebacim' bazu sa svog, prenosivog, diska (SQL Express) na disk udaljenog servera (SQL Server 2008): da kreiram na njemu novu bazu (i jednu po jednu tabelu), da uradim puki 'Copy' baze, da uradim 'Restore' baze itd ... Ako uradim 'transfer' baze putem 'Copy' ili 'Restore', da li treba da, ponovo, zadajem dbOwner-a, dbAdmina, dodjeljujem razne role i slicno ?

Unaprijed hvala na pomoci ...
[ Dusan Kondic @ 02.08.2011. 07:41 ] @
Što se tiče samog prebacivanja, rešenje je jednostavno i možeš da ga izvedeš na više načina.
Prva stvar koju treba da uradiš na ciljnom serveru a što može biti diskutabilno jer ne znam koje privilegije imaš na njemu, je da kreiraš user-e koje si kreirao na svojem Express-u. Ne znam šta si sve uradio, ali podešavanja vezana za sam server moraš da uskladiš a ono što je u bazi, dobija se prebacivanjem baze.
Prebacivanje baze može da se izvede kopiranjem fajlova, backup-ovanjem ili pravljenjem skriptova koji će kreirati objekte i prebaciti podatke.
Pošto sam imao problema sa skriptovanjem baza, preskočiću objašnjavanje istog. Ako baš budeš želeo, objasniću i to (postoji varijanta sa pravljenjem više skriptova za različite objekte koja sigurno radi).
Kopiranje baze se izvodi tako što se baza raskači sa servera (desni klik na bazu Tasks > Detach...), zipuje (radi lakšeg prebacivanja preko mreže), prekopira na željenu destinaciju, unzip-uje, i ponovo nakači na ciljni server (desni klik na belu površinu u Object Explorer Details prozoru pa Attach...).
Drugi način je da napraviš rezervnu kopiju (backup) na Express-u i da izvršiš Restore tog backup-a na ciljnom serveru. Backup na Express verziji može da se napravi izvršavanjem komande
Code:
BACKUP DATABASE DataBaseName TO DISK = 'Putanja' WITH INIT

Na ciljnom serveru Restore backup fajla može da se izvrši desnim klikom na na belu površinu u Object Explorer Details pa Restore Database. U prozoru koji se pojavi treba da daš ime fajlu (To database) i da odabereš backup file (From device).
Pozdrav