我想问下,怎么判断数据库中是否已经有了我要备份的设备,当没有的时候执行创建设备操作,有的时候不执行!
还有就是在还原数据库的时候总是提示:因为数据库正在使用,所以未能获得对数据库的排它访问权。
下边是我的存储过程的代码,给大家帮看下:
ALTER PROCEDURE dbo.get_database
@kind varchar(7),--输入信息
@path varchar(250),--路径+备份文件
@base_name varchar(50),--数据库名称
@back_name varchar(50),--数据库设备名
@returnkey int output--输出信息
AS
DBCC CHECKDB(@base_name)
exec ('use master') --创建设备--
EXEC sp_addumpdevice 'disk', @back_name, @path
--备份数据库--
IF @kind='backup'
BEGIN
BACKUP DATABASE @base_name TO @back_name WITH INIT,SKIP
SELECT @returnkey='1'
END
--还原数据库
IF @kind='restore'
BEGIN
RESTORE DATABASE @base_name FROM @back_name
SELECT @returnkey='0'
END
RETURN
还有就是在还原数据库的时候总是提示:因为数据库正在使用,所以未能获得对数据库的排它访问权。
下边是我的存储过程的代码,给大家帮看下:
ALTER PROCEDURE dbo.get_database
@kind varchar(7),--输入信息
@path varchar(250),--路径+备份文件
@base_name varchar(50),--数据库名称
@back_name varchar(50),--数据库设备名
@returnkey int output--输出信息
AS
DBCC CHECKDB(@base_name)
exec ('use master') --创建设备--
EXEC sp_addumpdevice 'disk', @back_name, @path
--备份数据库--
IF @kind='backup'
BEGIN
BACKUP DATABASE @base_name TO @back_name WITH INIT,SKIP
SELECT @returnkey='1'
END
--还原数据库
IF @kind='restore'
BEGIN
RESTORE DATABASE @base_name FROM @back_name
SELECT @returnkey='0'
END
RETURN
解决方案 »
- 如何把打开的图片固定成新的大小
- GridView 72般绝技(中2)
- 关于gridview中checkbox的问题
- 在GridView中如何使用CustomValidator 控件?
- 为什么我项目中凡是在MasterPage中加的Menu控件都是展开的,乱的?
- 安装petshop时出错!!请指教
- 急AspNetPager DataList 分页问题
- 求一个删除的存储过程。
- 关于 Datagrid的问题
- <% @Assembly Name="System.Net" %>调用以后就出错:找不到文件或程序集名称“System.Net”,或找不到它的一个依赖项
- 某一頁的固定內容中包含另一個网頁,要用什麼技術﹖
- 急!!重分请教有关自建网站的有关技术
判断有没有文件的代码怎么写?谢谢
怎么解决这个问题呢?有经验的XDJM们帮个忙解决下
怎么解决这个问题呢?有经验的XDJM们帮个忙解决下等待解决中
errorMessage=null;
string strSql="Alter Database ["+System_Biz.DataBaseName+"] Set Offline with Rollback immediate; ";
strSql=strSql+"RESTORE DATABASE ["+System_Biz.DataBaseName+"] FROM DISK = '"+System_Biz.RegainPath+"';";
strSql=strSql+"Alter Database ["+System_Biz.DataBaseName+"] Set OnLine With rollback Immediate";
string strconnection="server=localhost;User ID=sa;password="+System_Biz.DataBasePassword+";database=master;";
try
{
SqlConnection cnn=new SqlConnection(strconnection);
SqlCommand cmd=new SqlCommand(strSql,cnn);
cnn.Open();
cmd.ExecuteNonQuery();
cnn.Close();
}
catch(SqlException se)
{
errorMessage = se.Message;
return false;
}
return true;
在程序中写