Pourquoi est-il une telle mission de sauvegarder une base de données SQL Server 2008 Express?

StackOverflow https://stackoverflow.com/questions/4195721

Question

Je ne me décrirais comme peur du changement - mais peur des nouvelles technologies? OUI EN EFFET! Technologies de systèmes d'exploitation, aux serveurs de base de données semblent juste pour devenir buggé, inefficace et arrière plus ils « progrès »

MSDE 2000 (ce qu'ils appellent un "SQL 2000 Express" dans le monde d'aujourd'hui)

BACKUP [MyDatabase] TO FILE 'c:\backups\mybackup.backup'

SQL 2008 Express

Attendez-vous! Son une « instance utilisateur » - pour le sauvegarder nous avons besoin de l'attacher à une instance de serveur
Attendre jusqu'à! Pour le joindre nous avons besoin de SQL Management Studio Express (78MB télécharger)
Attendre jusqu'à! Lorsque nous connectons à notre \ SQLEXPRESS instance de serveur et tente de joindre notre base de données, il nous donne une erreur qui ressemble littéralement à un bug dans notre projet homebrew dev:.

  

TITRE: Microsoft SQL Server Management Studio

     

Impossible d'afficher la boîte de dialogue demandée.

     

------------------------------ INFORMATIONS:

     

Nom du paramètre: nColIndex Valeur réelle   était -1.   (Microsoft.SqlServer.GridControl)

Quelqu'un peut-il expliquer comment sauvegarder une instance d'utilisateur d'une base de données SQL Server 2008 Express dans le code T-SQL?

(désolé si cela se donne comme une flamme à ummmm, Microsoft -.! Je suis en fait un grand fan de leur vraiment en colère au sujet des choses comme ça s'il vous plaît ne me votez pas en bas ...)

Était-ce utile?

La solution 2

QUELQUES CONSEILS CLÉ NOTE Lorsque vous essayez de ATTEINDRE BACKUP INSTANCE USER

a.) Avec

Votre chaîne de connexion devrait ressembler à ceci:

Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\MyDatabase.mdf;Integrated Security=True;User Instance=True;Database=MyDatabaseAlias

Il est essentiel que votre chaîne de connexion donne la connexion d'un Database=MyDatabaseAlias alias -. Cet alias ne peut pas être dupliquée en même temps sur la même machine ou votre connexion peut échouer

b.) Sauvegarde

Comme indiqué ci-dessus, l'Transact SQL pour sauvegarder une base de données est la même sur SQL MSDE / 2000/2005/2008 / R2 - une fois que vous avez votre base de données ci-joint et crénelage

BACKUP DATABASE MyDatabaseAlias TO DISK = 'c:\backups\mydatabase_20101117.backup'

Ce qui est vraiment étonnant est le taureau $ h! T erreurs vous pouvez obtenir parce que votre chaîne de connexion ne marche pas avoir la partie alias Database=MyDatabaseAlias.

par exemple. Impossible d'ouvrir le fichier physique « c: \ code \ MyProject \ App_Data \ MyDatabase.mdf » erreur du système d'exploitation 32: 32 «(. Le processus ne peut pas accéder au fichier car il est utilisé par un autre procédé) » DATABASE BACKUP se termine anormalement.

c.) Restauration

USE [master]; RESTORE DATABASE MyDatabaseAlias FROM DISK = 'c:\backups\mydatabase_20101117.backup'  WITH REPLACE

Ne pas oublier tous USE [master]; essentiel au début de cette déclaration (et notez que son sur une seule ligne pour ceux qui exécutent la commande d'un DataContext ou similaire) Si vous le faites, il ne sera en mesure d'écraser la base de données existante parce que vous serez toujours connecté à lui.

Encore une fois, l'assortiment de totalement erreurs trompeuses vous pouvez recevoir ici, en raison d'une chaîne de connexion non valide, est sans fin.

Autres conseils

Um, si elle est une instance d'utilisateur, la stratégie de sauvegarde la plus simple est de copier le fichier. (Alors qu'il est pas connecté à SQL Server).

Si vous avez besoin d'une stratégie de sauvegarde plus complète (par exemple les sauvegardes des transactions), alors vous devriez vraiment se pencher sur une base de données plus complète (par exemple un « normal » un attaché à une instance complète de SQL Server)

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top