难道大家没人会吗,
SQL Server上的差异备份还原据我观察应该是先还原最新的整个数据库备份,再还原差异数据库备份,我查了一下文档,是这样的:
1、还原最新的数据库备份。
2、还原最后一次的差异数据库备份。
3、如果使用完全恢复或大容量日志记录恢复,则应用自上次创建差异数据库备份后创建的所有事务日志备份。
用上述同样方法还原差异数据库时,系统提示 应该使用WITH RECOVERY或WITH STANDBY,但这样代码该如何写呢,希望大家踊跃发言,注意要用SQLDMO方式
SQL Server上的差异备份还原据我观察应该是先还原最新的整个数据库备份,再还原差异数据库备份,我查了一下文档,是这样的:
1、还原最新的数据库备份。
2、还原最后一次的差异数据库备份。
3、如果使用完全恢复或大容量日志记录恢复,则应用自上次创建差异数据库备份后创建的所有事务日志备份。
用上述同样方法还原差异数据库时,系统提示 应该使用WITH RECOVERY或WITH STANDBY,但这样代码该如何写呢,希望大家踊跃发言,注意要用SQLDMO方式
解决方案 »
- 怎么初始化一个CDC成员变量?
- SKIN++不支持UNICODE的问题
- 对话框的OnInitDialog有可能会被调用多次吗?
- 能否用其他编译器编译MFC库?
- 我有一个图片,是各种按扭的位图,然后我怎么用imagelist来显示我需要的几个位图(就好像是把其中的一块拿出来)有代码最好
- 谁知道 MSN Messenger 选择头像时,打开了图片预览窗口,但那些图片放在哪里?
- 请问结构变量作为参数问题?
- 请 微软CSDN专家 进来,怎么升级插入的MediaPlayer 控件?
- 请问如何把tagNMLISTVIEW转换为tagNMHDR?
- 我想用ON_COMMAND_RANGE宏,但几个控件的ID值不连续怎么办?
- 急求各位大虾,关于MSComm使用问题。。。(
- OpenGL效率问题?
BOOL bResult = ( FALSE );
CWaitCursor curWait;
if(!SQLDMO_EnumProcesses())
{
AfxMessageBox("停止进程失败");
}
try
{ CWizard* pSheet;
pSheet=(CWizard*)GetParent();
SQLDMO::_SQLServer2Ptr spSqlServer2 = pSheet->m_spSqlServer2;
CString csQuerySql=" RESTORE DATABASE " + m_strRestoredb + " FROM DISK ='" + pszAllDB + "' WITH NORECOVERY,REPLACE ";
csQuerySql = csQuerySql + " RESTORE DATABASE " + m_strRestoredb + " FROM DISK ='" + pszIncreDB + "' WITH RECOVERY ";
_bstr_t QuerySQL = (LPCTSTR)csQuerySql;
SQLDMO::QueryResultsPtr spQueryResults = spSqlServer2->ExecuteWithResults(QuerySQL);
CString csResult;
csResult.Format("数据库[%s]还原成功!",m_strRestoredb);
AfxMessageBox(csResult);
bResult = ( TRUE );
}
catch ( _com_error e )
{
DisplayComError( e );
}
catch( CException* e )
{
DisplayAfxError( e );
}
catch( ... )
{
AfxMessageBox("未知错误!");
}
EndWaitCursor();
return ( bResult );