方法一(不使用SQLDMO):

///
///备份方法
///
SqlConnection conn = new SqlConnection("Server=.;Database=master;User ID=sa;Password=sa;");

SqlCommand cmdBK = new SqlCommand();
cmdBK.CommandType = CommandType.Text;
cmdBK.Connection = conn;
cmdBK.CommandText = @"backup database test to disk='C:\ba' with init";

try
{
conn.Open();
cmdBK.ExecuteNonQuery();
MessageBox.Show("Backup successed.");
}
catch(Exception ex)
{
MessageBox.Show(ex.Message);
}
finally
{
conn.Close();
conn.Dispose();
}

///
///还原方法
///
SqlConnection conn = new SqlConnection("Server=.;Database=master;User ID=sa;Password=sa;Trusted_Connection=False");
conn.Open();

//KILL DataBase Process
SqlCommand cmd = new SqlCommand("SELECT
spid FROM sysprocesses ,sysdatabases WHERE
sysprocesses.dbid=sysdatabases.dbid AND sysdatabases.Name='test'",
conn);
SqlDataReader dr;
dr = cmd.ExecuteReader();
ArrayList list = new ArrayList();
while(dr.Read())
{
list.Add(dr.GetInt16(0));
}
dr.Close();
for(int i = 0; i < list.Count; i++)
{
cmd = new SqlCommand(string.Format("KILL {0}", list[i]), conn);
cmd.ExecuteNonQuery();
}

SqlCommand cmdRT = new SqlCommand();
cmdRT.CommandType = CommandType.Text;
cmdRT.Connection = conn;
cmdRT.CommandText = @"restore database test from disk='C:\ba'";

try
{
cmdRT.ExecuteNonQuery();
MessageBox.Show("Restore successed.");
}
catch(Exception ex)
{
MessageBox.Show(ex.Message);
}
finally
{
conn.Close();
}

最新文章

  1. ASP.NET MVC5+EF6+EasyUI 后台管理系统(39)-在线人数统计探讨
  2. web报表工具Stimulsoft Reports.Web在mvc项目中使用
  3. Microservices Reference Architecture - with Spring Boot, Spring Cloud and Netflix OSS--转
  4. TP中的四种url访问方式
  5. .NET开发工具之Excel导出公共类
  6. MAT(Memory Analyzer Tool)工具入门介绍(转)
  7. IOC Container(服务容器)的工作机制
  8. 使用JS制作一个鼠标可拖的DIV(一)——鼠标拖动
  9. hadoop2——新MapReduces——yarm详解
  10. Swing入门
  11. Linux安装 火速入门
  12. Linux服务器---流量监控MRTG
  13. Linux上的oracle巡检脚本
  14. 【leetcode】234. Palindrome Linked List
  15. sqlserver window身份验证时切换账户的快捷键
  16. Windows 8风格应用-触控输入
  17. Android ScrollView 嵌套ListView的替代方案
  18. 如何利用 jQuery 修改 css 中带有 !important 的样式属性?
  19. 第四步 使用 adt-eclipse 打包 Cordova (3.0及其以上版本) + sencha touch 项目
  20. 思维题(两点逼近)LeetCode11 Container with Most Water

热门文章

  1. PHP快速入门 如何配置Apache服务器
  2. 转换和删除重复命令tr
  3. Dynamic Proxy (动态代理模式)
  4. Vue 源码 基础知识点
  5. [转发]在Visual Studio 2010/2012/2013/2015上使用C#开发Android/IOS安装包和操作步骤
  6. Coreseek安装测试配置指南(转)
  7. Android上怎样使用《贝赛尔曲线》
  8. spring的注解形式:@Repository、@Service、@Controller,
  9. 04-树7. Search in a Binary Search Tree (25)
  10. Redis(十五):哨兵Sentinel