惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

量子位
Stack Overflow Blog
Stack Overflow Blog
人人都是产品经理
人人都是产品经理
The GitHub Blog
The GitHub Blog
Engineering at Meta
Engineering at Meta
Vercel News
Vercel News
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Y
Y Combinator Blog
The Cloudflare Blog
Last Week in AI
Last Week in AI
B
Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
T
Tailwind CSS Blog
V
Visual Studio Blog
博客园 - 三生石上(FineUI控件)
小众软件
小众软件
Google DeepMind News
Google DeepMind News
D
DataBreaches.Net
博客园 - 司徒正美
B
Blog RSS Feed
Microsoft Azure Blog
Microsoft Azure Blog
罗磊的独立博客
Hugging Face - Blog
Hugging Face - Blog
L
LangChain Blog

博客园 - rapid

Rapid Business Development: Lightswitch vs. Dynamics CRM vs. SharePoint 2010 vs. ASP.NET MVC 3 OCS 2007 R2下载资源整理 下载silverlight官网的全部视频 [已修正链接] 对Scott Gu的Silverlight Sample--DiggSample的修改 - rapid 让Windows7顺利识别笔记本4G内存 “最郁闷的一次面试经历”勾起我对面试经验的一些看法 OpenSesame示例源码 转:WF中的跟踪服务(1):Sql跟踪数据库表,视图,存储过程等相关说明 转:技巧:使用User Control做HTML生成 转:一点一点学ASP.NET之基础概念——HttpModule Increasing the CRM 4.0 Attachment Size Limit 超级实用且不花哨的js代码大全 (转)编写发布Plug-In 转:汉字转全拼,简拼组件 转:高阶函数、委托与匿名方法 转:.NET平台下Web测试工具横向比较 比较著名的.net技术论坛网址(含国外的) 转:数据库管理对象(SMO)-为什么没有System.Data.DBManagement命名空间? 网站管理模板 stp 安装解决办法
SMO学习笔记(一)——备份篇之完全备份
rapid · 2009-04-01 · via 博客园 - rapid

前言 
       SMO,即SQL Server Management Objects,SQL服务器管理对象。SMO是一个基于.NET架构的管理架构,是一种新型集成化管理工具。SMO可以让开发人员为服务器管理创建个性化应用,对数据库对象进行开发、部署和故障诊断等工作。与DMO相同的是,SMO允许把列、工作表、数据库和服务器当做对象来处理。
                                                   ——摘自 2006年《程序员》精华本 合集

学习建议
        强烈建议SQL Server Management Studio+SQL Server 2005 联机丛书+CodeSeach+Google来学习。在SQL Server Management Studio里面每一个属性设置动作,基本都对应SMO一个属性方法;SQL Server 2005 联机丛书上面有对备份以及恢复一些列的文章深入了解相关知识;CodeSeach看不懂英文可以直接看代码,有Google代码搜索kodersThe Code Project;Google可以帮你搜索到一些中英文章和代码。

参考文章


SQL Server Management Studio演示完全备份:
1.登录

2.找到备份选项

3.设置备份参数

4.备份成功

SMO完全备份代码:

/// <summary>
    
/// 完全备份
    
/// (1)是备份的基准。在做备份时第一次备份都建议使用完全备份。
    
/// (2)完全备份会备份数据库的所有数据文件、数据对象和数据。
    
/// (3)会备份事务日志中任何未提交的事务。因为已提交的事务已经写入数据文件中。
    
/// </summary>
    
/// <param name="Connection"></param>
    
/// <param name="SmoParm">备份所需参数</param>
    public static void DatabaseBackups(string SqlConnectionString)
    {
        
using (SqlConnection Connection = new SqlConnection(SqlSqlConnectionString))
        {
                Server server 
= new Server(new ServerConnection(Connection));
                
                Backup bak 
= new Backup();
                
//备份模式
                bak.Action = BackupActionType.Database;
                
//将要备份数据库的名称
                bak.Database = "test";//设置为不是增量式备份
                bak.Incremental = false;
                
//Initialize - 如设置为真(True),该备份装置将取代其他备份媒介而成为首选。
                bak.Initialize = true;///LogTruncation备份日志选项。
                //TruncateOnly - 将数据库缩减后剩余的空间返还给操作系统。
                
//NoTruncate - 备份交易日志。日志里提供时间标记。
                
//Truncate - 备份交易日志,但不保留交易纪录。
                bak.LogTruncation = BackupTruncateLogType.Truncate;//DeviceType也可将备份保存到 LogicalDevice 或磁带之类的其他目的地,这里选择保存为文件
                
//注意!创建备份所在的目录必须存在
                bak.Devices.AddDevice(string.Format(@"{0}\{1}.{2}""D:""DB_BACK","bak") , DeviceType.File);
                   
                bak.SqlBackup(server);
            }

        }