2015-01-18 68 views
6

Sto tentando di copiare un database. Durante l'esecuzione della procedura guidata Copia database, viene visualizzato un errore Esegui processo agente SQL Server. L'errore afferma"Il lavoro non è riuscito" nella copia del database SQL Server 2012

The job failed. Check the event log on the destination server for details

Esecuzione dell'operazione

  • Aggiungi log per il pacchetto (Success)

  • Aggiungi operazione per il trasferimento di oggetti di database (successo)

  • Crea pacchetto (Success)

  • Inizio SQL Server Agent (Success)

  • Esegui SQL Server Agent (errore)

Errore:

The job failed. Check the event log on the destination server for details. (Copy Database Wizard)

io non riesco a trovare ciò che causa questo problema. Sto usando l'approccio corretto? Ho solo bisogno di copiare questo database. Grazie in anticipo.

+0

Si prega di utilizzare backup/ripristino e non il database di copia "wizard" o staccare/allegare. –

+0

grazie Aaron Bertrand. il mio problema risolto, uso il metodo di backup/ripristino –

risposta

11

se si sta cercando di clonare il database sullo stesso server provate questo:

  1. Creazione di un backup del database che si desidera copiare
  2. tasto destro del mouse su Databases e selezionare Restore Database
  3. Select il database che si desidera copiare dall'elenco a discesa From Database nella sezione Source for restore
  4. Immettere il nome del nuovo database nel To database fie ld nella sezione Destination for Restore - questo non può essere il nome di un database esistente .
  5. Fare clic su OK
+1

per fare questo lavoro ho anche dovuto cambiare i nomi dei file di Restore As e controllare l'opzione di sovrascrittura anche se i file non esistevano. – nuander

5

controllare il registro eventi di Windows.

  1. Visualizzatore eventi Registri
  2. di Windows
  3. Applicazione
  4. Cercare messaggi di avviso/errore associati a uno dei seguenti:
    • SQLAgent
    • SQLISPackage
  5. Leggi l'errore.

Ecco un esempio.

SQLAgent Related Errror

Ecco alcuni degli errori e le risoluzioni che abbiamo incontrato.

Unable to determine if the owner (...) of job ... has server access (reason: Could not obtain information about Windows NT group/user '...', error code 0x54b. [SQLSTATE 42000] (Error 15404)).

Avevamo bisogno di fare in modo che durante la Copia guidata database, l'account con il quale abbiamo firmato per il server di destinazione ha avuto i privilegi appropriati e che coloro privilegio erano ottenibili (alla fine abbiamo utilizzato l'account sa.) Che risolto l'avvertimento sopra.

Access is denied

Avevamo bisogno di fare in modo che l'agente di SQL Server locale dispone di privilegi appropriati sul server locale. Pertanto, abbiamo effettuato l'accesso a SQL Server Agent come sistema locale. Questo ha funzionato perché Local System è un sysadmin nella nostra istanza di SQL Server.

Could not read metadata, possibly due to insufficient access rights.

Avevamo bisogno di concedere ulteriori privilegi all'account del sistema locale.

  • Da SSMS
  • clic destro sul nome del server e fare clic su Proprietà
  • Fare clic sulla scheda Autorizzazioni
  • selezionare l'utente di sistema locale
  • Sulle autorizzazioni esplicite quasi in fondo c'è " Visualizza qualsiasi definizione "concedilo. Vedi se funzionerà.

xp_regread() returned error 5, 'Access is denied.'

Questo ci ostacolato e abbiamo chiesto un'altra domanda: xp_regread() returned error 5, 'Access is denied.'

0

E di solito perché il tuo account (NT Service \ SQLSERVERAGENT) non hanno l'autorizzazione per cartella dei dati (SQL Server ..Microsoft \ MSSQL13.MSSQLSERVER \ MSSQL \ DATA). Impostare su Full Controller è ok

L'account sopra è l'impostazione predefinita, se si desidera verificare quale account esegue l'agente, andare su services.msc. check account logon

Problemi correlati