在CentOS上恢复SQL Server数据的步骤
.bak或.trn)。若备份文件损坏或丢失,需先尝试修复(如使用RESTORE VERIFYONLY命令验证备份完整性)或获取新的备份。mssql-tools(包含sqlcmd工具),执行命令:sudo yum install -y mssql-tools。sudo systemctl stop mssql-server。your_database.bak)复制到SQL Server实例的目标目录(如/var/opt/mssql/backup/)。localhost)、身份验证方式(建议使用sa账户及密码)并连接。sudo systemctl start mssql-server。sudo /opt/mssql/bin/sqlservr -m。sqlcmd -S localhost -U sa -P your_password(替换your_password为sa账户密码)。数据库名称、备份文件路径):RESTORE DATABASE [数据库名称]
FROM DISK '/备份文件路径/备份文件名.bak'
WITH REPLACE, RECOVERY;
若需恢复事务日志(如增量备份),需追加日志文件路径:RESTORE LOG [数据库名称]
FROM DISK '/备份文件路径/日志文件名.trn'
WITH RECOVERY;
输入GO执行命令。QUIT退出sqlcmd,然后启动SQL Server服务:sudo systemctl start mssql-server。sqlcmd -S MSSQLSERVER -d your_database -E(-E表示Windows身份验证,若使用sa账户则用-U sa -P your_password)。GO执行。SELECT name, state_desc FROM sys.databases WHERE name = '数据库名称',确认数据库状态为ONLINE。DBCC CHECKDB命令检查数据库一致性,示例:USE [数据库名称];
DBCC CHECKDB WITH NO_INFOMSGS;
若存在错误,可使用DBCC CHECKDB (数据库名称, REPAIR_ALLOW_DATA_LOSS)修复(谨慎使用,可能导致数据丢失)。USE [数据库名称];
EXEC sp_MSforeachtable @command1="ALTER INDEX ALL ON ? REBUILD";
```。
USE [数据库名称];
EXEC sp_updatestats;
```。