Automatyczne kopiowanie danych do tabeli z innej bazy

0

Witam,

z sql jestem bardzo początkujący.

Korzystam z SQL server menagment studio 2012.

Mam takie pytanie do bardziej zaawansowanych.

Jak mogę skopiować dane z tabeli z jednej bazy danych do kopi owej bazy do takiej samej tabeli.

chciałbym aby działo się to automatycznie każdego dnia, słyszałem o "jobach".

Bardzo proszę o pomoc, nie umiem nic wywnioskować z materiałów umieszczanych na internecie.

Byłbym wdzięczny za pomoc i zrozumiałe wytłumaczenie.

0

http://msdn.microsoft.com/en-us/library/ms190268.aspx
Ale jeśli pracujesz na darmowej wersji Express to nie będziesz mógł jobów tworzyć.

1

Jeżeli rzeczywiście używasz wersji express, to możesz obejść problem Job-ów jakąś prostą aplikacją np. w Javie(tam użyjesz Job-ów) i SQL-em:

insert into NazwaDocelowejBazyDanych.NazwaSchematu.NazwaTabeli(atrybuty)
Select atrybuty/kolumny
from nazwaŹródłowejBazyDanych.NazwaSchematu.NazwaTabeli

Pozdrawiam ;-)

0

Task w Windows plus prosty skrypt.

0

Albo service broker ;)

0

Dziękuję za obszerne zainteresowanie.

Może wyjaśnię parę kwestii. Na co dzień programuję tylko testy automatyczne ( c#, selenium), generalnie jestem testerem sql znam tylko na niskim potrzebnym mi poziomie.

Korzystam z profesjonalnego i płatnego sql server (microsoftu).

Gdyby to nie był kłopot to naprawdę prosiłbym o szczegółowe wyjaśnienie. To nie tak, że idę na łatwiznę i chcę się wysłużyć innymi, bo dużo czytałem w tym temacie, ale nie znalazłem odpowiedzi na moje pytanie w tym konkretnym przypadku - nawet tutortialach, a sam raczej z moją wiedzą nie stworzę rozwiązania.

Proszę o wyrozumiałość i pomoc.

Pozdrawiam

0

Ten wpis powyżej to mój, autora postu. Ten nie zwróciłem uwagi, że ustawił się autor jako krzywy terorysta.

2

Tabele są na tym samym serwerze?
Potrzebujesz zapytania INSERT...SELECT... do kopiowania danych z jednej tabeli do drugiej, następnie umieścić to zapytanie w procedurze składowanej, a na końcu tak skonfigurować SQL Server Agenta tak, żeby wywoływał tę procedurę codziennie.
Nie potrzebujesz: Javy, Tasków w Windowsie ani Service Brokera.

0

Możesz też użyć Windows Task scheduler + BCP/sqlcmd.
Utwórz .CMD plik, napisz do jej poleceń i dodać do Task scheduler.

  1. Vyhruzyty danych z jednej bazy danych:
    bcp "SELECT * FROM DB1.dbo.SomeTable" queryout C:\BCP\dbo.SomeTable.txt -Slocalhost\SQLEXPRESS -T -c -b50000
  2. Pobierz na drugim bazy:
    bcp DB2.[dbo].[SomeTable] in C:\BCP\dbo.SomeTable.txt -Slocalhost\SQLEXPRESS -T -c -b50000
    Jeśli chcesz wstawić krok między nimi, który będzie wyczyścić tabelę w bazie docelowej:
    sqlcmd -Slocalhost\SQLEXPRESS -r1 -h-1 -Q "DELETE FROM DB2.dbo.SomeTable"

1 użytkowników online, w tym zalogowanych: 0, gości: 1