¿Por qué es una misión de este tipo de copia de seguridad de una base de datos SQL Server 2008 Express?

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

Pregunta

No me describiría como miedo al cambio - pero tienen miedo de las nuevas tecnologías? Sí, desde luego! Tecnologías de sistemas operativos, bases de datos a los servidores parecen ser los que se convierten en pinchado, ineficiente y hacia atrás cuanto más se "progreso"

MSDE 2000 (lo que podríamos llamar "SQL 2000 Express" en el mundo actual)

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

SQL 2008 Express

¡Espera! Es una 'instancia de usuario' - a su idea que necesitamos para adjuntarlo a una instancia de servidor
¡Espera! Para colocarla necesitamos SQL Management Studio Express (78 MB de descarga)
¡Espera! Cuando la cuenta para nuestra \ SQLEXPRESS instancia del servidor y tratar de unir nuestra base de datos que nos da un error que, literalmente, se parece a un error en nuestro proyecto dev homebrew:.

TÍTULO: Microsoft SQL Server Management Studio

No se puede mostrar de diálogo solicitado.

------------------------------ INFORMACIÓN ADICIONAL:

Nombre de parámetro: Valor real nColIndex era -1. (Microsoft.SqlServer.GridControl)

Puede alguien explicar cómo respaldar una instancia de usuario de una base de datos SQL Server 2008 Express en el código T-SQL?

(lo siento si esto viene a ser como una llama en ummmm, Microsoft -.! En realidad soy un gran fan de ellos realmente enojado por cosas como esta por favor no me voten abajo ...)

¿Fue útil?

Solución 2

alguna clave TIPS tener en cuenta al tratar de lograr respaldo de instancia de usuario

a.) Conexión

Su cadena de conexión debe tener este aspecto:

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

esencial que la cadena de conexión proporciona la conexión de un Database=MyDatabaseAlias alias -. Este alias no puede ser duplicado al mismo tiempo en la misma máquina o su conexión puede fallar

b.) Copia de seguridad

Como se señaló anteriormente, el Transact SQL para copia de seguridad de una base de datos es el mismo en SQL MSDE / 2000/2005/2008 / R2 - una vez que haya fijado su base de datos y alias

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

¿Cuál es realmente sorprendente es el toro $ h! T errores que pueden conseguir porque la cadena de conexión imposible tener la parte de alias Database=MyDatabaseAlias.

por ejemplo. No se puede abrir el archivo físico 'c: \ code \ MyProject \ App_Data \ MyDatabase.mdf' Error del sistema operativo. 32: "32 (. El proceso no tiene acceso al archivo porque está siendo utilizado por otro proceso)" base de datos de respaldo se termina anormalmente.

c.) Restaurar

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

No se olvide el USE [master]; esenciales al principio de esta declaración (y nota que su todo en una línea para aquellos que ejecuta el comando desde un DataContext o similar) Si lo hace, no será capaz de sobrescribir la base de datos existente, ya que todavía estará conectado a la misma.

Una vez más, el surtido de engañosa totalmente errores es posible que reciba aquí, debido a una cadena de conexión válida, es interminable.

Otros consejos

Um, si se trata de una instancia de usuario, entonces la estrategia de copia de seguridad más simple es copiar el archivo. (Mientras que no está conectado a SQL Server).

Si se necesita una estrategia de copia de seguridad más amplio (por ejemplo, copias de seguridad transaccional), entonces usted realmente debería estar buscando en una base de datos más completa (por ejemplo, un "normal" que está conectada a una instancia completa de SQL Server)

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top