SSMS在一定程度上方便我们进行一些常见的操作。但有时候它处理得又不是那么不人性化。尤其是错误信息。
今天我在进行数据库还原的时候就碰到一个错误:指定的转换无效。(SqlManagerUI)
Specified cast is not valid.(SqlManagerUI)
没办法,不得不敲代码了:
RESTORE HEADERONLY FROM DISK = N'D:\XXDB.BAK' GO
看到的居然是这个:
原来是备份的时候加密了。加密就加密嘛,居然报转换无效的错误.....
找到密码后用脚本还原成功:
RESTORE FILELISTONLY FROM DISK = N'D:\XXDB.BAK' WITH PASSWORD = 'MYPASSWORD' RESTORE DATABASE [XXDB2] FROM DISK = N'D:\XXDB.BAK' WITH FILE = 1 ,MOVE N'XXDB' TO N'D:\MSSQL\DATA\XXDB2.mdf' ,MOVE N'XXData' TO N'D:\MSSQL\DATA\XXDB2_1.ndf' ,MOVE N'XXDB_log' TO N'D:\MSSQL\DATA\XXDB2_2.ldf' ,NORECOVERY ,STATS = 10 ,PASSWORD = 'MYPASSWORD' GO
--Recover the database:
RESTORE DATABASE [XXDB2] WITH RECOVERY;
GO