sql="BACKUP DATABASE Northwind TO DISK = 'c:\Northwind.bak' with init"
解决方案 »
- 路径啊路径
- 在IIS上运行.net项目文件,浏览时,“Internet Explorer 无法显示该页面”
- 请教大师一个SqlHelper的问题
- DataTable与DataReader的区别
- 急,求全站ajax高难度的SEO优化
- 请问一下,我用Win2003作为代码服务器,Unlix系统作为数据库服务器,Unlix上的数据库为MYSQL,用ASP.NET编写服务器代码请问可以实现吗?
- 在线求助!!急,XML错误
- 求".net反编译工具"的源代码.
- 全部積分相送﹐只求解決一個問題﹖
- 急急!!为什么我的ASP.NET控件无法在页面中显示?
- 大家帮我看看这段代码那里有错误?为什么执行不到呢?
- 服务器升级为域控制器后asp.net出错,怎么办?
private void startBackup_Click(object sender, System.EventArgs e)
{
string servername;
string login;
string password;
string databasename;
string serverpathname;
if(Session["personnelID"]==null)
{
Label1.Text="请您重新登陆本系统!";
return;
}
if(checkText().Length!=0)
{
Label1.Text=checkText()+" 不能为空!";
return;
}
servername=serverName.Text.Trim();
login=loginName.Text.Trim();
password=passWord.Text.Trim()+"";
databasename=databaseName.Text.Trim();
serverpathname=serverpathName.Text.Trim(); sqldmoSQLServer.LoginSecure=false;
try
{
sqldmoSQLServer.Connect(servername,login,password); databases=sqldmoSQLServer.Databases;
database2=(Database2)databases.Item(databasename,null); backup.PercentCompleteNotification=1; backup.Database=database2.Name;
backup.Files=@serverpathname;
backup.SQLBackup(sqldmoSQLServer);
Label1.Text="完成备份!";
}
catch(Exception ex)
{
Label1.Text=ex.Message.ToString();
}
catch
{
Label1.Text="备份失败!";
}
finally
{
SqldmoClear();
}
}
private void SqldmoClear()
{
sqldmoSQLServer.DisConnect();
sqldmoSQLServer.Close();
backup=null;
sqldmoSQLServer=null;
}
private string checkText()
{
string strState="";
if(serverName.Text.Trim().Length==0)
{
strState="Server Name";
return strState;
}
if(loginName.Text.Trim().Length==0)
{
strState="Administrators";
return strState;
}
if(databaseName.Text.Trim().Length==0)
{
strState="Database Name";
return strState;
}
if(serverpathName.Text.Trim().Length==0)
{
strState="[Server Path] Backup To";
return strState;
}
return strState;
}
为什么我的vs.net找不到SQLDMO的名字空间?
create PROCEDURE GY_DBBak
@bakequip int, -- 备份设备:磁盘&磁带
@bakpath varchar(50), -- 带全路径的备份文件名
@baktype int, -- 完全备份&增量备份
@baklog int, -- ‘0’备份日志
@bakdb int, -- ‘0’备份数据库
@kind varchar(7), --备份还是恢复
@retmsg varchar(20) output --返回信息
AS
DECLARE @DevName_data varchar(50)
DECLARE @DevName_log varchar(50)
declare @db_path varchar(100)
declare @log_path varchar(100)
DECLARE @RC INT SELECT @db_path = @bakpath + '.dat'
SELECT @log_path = @bakpath + 'log.dat'
SELECT @RC=0
select @DevName_data='dali',@DevName_log='dalilog' DBCC CHECKDB(数据库名)
/***********************************************************
** CREATE BACKUP AND RESTORE DEVICES
************************************************************/
IF @RC=0
BEGIN
EXEC sp_addumpdevice 'disk', @DevName_data,@db_path
exec sp_addumpdevice 'disk', @DevName_log,@log_path
select @rc=@@error
IF @RC<>0
begin
EXEC SP_DropDevice @Devname_data
exec sp_dropdevice @devname_log
SELECT @RC=-1000
return @rc
end
END
IF @kind='backup'
BEGIN
IF @bakequip=0
BEGIN
IF @baktype=0
BEGIN
IF @bakdb=0
BEGIN
BACKUP DATABASE 数据库名 TO DISK=@Devname_data
WITH INIT
END
IF @baklog=0
BEGIN
BACKUP LOG 数据库名 WITH NO_LOG
BACKUP LOG 数据库名 TO DISK=@DevName_log
WITH INIT,NO_TRUNCATE
END
END
ELSE BEGIN
IF @bakdb=0
BEGIN
BACKUP DATABASE 数据库名 TO DISK=@DevName_data
WITH NOINIT
END
IF @baklog=0
BEGIN
BACKUP LOG 数据库名 WITH NO_LOG
BACKUP LOG 数据库名 TO DISK=@DevName_log
WITH NOINIT,NO_TRUNCATE
END
END
END
SELECT @retmsg='数据库备份成功!'
END
IF @kind='restore'
BEGIN
RESTORE DATABASE 数据库名 FROM DISK= @DevName_data WITH REPLACE
SELECT @retmsg='恢复数据库成功!'
END EXEC SP_DropDevice @Devname_data
exec sp_dropdevice @devname_log
RETURN 0---测试:
declare @ varchar(100)
exec gy_dbbak 0,'aa',0,0,0,'backup',@ output
select @
-------------------------------------------------
备份设备:
sp_helpdevice
或use master
select * from sysdevices
谢谢,没有问题。
但是如何恢复呢?