Domanda

La mia domanda principale è come copiare un intero database con una collation inglese in uno con una collation greca? Il database di origine contiene tutte le tabelle e i relativi dati. Ho un database di regole di confronto greco pulito. Voglio copiare tutto dalla fonte alla destinazione.

Una soluzione che ho trovato in un articolo di KB, consisteva nei seguenti passaggi:

  • Generazione di script per tutti gli oggetti (esclusi gli indici, i trigger, le chiavi primarie, le chiavi esterne, le impostazioni predefinite e i vincoli) nel database di origine. Qui, l'impostazione Fascicolazione script è stata impostata su False , quindi gli script sono stati creati senza la parola chiave collate .
  • Esecuzione degli script dal passaggio 1 sul database di destinazione per creare gli oggetti con le regole di confronto del database di destinazione.
  • Utilizzo di DTS per trasferire i dati dal database di origine. Qui è dove sono bloccato adesso.

Ho usato la procedura guidata Export Data ... di SQL Server 2005 per esportare dati dal database di origine a quello di destinazione. Sto avendo circa 1500 tabelle nel mio database, quindi ho spuntato la casella Ottimizza molte tabelle nel passaggio della procedura guidata. A parte questo, tutte le impostazioni erano predefinite.

Ho ricevuto un errore (file di testo contenente il rapporto) mentre eseguendo l'esportazione.

 Errore SSIS
(fonte: googlepages.com )

Per andare avanti, ho bisogno di una soluzione a questo errore o di un nuovo modo per copiare dal database di origine a quello di destinazione con regole di confronto diverse.

MODIFICA 1

Ho dimenticato di dire che ho già provato a usare SQL Compare. Uso questo strumento da molto tempo. Ma non aiuterà un po 'in questa situazione. Sto avendo tabelle con regole di confronto Latin1_General_CS_AS nel database di origine, ma NON VOGLIO creare le tabelle con quelle regole di confronto. So che esiste un'opzione per Ignora regole di confronto . Ma poi, c'è un altro problema con i nomi di colonna: alcuni nomi di colonna sono strani e SQL Compare introduce caratteri extra [ o ] durante la formattazione dei nomi di colonna, che interrompe lo script di sincronizzazione INTERO !

È stato utile?

Soluzione

In passato per passare alle regole di confronto di un database ho usato Red Gate SQL Compare. Ti consentono di scaricare una versione di prova del software che ritengo sia perfettamente funzionante.

Attenersi alla seguente procedura e il nuovo database dovrebbe essere attivo e funzionante in pochissimo tempo.

  1. Carica Confronto SQL
  2. Inserire il vecchio server di database, nome utente, password e nome del database nella sinistra
  3. Immettere il nuovo server database, nome utente, password e nome database nel diritto
  4. Fai clic su " Confronta ora "
  5. Nella finestra di confronto selezionare tutto ciò che si desidera spostare nel nuovo database
  6. Fai clic su " Procedura guidata di sincronizzazione ... " questo ti guiderà attraverso 3 o 4 passaggi assicurandoti che il passaggio al nuovo database utilizzi il metodo corretto e tutte le depencancies che potresti aver perso.
  7. Nella 4a schermata vedrai un pulsante Sincronizza. Se sei soddisfatto di tutte le selezioni, fai clic su di esso e questo sposterà lo schema del database sul nuovo database.

Ora hai lo schema dei dati nel nuovo database, devi ripetere il processo in Confronto dati SQL Dovresti trovarlo abbastanza semplice poiché il processo e gli schermi sono quasi gli stessi dei passaggi precedenti.

Spero che questo aiuti.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top