2012-04-24 3 views
5

Voici le scénario:Fichiers SQL Server MDF - Comment sauvegarder

Nous avons un site Web d'entreprise avec trois bases de données. Il exécute SQL Server 2005. Les trois bases de données sont liées aux fichiers MDF. Quelqu'un a essayé de copier/coller directement un de ces fichiers MDF qui ont fait une sorte de verrouillage sur le fichier qui a provoqué une erreur en lecture seule. Nous avons réparé ceci en détachant/rattachant. Pour éviter cela, nous cherchons à obtenir des copies de ces bases de données à rétrograder à notre base de données QA.

Quelle est la meilleure façon de faire des copies sans prendre le site de l'entreprise? J'ai essayé de chercher google et je n'ai pas trouvé un moyen décent. Les bases de données sont assez petites, et le pire des cas que je puisse penser est simplement de fermer le service SQL Server, puis de simplement copier les MDF, puis redémarrez le service. Je suppose que c'est 10 secondes au plus.

[S'il vous plaît noter toute personne lisant cela, ne pas copier directement les fichiers MDF, assurez-vous au moins la mise hors ligne DB ou DB peut être verrouillé]

+0

Désolé, je aurais dû ajouter que les bases de données ne sont pas sur le même réseau puisqu'il est hébergé à distance, donc nous ne pouvons pas simplement déplacer les données . Nous ne serons pas en mesure de se connecter à la base de données QA. – dave2118

+0

Vous ne pouvez pas planifier des sauvegardes? Puis déplacez les fichiers de sauvegarde. – Ste

+0

Nous pouvons simplement forcer une sauvegarde (DataBase> Tâches> Sauvegarde) qui n'aura aucun effet sur les utilisateurs qui essaient d'accéder à la base de données, n'est-ce pas? – dave2118

Répondre

2

plutôt que d'essayer de copier et de verrouiller les fichiers MDF, il suffit de prendre des sauvegardes de la base de données du système de fichiers, puis copiez les off.

Vous demandez si les utilisateurs seront affectés lors d'une sauvegarde ...

Nous ne pouvons pas dire qu'il n'y aura pas « tout » effet sur les utilisateurs, car bien sûr, nous faisons des choses avec la base de données. Cependant, la sauvegarde de bases de données en direct est la norme. En règle générale, vous planifiez la sauvegarde pendant la nuit ou pendant une période de faible utilisation, afin d'éviter toute interruption.

Regarde ce que des questions qui a quelques bonnes informations fournies: https://serverfault.com/questions/100490/what-happens-during-a-live-sql-server-backup

2

@ Dave, je crois que vous avez raison, que DataBase> Tâches> La sauvegarde fonctionnera sans interrompre l'accès utilisateur à la base de données. J'exécute la commande suivante dans un fichier batch pour sauvegarder ma base de données, et il ne bloque pas l'accès pendant qu'il s'exécute. Je devrais noter que je ne suis pas un expert avec SQL Server; c'est juste ce qui fonctionne pour moi.

sqlcmd -S "myHostName \ de" -Q « BACKUP DATABASE de MyDatabaseName TO DISK = N'C: \ chemin \ \ Backup.bak » AVEC NoFormat, NOINIT, NOM = N'MyDatabaseName-base de données complète de sauvegarde », SKIP, NOREWIND, NOUNLOAD, STATS = 10"

+0

Merci David pour votre commentaire. Je suis comme vous, j'ai travaillé avec SQL Server en tant que développeur pendant des années, mais pas beaucoup sur le plan de l'administration. Avec ce nouveau travail basé sur Oracle, ils disposent d'un site d'entreprise fonctionnant sous SQL Server qui n'a pas été touché depuis 4 ans.Je suis promu expert SQL Server et dois comprendre cela. J'ai pensé qu'il valait mieux demander ici que de deviner. – dave2118

+0

Bonne chance, Dave! –

Questions connexes