2,722
社区成员
发帖
与我相关
我的任务
分享
cSqlCmd = "use master"
SQLExec(nHandle, cSqlCmd )
cSqlCmd = "Exec sp_dboption '要恢复的数据库名', single, true"
nResult = SQLExec(nHandle, cSqlCmd)
If -1 == nResult
* 报错: 无法切换到单用户模式。可能确实有其他用户在使用,或者当前用户无权限等原因
* 用 AError 函数取出并显示错误信息
Return .F.
EndIf
* 再检查一下,确保已切换到单用户工作模式
cSqlCmd = "Exec sp_dboption '要恢复的数据库名', single"
nResult = SQLExec(nHandle, cSqlCmd, '_temp')
If Upper(_temp.CurrentSetting) <> 'ON'
* 报错: 无法切换到单用户模式。
Use In _temp
Return .F.
EndIf
Use In _temp
cSqlCmd = "Restore Database 要恢复的数据库名 From Disk='备份文件完整路径' With Replace"
nResult = SQLExec(nHandle, cSqlCmd)
* 检查恢复操作是否成功
* ...
* 最后退出单用户工作模式
cSqlCmd = "Exec sp_dboption '被恢复的数据库名', single, false"
* ...