Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

backup bazy SQL w Płatniku

961 views
Skip to first unread message

Doxent

unread,
Jul 2, 2017, 11:50:06 AM7/2/17
to
Klient-biuro rachunkowe tak niefortunnie kiedyś założył sobie kiedyś
Płatnika, że teraz musi to chodzić na MS SQL-u bodaj 2008 zamiast sporo
łatwiejszym w obsłudze MS Access gdzie do dyspozycji bazy mamy tylko
jeden plik łatwo dostępny. Czy jest jakaś prosta metoda backupu całej
bazy sql? Najlepiej tak aby wykonywała się co jakiś czas automatycznie?
Ewentualnie czy jest jakaś prosta metoda przeniesienia całości około 50
podmiotów do bazy w MS Access tak by się z SQL-em nie pierniczyć?

Adam

unread,
Jul 3, 2017, 6:42:59 AM7/3/17
to
W dniu 2017-07-02 o 17:50, Doxent pisze:
O Accesie zapomnij - zwłaszcza przy biurze rachunkowycm.

Przykład pierwszy z brzegu: co byś zrobił, gdyby klient biura
rachunkowego zażądał swojej bazy?

SQL jest w zasadzie odporny na uszkodzenia i łatwy do zarządzania.
Tylko pytanie:
to jest "pełny" MS SQL, czy SQL Express?

W pełnym są narzędzia.
W Express można użyć Management Studio lub oprogramowania podobnego firm
trzecich.

Można też ewentualnie napisać skrypt i zapuścić go przez osql.exe czy
jakiś inny sqlcmd.exe, a całość popychać automatycznie choćby przez
Harmonogram Zadań.

Przykład prostego skryptu:



PRINT CHAR(13)
PRINT '/----------------------------------------\'
PRINT '| Wykonywanie kopii bezpieczeństwa |'
PRINT '\----------------------------------------/' + CHAR(13)

-- Deklaracja zmiennych dla kopii bezpieczeństwa
DECLARE @Sciezka VARCHAR(260)
DECLARE @PlikArchiw VARCHAR(300)

-- Ścieżka dostępu do miejsca, w którym kopie bezpieczeństwa będą zapisywane
SET @Sciezka = N'N:\BACKUP\' -- Tu wpisz ścieżkę dostępu do katalogu dla
kopii baz

-- Wykonanie skryptu
--
SET @PlikArchiw = @Sciezka + @Nazwa_bazy + '_' +
REPLACE(REPLACE(REPLACE(CONVERT(CHAR(16), GETDATE(), 120), '
', ''), '-', ''), ':', '') + '.BAC'
BACKUP DATABASE @Nazwa_bazy TO DISK = @PlikArchiw WITH INIT,
NAME = 'BIURO BAZA DANYCH', SKIP, NOFORMAT, DESCRIPTION = ''
IF @@error>0
BEGIN
PRINT ''
PRINT 'Kopia bezpieczeństwa bazy ' + @Nazwa_Bazy + ' nie
wykonana, wystąpiły problemy ! ' + CONVERT (varchar(20) , GETDATE(), 120 )
PRINT ''
END
ELSE
BEGIN
RESTORE VERIFYONLY FROM DISK = @PlikArchiw WITH FILE = 1
IF @@error>0
BEGIN
PRINT ''
PRINT 'Kopia bezpieczeństwa bazy ' + @Nazwa_Bazy + '
nie wykonana, wystąpiły problemy ! ' + CONVERT (varchar(20) , GETDATE(),
120 )
PRINT ''
END
ELSE
BEGIN
PRINT ''
PRINT 'Kopia bezpieczeństwa bazy ' + @Nazwa_bazy + ' ('
+ @PlikArchiw + ')' + ' wykonana prawidłowo ! ' + CONVERT (varchar(20) ,
GETDATE(), 120 )
PRINT ''
END
END
END




--
Pozdrawiam.

Adam

jureq

unread,
Jul 3, 2017, 7:07:24 AM7/3/17
to
Jak ci już napisali, 50 klientów biura rachunkowego top nie jest baza na
accesa.

Metod backupu jest wiele. Można powiedzieć z różnych poziomów.

1. Po zatrzymaniu SQL-a możesz po prostu skopiować pliki bazy.

2. Nie pamiętam jakie narzędzia są instalowane wraz z SQL express 2008,
ale poszukaj - może są tam jakieś programy do zarządzania umożliwiające
wykonanie backupu bazy.

3. W samym płatniku masz funkcję archiwizacji. Też można jej użyć. Tylko
ostrożnie - w pewnym momencie jest pytanie czy kasować dane z bazy
źródłowej.

Irek

unread,
Jul 3, 2017, 8:17:09 AM7/3/17
to
Kopie z SQLa robie za pomoca:
sqlcmd -S "platniksrv\sqlexpress" -U "sa" -P "sa_pass" -Q "BACKUP
DATABASE platnik TO DISK ='d:\kopia\platnik_CH_backup.dat' WITH NAME =
'platnik_CH_backup', FORMAT"

odzyskuje przez:
sqlcmd -S "platniksrv\sqlexpress" -U "sa" -P "sa_pass" -Q "RESTORE
DATABASE platnik FROM DISK = 'd:\kopia\platnik_CH_backup.dat' WITH REPLACE"

Zmienne są oczywiscie przykladowe.

ktos

unread,
Jul 3, 2017, 9:11:29 AM7/3/17
to
W dniu 2017-07-02 o 17:50, Doxent pisze:
> Ewentualnie czy jest jakaś prosta metoda przeniesienia całości około 50
> podmiotów do bazy w MS Access tak by się z SQL-em nie pierniczyć?
Płatnik ma taką funkcjonalność.
Ale jak już inni pisali przy 50 klientach to z accessem będziesz się
pierniczył.
Chyba, że zrobisz 50 baz i jakieś skrypty (albo pliki reg) podłączające
te bazy do płatnika na kliknięcie (ścieżka do bazy to wpis w rejestrze) :)

artiun

unread,
Jul 3, 2017, 4:38:44 PM7/3/17
to
W dniu 2017-07-02 o 17:50, Doxent pisze:
Musisz zmienić podejście, Access nie utrzyma danych, śmiem twierdzić, że
nadaje się do trzymania listy zakupów, nie do profesjonalnych zastosowań
(wiem o czym piszę, bo niestety musiał wylecieć, szkoda ludzi). Awarie
prawie codziennie, ludzie pracowali tylko nad opanowaniem skutków. Nie
polecę tu jakiejś innej bazy, wszystko zależy od specyfiki firmy.

--
Artur

wloochacz

unread,
Jul 12, 2017, 2:04:31 PM7/12/17
to
W dniu 2017-07-03 o 12:42, Adam pisze:
> SQL jest w zasadzie odporny na uszkodzenia i łatwy do zarządzania.
> Tylko pytanie:
> to jest "pełny" MS SQL, czy SQL Express?
Przecież to bez znaczenia....

> W pełnym są narzędzia.
W wersji Express również są.
Słyszałeś o wersji Express with Tools?
O np. tu:
http://sqlmag.com/sql-server-2014/sql-server-2014-express-editions

> W Express można użyć Management Studio lub oprogramowania podobnego firm
> trzecich.
Można, ale nie trzeba.

--
wloochacz

Adam

unread,
Jul 14, 2017, 4:47:13 AM7/14/17
to
W dniu 2017-07-12 o 20:04, wloochacz pisze:
> W dniu 2017-07-03 o 12:42, Adam pisze:
>> SQL jest w zasadzie odporny na uszkodzenia i łatwy do zarządzania.
>> Tylko pytanie:
>> to jest "pełny" MS SQL, czy SQL Express?
> Przecież to bez znaczenia....
>
>> W pełnym są narzędzia.
> W wersji Express również są.
> Słyszałeś o wersji Express with Tools?
> O np. tu:
> http://sqlmag.com/sql-server-2014/sql-server-2014-express-editions
>

W nowszych wersjach SQL Express pojawiło się Maintenance Plans i jest
dostępny SQL Server Agent???
Bo do wersji 2012 włącznie w Express tego nie było.

>> W Express można użyć Management Studio lub oprogramowania podobnego
>> firm trzecich.
> Można, ale nie trzeba.
>

Zależy, co kto lubi.
W małych środowiskach wystarczy choćby i bezpłatny Cobian z ustawionymi
kopiami różnicowymi, najbezpieczniej przez ftp.


--
Pozdrawiam.

Adam

Sławomir Wojnar

unread,
Sep 28, 2020, 7:39:56 AM9/28/20
to
Witam odświeżam temat bo jest nadal aktualny. Jeśli masz bazy na SQL Express to mam świetne rozwiązanie.
Piszę z firmy informatycznej i wielu naszych klientów zmagało się z problemem kopiowania baz SQL.
Dlatego napisaliśmy program który tworzy kopie baz danych automatycznie. Co więcej sam sobie sprawdza wszystkie bazy danych (przed zrobieniem kopi) i dodaje nowe, jeśli jakieś znajdzie- opcja szczególnie przydatna w przypadku biur rachunkowych gdzie co jakiś czas dochodzą nowe bazy klientów .
Ustalamy harmonogram, np wykonywanie bazy codziennie o 18 i program juz nie musimy się nigdy martwić o robienie backupów. Co więcej, nasze bazy mogą być kompresowane jeśli chcemy co zmniejsza ich wagę na dysku nawet o 90 %.
Firmy które nam zaufały bardzo chwalą sobie nasze rozwiązanie.
Dodatkowo kopie baz można wykonywać do wielu miejsc; na dysku lokalnego komputera, na inny komputer; na serwer…
Wiecej informacji na :

https://www.arcussoft.com.pl/produkt/program-do-kopii-bezpieczenstwa-baz-sql/

heby

unread,
Sep 28, 2020, 1:38:14 PM9/28/20
to
On 28/09/2020 13:39, Sławomir Wojnar wrote:
> Dlatego napisaliśmy program który tworzy kopie baz danych automatycznie.

I co, nie działa na windowsie?
0 new messages