Kako na racunaru koji ima samo sqlexpress instaliran (bez managemant studia) dodati bazu? Skriptovao sam celu bazu ali ne znam kako da je sada postavim na taj racunar?
Kako instalirati bazu
Zaključano
Zakačeno
Mozda gresim , a da uradis jedan mali program sa memo-om, koji ce da izvrsi script na tom bazom(conn string)..
Najlakse je da napravis backup prazne baze i onda radis Restore na target masini. Ako nemas ManagmentStudio na raspolaganju koristi cmdline ili BAT fajl:
Pogledaj MSDN ili google za TSQL RESTORE DATABASE. Preko istog sqlcmd.exe mozes i da poteras arbitrarne SQL upite, cak i tu skriptu koju vec imas koja kreira bazu.
Code:
sqlcmd.exe -U username -P password -S server -Q "RESTORE DATABASE....."
sqlcmd.exe -U username -P password -S server -Q "RESTORE DATABASE....."
Pogledaj MSDN ili google za TSQL RESTORE DATABASE. Preko istog sqlcmd.exe mozes i da poteras arbitrarne SQL upite, cak i tu skriptu koju vec imas koja kreira bazu.
Potpis
if it walks like a duck and quacks like a duck, it could be a dragon doing a duck
impersonation.
impersonation.
Ne mora praviti backup, imesto parametra "-Q RESTORE..." moze koristiti "-i <putanjaScripta>" posto je vec scirptovao bazu.
Potpis
Every hamster has his day.
Mislim da sam i to napisao ako se ne varam:
Preko istog sqlcmd.exe mozes i da poteras arbitrarne SQL upite, cak i tu skriptu koju vec imas koja kreira bazu
Citat:
Preko istog sqlcmd.exe mozes i da poteras arbitrarne SQL upite, cak i tu skriptu koju vec imas koja kreira bazu
Potpis
if it walks like a duck and quacks like a duck, it could be a dragon doing a duck
impersonation.
impersonation.
Napravio sam backup baze. I probao restore preko command line-a:
Radi na mom racunaru.
Ali ne radi kod klijenta gde je sql server instaliran tokom instalacije. Ovo mi se poziva kao bat fajl na kraju instalacije aplikacije. On pokusava da nadje nesto na lokaciji gde mi se nalazi mdf od baze, greska je tipa:
I jos jedna stvar da bi se ova komanda izvrsila izgleda da treba da je ukljucen remote connection na sql server. Ima li nacina da se remote omoguci nekom skriptom? Ne bih da se korisnik koji ne zna sta je sql bakce za ovim.
Code:
sqlcmd.exe -S .\SQLEXPRESS -Q "RESTORE DATABASE db_dev FROM disk = 'c:\dbDevBackup'"
sqlcmd.exe -S .\SQLEXPRESS -Q "RESTORE DATABASE db_dev FROM disk = 'c:\dbDevBackup'"
Radi na mom racunaru.
Ali ne radi kod klijenta gde je sql server instaliran tokom instalacije. Ovo mi se poziva kao bat fajl na kraju instalacije aplikacije. On pokusava da nadje nesto na lokaciji gde mi se nalazi mdf od baze, greska je tipa:
Code:
msg 5133, level 16, state 1, server anonymus\sqlexpress, line 1 Directory lookup for the file "E:\MojaAplikacija\RadnaBaza\db_dev.mdf" failed with the operating system error 3 <the system cannot find the path specified.>.
msg 3156, level 16, state 3, server anonymus\sqlexpress, line 1 File 'db_dev' cannot be restored to "E:\MojaAplikacija\RadnaBaza\db_dev.mdf". Use WITH MOVE to identify a valid location for the file.
msg 5133, level 16, state 1, server anonymus\sqlexpress, line 1 Directory lookup for the file "E:\MojaAplikacija\RadnaBaza\db_dev.mdf" failed with the operating system error 3 <the system cannot find the path specified.>.
msg 3156, level 16, state 3, server anonymus\sqlexpress, line 1 File 'db_dev' cannot be restored to "E:\MojaAplikacija\RadnaBaza\db_dev.mdf". Use WITH MOVE to identify a valid location for the file.
I jos jedna stvar da bi se ova komanda izvrsila izgleda da treba da je ukljucen remote connection na sql server. Ima li nacina da se remote omoguci nekom skriptom? Ne bih da se korisnik koji ne zna sta je sql bakce za ovim.
Ok, probao sam da postavim mdf baze na razvojnoj masini u c:\program files\ms sql server\...\data napravio backup odatle i sada radi i kod klijenta. A kako ovo moze da se zaobidje sta ako klijent kod sebe nema strukturu "C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\"?
I deo oko automatskog postavljanja sql servera da mu se omoguci remote connection jos nisam provalio...pitam se da li je to moguce uopste?
I deo oko automatskog postavljanja sql servera da mu se omoguci remote connection jos nisam provalio...pitam se da li je to moguce uopste?
Koristis with move logicalname to path, npr
RESTORE DATABASE [dbname]
FROM DISK = N'D:\backup.bak'
WITH FILE = 1,
MOVE N'baza_Data' TO N'D:\baza.mdf',
MOVE N'baza_Log' TO N'D:\baza.ldf',
NOUNLOAD, STATS = 10
RESTORE DATABASE [dbname]
FROM DISK = N'D:\backup.bak'
WITH FILE = 1,
MOVE N'baza_Data' TO N'D:\baza.mdf',
MOVE N'baza_Log' TO N'D:\baza.ldf',
NOUNLOAD, STATS = 10