2012-04-24 16 views
5

Ecco lo scenario:File MDF di SQL Server - Come eseguire il backup

Abbiamo un sito Web aziendale con tre database. È in esecuzione SQL Server 2005. I tre database sono collegati ai file MDF. Qualcuno ha provato a copiare/incollare direttamente uno di questi file MDF che ha fatto un qualche tipo di blocco sul file che ha causato un errore di sola lettura. Lo abbiamo risolto scollegando/ricollegando.

Per impedire nuovamente questo, stiamo cercando di ottenere copie di questi database da abbassare al database di QA.

Qual è il modo migliore di eseguire le copie senza occupare il sito aziendale? Ho provato a cercare su google e non ho trovato un modo decente. I database sono abbastanza piccoli e il caso peggiore a cui riesco a pensare è solo quello di chiudere il servizio SQL Server, quindi copiare semplicemente gli MDF, quindi riavviare il servizio. Suppongo che siano 10 secondi al massimo i tempi di inattività.

[Si prega di notare qualcuno leggendo questo, non copiare direttamente i file MDF, assicuratevi di almeno prendere la linea DB o DB può essere bloccato]

+0

dispiace, avrei dovuto aggiungere, che i database non sono sulla stessa rete dal momento che è ospitato da remoto, in modo che non si può semplicemente spostare i dati . Non saremo in grado di connetterci al database QA. – dave2118

+0

Non puoi semplicemente pianificare i backup? Quindi sposta i file di backup. – Ste

+0

Possiamo semplicemente forzare un backup (DataBase> Attività> Backup) che non avrà alcun effetto sugli utenti che tentano di accedere al DB, corretto? – dave2118

risposta

2

Piuttosto che cercare di copiare e bloccare i file MDF, basta prendere i backup del database al file system e quindi copiare quelli fuori.

Mi chiedi se gli utenti saranno interessati durante un backup ...

Non possiamo dire che non ci sarà "alcun" influire sugli utenti perché ovviamente stiamo facendo le cose con il database. Tuttavia, il backup di database live è la norma. In genere, si pianifica il backup durante la notte o durante un periodo di utilizzo ridotto, in modo tale da ridurre al minimo le interruzioni.

Partenza questa domanda che ha alcune buone informazioni fornite: https://serverfault.com/questions/100490/what-happens-during-a-live-sql-server-backup

2

@ Dave, ho il sospetto hai ragione, che DataBase> Attività> Il backup funzionerà senza interrompere l'accesso dell'utente al database. Eseguo il seguente comando in un file batch per eseguire il backup del mio database e non blocca l'accesso mentre è in esecuzione. Devo notare che non sono un esperto di SQL Server; questo è proprio quello che funziona per me.

sqlcmd -S "myhostname \ sqlexpress" -Q "BACKUP DATABASE MyDatabaseName TO DISK = N'C: \ percorso \ to \ Backup.bak' CON NOFORMAT, NOINIT, NAME = N'MyDatabaseName-Full Backup Database ', SKIP, NOREWIND, NOUNLOAD, STATS = 10"

+0

Grazie David per il tuo commento. Sono come te, ho lavorato con SQL Server come sviluppatore per anni, ma non molto dal lato amministrativo. Con questo nuovo lavoro basato su Oracle, hanno un sito aziendale in esecuzione su SQL Server che non è stato toccato in 4 anni letteralmente.Vengo promosso a esperto di SQL Server e devo capirlo. Ho pensato che fosse meglio chiedere qui piuttosto che indovinare. – dave2118

+0

Buona fortuna, Dave! –

Problemi correlati