SMO学习笔记(一)――备份篇之完全备份

前言 

       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代码搜索、koders、The Code Project;Google可以帮你搜索到一些中英文章和代码。


参考文章
 

数据点:SQL Server 管理对象(严重推荐)
http://soft.zdnet.com.cn/software_zone/2007/0821/462882.shtml

http://groups.google.co.uk/group/microsoft.public.sqlserver.programming/msg/4cdc39bff40e41c1

http://www.sqldbatips.com/showarticle.asp?ID=34

等等。

 


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);
            }

        }



 

你可能感兴趣的:(sql,server,职场,休闲,smo,完全备份)