/// <summary>
89
/// 数据库备份
90
/// </summary>
91
/// <returns>备份是否成功</returns>
92
public bool DbBackup()
93
{
94
string path = CreatePath();
95
SQLDMO.Backup oBackup = new SQLDMO.BackupClass();
96
SQLDMO.SQLServer oSQLServer = new SQLDMO.SQLServerClass();
97
try
98
{
99
oSQLServer.LoginSecure = false;
100
oSQLServer.Connect(server,uid, pwd);
101
oBackup.Action = SQLDMO.SQLDMO_BACKUP_TYPE.SQLDMOBackup_Database;
102
oBackup.Database = database;
103
oBackup.Files = path;
104
oBackup.BackupSetName = database;
105
oBackup.BackupSetDescription = "数据库备份";
106
oBackup.Initialize = true;
107
oBackup.SQLBackup(oSQLServer);
108
109
return true;
110
}
111
catch(Exception ex)
112
{
113
return false;
114
throw ex;
115
}
116
finally
117
{
118
oSQLServer.DisConnect();
119
}
120
}
121
122
/// <summary>
123
/// 数据库恢复
124
/// </summary>
125
public string DbRestore()
126
{
127
if(exepro()!=true)//执行存储过程
128
{
129
return "操作失败";
130
}
131
else
132
{
133
SQLDMO.Restore oRestore = new SQLDMO.RestoreClass();
134
SQLDMO.SQLServer oSQLServer = new SQLDMO.SQLServerClass();
135
try
136
{
137
exepro();
138
oSQLServer.LoginSecure = false;
139
oSQLServer.Connect(server, uid, pwd);
140
oRestore.Action = SQLDMO.SQLDMO_RESTORE_TYPE.SQLDMORestore_Database;
141
oRestore.Database = database;
142
///自行修改
143
oRestore.Files = @"d:\aaa\aaa.bak";
144
oRestore.FileNumber = 1;
145
oRestore.ReplaceDatabase = true;
146
oRestore.SQLRestore(oSQLServer);
147
148
return "ok";
149
}
150
catch(Exception e)
151
{
152
return "恢复数据库失败";
153
throw e;
154
}
155
finally
156
{
157
oSQLServer.DisConnect();
158
}
159
}
160
}
161
162
/// <summary>
163
/// 杀死当前库的所有进程
164
/// </summary>
165
/// <returns></returns>
166
private bool exepro()
167
{
168
169
SqlConnection conn1 = new SqlConnection("server="+server+";uid="+uid+";pwd="+pwd+";database=master");
170
SqlCommand cmd = new SqlCommand("killspid",conn1);
171
cmd.CommandType = CommandType.StoredProcedure;
172
cmd.Parameters.Add("@dbname","aaa");
173
try
174
{
175
conn1.Open();
176
cmd.ExecuteNonQuery();
177
return true;
178
}
179
catch(Exception ex)
180
{
181
return false;
182
}
183
finally
184
{
185
conn1.Close();
186
}
187
}
188
189
}
190
191
}
192
在相应的按钮
89
/// 数据库备份90
/// </summary>91
/// <returns>备份是否成功</returns>92
public bool DbBackup()93
{94
string path = CreatePath();95
SQLDMO.Backup oBackup = new SQLDMO.BackupClass();96
SQLDMO.SQLServer oSQLServer = new SQLDMO.SQLServerClass();97
try98
{99
oSQLServer.LoginSecure = false;100
oSQLServer.Connect(server,uid, pwd);101
oBackup.Action = SQLDMO.SQLDMO_BACKUP_TYPE.SQLDMOBackup_Database;102
oBackup.Database = database;103
oBackup.Files = path;104
oBackup.BackupSetName = database;105
oBackup.BackupSetDescription = "数据库备份";106
oBackup.Initialize = true;107
oBackup.SQLBackup(oSQLServer);108

109
return true;110
}111
catch(Exception ex)112
{113
return false;114
throw ex;115
}116
finally117
{118
oSQLServer.DisConnect();119
}120
}121

122
/// <summary>123
/// 数据库恢复124
/// </summary>125
public string DbRestore()126
{127
if(exepro()!=true)//执行存储过程128
{129
return "操作失败";130
}131
else132
{133
SQLDMO.Restore oRestore = new SQLDMO.RestoreClass();134
SQLDMO.SQLServer oSQLServer = new SQLDMO.SQLServerClass();135
try136
{137
exepro();138
oSQLServer.LoginSecure = false;139
oSQLServer.Connect(server, uid, pwd);140
oRestore.Action = SQLDMO.SQLDMO_RESTORE_TYPE.SQLDMORestore_Database;141
oRestore.Database = database;142
///自行修改143
oRestore.Files = @"d:\aaa\aaa.bak";144
oRestore.FileNumber = 1;145
oRestore.ReplaceDatabase = true;146
oRestore.SQLRestore(oSQLServer);147

148
return "ok";149
}150
catch(Exception e)151
{152
return "恢复数据库失败";153
throw e;154
}155
finally156
{157
oSQLServer.DisConnect();158
}159
}160
}161
162
/// <summary>163
/// 杀死当前库的所有进程164
/// </summary>165
/// <returns></returns>166
private bool exepro()167
{168

169
SqlConnection conn1 = new SqlConnection("server="+server+";uid="+uid+";pwd="+pwd+";database=master");170
SqlCommand cmd = new SqlCommand("killspid",conn1);171
cmd.CommandType = CommandType.StoredProcedure;172
cmd.Parameters.Add("@dbname","aaa");173
try174
{175
conn1.Open();176
cmd.ExecuteNonQuery();177
return true;178
}179
catch(Exception ex)180
{181
return false;182
}183
finally184
{185
conn1.Close();186
}187
}188

189
}190

191
}192

在相应的按钮
1
<asp:Button id="wbtn_Backup" runat="server" Width="60px" Text="备 份" CssClass="Button"></asp:Button>
单击事件里调用即可:
<asp:Button id="wbtn_Backup" runat="server" Width="60px" Text="备 份" CssClass="Button"></asp:Button> 1
/// <summary>
2
/// 备份按钮
3
/// </summary>
4
/// <param name="sender"></param>
5
/// <param name="e"></param>
6
private void wbtn_Backup_Click(object sender, System.EventArgs e)
7
{
8
DbOperate dbop = new DbOperate();
9
dbop.DbBackup();
10
}
http://blog.csdn.net/haojialin/archive/2006/03/29/642942.aspx
/// <summary>2
/// 备份按钮3
/// </summary>4
/// <param name="sender"></param>5
/// <param name="e"></param>6
private void wbtn_Backup_Click(object sender, System.EventArgs e)7
{8
DbOperate dbop = new DbOperate();9
dbop.DbBackup();10
}


浙公网安备 33010602011771号