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