2008-11-24 12 views

Odpowiedz

6

Jeśli jest to jednorazowa operacja, dlaczego tak bardzo zależy Ci na wydajności top?

SELECT * INTO OtherDatabase..NewTable FROM ThisDatabase..OldTable 

lub

INSERT OtherDatabase..NewTable 
SELECT * FROM ThisDatabase..OldTable 

... i uruchomić ją na noc. Odważę się powiedzieć, że użycie SELECT/INSERT INTO na tym samym serwerze nie jest dalekie od najlepszej wydajności, jaką można uzyskać.

+1

Tworzysz prawidłowy punkt. Sądzę, że jestem po prostu zbyt zaprogramowany, by robić rzeczy "właściwą drogą". Zapytanie działa podczas pisania! – Martin

+1

rozważ wkładkę luzem zamiast wkładki. Zobacz http://msdn.microsoft.com/en-us/library/ms188365.aspx –

+0

Ukończono i zajęło to tylko 26 minut. Dzięki. – Martin

2

Albo możesz użyć "Kreatora importu i eksportu SQL" znajdującego się pod "Zarządzanie" w Microsoft SQL Server Management Studio.

2

Pójdę z odpowiedzią Tomalaka.

Możesz chcieć tymczasowo umieścić docelowej bazy danych w tryb odzyskiwania rejestrowane zbiorczej przed wykonaniem „wybrać na” zatrzymać plik dziennika eksplodująca ...

1

Jeśli to SQL Server 7 lub 2000 Spojrzenie na transformacji danych Usługi (DTS). W przypadku SQL 2005 i 2008 spójrz na SQL Server Integration Services (SSIS)

1

Zdecydowanie ustaw docelową bazę danych w trybie rejestrowania zbiorczego. Spowoduje to minimalną rejestrację operacji i przyspieszenie jej działania.

Powiązane problemy