copia de seguridad y restauración de sqlserver-linux

SQLserver de copia de seguridad

//创建数据库备份文件夹
mkdir -pv /usr/local/databackup
//给mussql授予/usr/local/databackup文件夹的权限
chown -R mssql:mssql /usr/local/databackup/
//登录数据库
sqlcmd -S 127.0.0.1 -U sa
//备份数据库到指定路径
1> backup database Test to disk='/usr/local/databackup/Test0411.bak'
2> go

Restaurar sqlserver

// 登录数据库
sqlcmd -S 127.0.0.1 -U sa
// 查出备份文件的逻辑文件名(很重要!!!不然会报错)
RESTORE FILELISTONLY FROM DISK = '/usr/local/databackup/Test0411.bak'
// 这个时候会显示两条数据,可能在Linux下数据会很乱,你找到里面的第一列LogicalName对应的值,我这里一个为standard,另一个为standard_log,standard是数据文件逻辑名,standard_log是日志文件逻辑名
 
 
// 然后进行还原
1> RESTORE DATABASE TestDB FROM DISK = '/usr/local/databackup/Test0414.bak'
2> WITH MOVE 'standard' TO '/var/opt/mssql/data/TestDB.mdf',
3> MOVE 'standard_log' TO '/var/opt/mssql/data/TestDB_Log.ldf'
4> go

Problemas durante el período:
1.
Msg 1834, Nivel 16, Estado 1, Servidor psqadb2, Línea 1
no puede sobrescribir el archivo '/ var / opt / mssql / data / Test.mdf '. El archivo está siendo utilizado por la base de datos 'Prueba'.
Msg 3156, nivel 16, estado 4, servidor psqadb2, archivo de línea 1
' estándar ' no se puede restaurar a '/ var / opt / mssql / data / Test.mdf '. Utilice la opción WITH MOVE para identificar la ubicación válida del archivo.
Msg 1834, nivel 16, estado 1, servidor psqadb2, línea 1
no puede sobrescribir el archivo '/ var / opt / mssql / data / Test.ldf '. El archivo está siendo utilizado por la base de datos 'Prueba'.
Msg 3156, nivel 16, estado 4, servidor psqadb2, archivo de línea 1
' registro_estándar ' no se puede restaurar a '/ var / opt / mssql / data / Test.ldf '. Utilice la opción WITH MOVE para identificar la ubicación válida del archivo.
Msg 3119, nivel 16, estado 1, servidor psqadb2, línea 1
Se encontró un problema al planificar la instrucción RESTORE. El mensaje anterior proporciona información detallada.
Msg 3013, nivel 16, estado 1, servidor psqadb2, línea 1
RESTORE DATABASE finaliza de forma anormal.

Razón: Esto se debe a que WITH MOVE no se usa para restaurar los archivos de datos y los archivos de registro, lo que da como resultado los mismos nombres que los archivos de datos y los archivos de registro de la base de datos original, porque la base de datos original todavía está en uso, lo que resulta en una sobrescritura. Error.
Solución: Agregar después del comando de restauración Simplemente vaya a WITH MOVE, consulte el ejemplo anterior para obtener más detalles

2. El archivo lógico 'Test' no es parte de la base de datos 'TestDB'. Utilice RESTORE FILELISTONLY para enumerar los nombres de archivos lógicos.

Razón: Esto se debe a que el nombre del archivo lógico es incorrecto, lo que hace que move informe un error.
Solución: Use RESTORE FILELISTONLY FROM DISK = 'database backup file bak path' para averiguar el nombre del archivo lógico y luego modifique el nombre del archivo lógico detrás muévete para averiguarlo.

Supongo que te gusta

Origin blog.csdn.net/BOOM0BOOM/article/details/114658324
Recomendado
Clasificación