可以用 backup来辈分,可以在连机帮助中查backup和restore语句。给你个例子。
下例执行 MyNwind 数据库的文件和文件组的备份操作。-- Back up the MyNwind file(s) and filegroup(s)
BACKUP DATABASE MyNwind
   FILE = 'MyNwind_data_1',
   FILEGROUP = 'new_customers',
   FILE = 'MyNwind_data_2', 
   FILEGROUP = 'first_qtr_sales'
   TO MyNwind_1
GO

解决方案 »

  1.   

    uje  很感谢你的答复。
    可是我需要的是在DOS状态中就能够执行数据库备份的语句,不知道你是否有过这方面的经验?
    先在这里谢谢了!
      

  2.   

    好象没听说过可以这样,要不你做一个程序,然后执行?或者
    copy *.mdf ?
      

  3.   

    哈,看了一下SQL SERVER 2000的帮助,有收获了:
     命令提示实用工具  sqlmaint 实用工具
    sqlmaint 实用工具在一个或多个数据库上执行一套指定的维护操作。可以使用 sqlmaint 来运行 DBCC 检查,备份数据库及其事务日志,更新统计并重建索引。所有数据库维护活动都生成一个报表,该报表可以发送到一个指定的文本文件、HTML 文件或电子邮件帐户。语法
    sqlmaint 
    [-?]|
    [
        [-S server_name[\instance_name]]
        [-U login_ID [-P password]]
        {
            [ -D database_name | -PlanName name | -PlanID guid ]
            [-Rpt text_file]
            [-To operator_name]
            [-HtmlRpt html_file [-DelHtmlRpt <time_period>] ]
            [-RmUnusedSpace threshold_percent free_percent]
            [-CkDB | -CkDBNoIdx]
            [-CkAl | -CkAlNoIdx]
            [-CkCat]
            [-UpdOptiStats sample_percent]
            [-RebldIdx free_space]
            [-WriteHistory]
            [
                {-BkUpDB [backup_path] | -BkUpLog [backup_path] }
                {-BkUpMedia
                    {DISK [    [-DelBkUps <time_period>]
                                [-CrBkSubDir ] [ -UseDefDir ]
                             ]
                    | TAPE
                    }
                }
                [-BkUpOnlyIfClean]
                [-VrfyBackup]
            ]
        }
    ]<time_period> ::=
    number[minutes | hours | days | weeks | months]说明  参数与其值之间必须用一个空格分隔。例如,在 -S 和 server 之间必须有一个空格。
    参数-?指定返回 sqlmaint 的语法关系图。此参数必须单独使用。-S server_name[\instance_name]指定 Microsoft&reg; SQL Server&#8482; 2000 的目标实例。指定用于连接到该服务器上的 SQL Server 2000 默认实例的 server_name。指定用于连接到该服务器上的 SQL Server 2000 命名实例的 server_name\instance_name。如果未指定服务器,则 sqlmaint 连接到本地计算机上的 SQL Server 2000 默认实例。-U login_ID指定连接服务器时使用的登录 ID。如果未提供,则 sqlmaint 尝试使用 Windows 身份验证。如果 login_ID 包含特殊的字符,则它必须用英文双引号 (") 引起来;否则,双引号是可选的。-P password指定登录 ID 的密码。仅当也使用 -U 参数时才有效。如果 password 包含特殊字符,则它必须用英文双引号 (") 引起来;否则,双引号是可选的。-D database_name指定在其中执行维护操作的数据库的名称。如果 database_name 包含特殊字符,则它必须用英文双引号 (") 引起来;否则,双引号是可选的。-PlanName name指定使用数据库维护计划向导定义的数据库维护计划的名称。sqlmaint 唯一使用的该计划中的信息是其数据库列表。任何在其它 sqlmaint 参数中指定的维护活动都可应用于此列表中的数据库。可以从 SQL Server 企业管理器获得计划名称。-PlanID guid指定使用数据库维护计划向导定义的数据库维护计划的全局唯一标识符 (GUID)。sqlmaint 唯一使用的该计划中的信息是其数据库列表。任何在其它 sqlmaint 参数中指定的维护活动都可应用于此列表中的数据库。这必须与 msdb.dbo.sysdbmaintplans 中的 plan_id 值匹配。-Rpt text_file指定包含所生成报表的文件的完整路径和名称。报表也可以生成到屏幕上。报表通过将日期添加到文件名中来维护版本信息。日期生成方式如下:在文件名末尾、句点之前,使用 _yyyyMMddhhmm 格式。Yyyy = 年,MM = 月,dd = 日,hh = 时,mm = 分。如果在 1996 年 12 月 1 日的 10:23 A.M. 运行该实用工具,且 text_file 的值为: c:\Program Files\Microsoft SQL Server\Mssql\Backup\Nwind_maint.rpt生成的文件名为: c:\Program Files\Microsoft SQL Server\Mssql\Backup\Nwind_maint_199612011023.rpt当 sqlmaint 访问远程服务器时 text_file 需要完整的 UNC 文件名。 -To operator_name指定通过 SQL 邮件将生成的报表发送给哪个操作员。可以使用 SQL Server 企业管理器定义操作员。 -HtmlRpt html_file指定包含所生成的 HTML报表的文件的完整路径和文件名称。sqlmaint 通过向文件名追加格式为 _yyyyMMddhhmm 的字符串生成文件名,这与 -Rpt 参数的作用相同。sqlmaint 访问远程服务器时,html_file 需要完整的 UNC 文件名。-DelHtmlRpt <time_period>指定如果报表文件创建后的时间间隔超过了 <time_period> 时将删除报表目录中的所有 HTML 报表。-DelHtmlRpt 查找那些名称符合由 html_file 参数生成的模式的文件。如果 html_file 为 c:\Program Files\Microsoft SQL Server\Mssql\Backup\Nwind_maint.htm,则 -DelHtmlRpt 将导致 sqlmaint 删除任何名称与 c:\Program Files\Microsoft SQL Server\Mssql\Backup\Nwind_maint*.htm 模式匹配的文件,以及早于指定的 <time_period> 的文件。-RmUnusedSpace threshold_percent free_percent指定从 -D 指定的数据库中删除未使用的空间。此选项仅对定义为自动增长的数据库有用。Threshold_percent 按兆字节指定在 sqlmaint 尝试删除未使用的数据空间之前数据库必须达到的大小。如果数据库小于 threshold_percent,则不进行操作。Free_percent 指定在数据库中必须保留的未使用空间的大小,按数据库最终大小的百分比指定。例如,如果一个 200 MB 的数据库包含 100 MB 的数据,将 free_percent 指定为 10,则最终数据库大小为 110 MB。应该注意的是,如果数据库小于 free_percent 加上数据库中的数据,则数据库不会扩展。例如,如果一个 108 MB 的数据库有 100 MB 的数据,则将 free_percent 指定为 10 不会使数据库扩展到 110 MB,而仍是 108 MB。-CkDB | -CkDBNoIdx指定在 -D 指定的数据库中运行的 DBCC CHECKDB 语句或带有 NOINDEX 选项的 DBCC CHECKDB 语句。有关更多信息,请参见 DBCC CHECKDB。如果 sqlmaint 运行时数据库正在使用,则会在 text_file 中写入一个警告。-CkAl | -CkAlNoIdx指定在 -D 指定的数据库中运行的 DBCC NEWALLOC 语句或带有 NOINDEX 选项的 DBCC NEWALLOC 语句。有关更多信息,请参见 DBCC NEWALLOC。-CkCat指定在 -D 指定的数据库中运行 DBCC CHECKCATALOG 语句。有关更多信息,请参见 DBCC CHECKCATALOG。-UpdOptiStats sample_percent指定在数据库的每个表上运行下列语句:UPDATE STATISTICS table WITH SAMPLE sample_percent PERCENT有关更多信息,请参见更新统计信息。-RebldIdx free_space指定使用 free_space 百分比值作为填充因子的倒数,重建目标数据库中的表的索引。例如,如果 free_space 百分比值为 30,则使用的填充因子为 70。如果 free_space 百分比值为 100,则使用初始的填充因子值重建索引。-WriteHistory指定在 msdb.dbo.sysdbmaintplan_history 中为由 sqlmaint 执行的每次维护操作生成一项。如果指定了 -PlanName 或 -PlanID,则 sysdbmaintplan_history 中的项目使用指定计划的 ID。如果指定了 -D,则通过给计划 ID 赋予零值来生成 sysdbmaintplan_history 中的项目。-BkUpDB [backup_path] | -BkUpLog [backup_path]指定备份操作。-BkUpDb 备份整个数据库。-BkUpLog 仅备份事务日志。[backup_path] 指定备份的目录。如果也指定了 -UseDefDir,则不需要 [backup_path],如果两者都指定,则 [backup_path] 被 -UseDefDir 替代。备份可以放在目录或磁带设备地址中(例如,\\.\TAPE0)。数据库备份的文件名自动生成如下:dbname_db_yyyyMMddhhmm.BAK其中 dbname 是正在进行备份的数据库的名称。
    yyyyMMddhhmm 是备份操作的时间,yyyy = 年,MM = 月,dd = 日,hh = 时,mm = 分。 
    事务备份的文件名自动使用与下面相似的格式生成: dbname_log_yyyymmddhhmm.BAK如果使用 -BkUpDB 参数,则必须通过 -BkUpMedia 参数指定媒体。 -BkUpMedia指定备份的媒体类型。DISK指定备份媒体为磁盘。-DelBkUps <time_period>指定如果创建备份后的时间间隔超过了 <time_period> 则删除备份目录中的所有备份文件。-CrBkSubDir指定在 [backup_path] 目录中创建子目录;如果同时指定了 UseDefDir,则在默认的备份目录中创建子目录。子目录的名称从 -D 指定的数据库名称中生成。-CrBkSubDir 提供了一种简单的方法,可用来将不同数据库的所有备份放入单独的子目录中,而不必更改 [backup_path] 参数。-UseDefDir指定在默认的备份目录中创建备份文件。如果两者都指定,则 UseDefDir 替代 [backup_path]。在默认的 SQL Server 2000 安装程序中,默认备份目录是 c:\Program Files\Microsoft SQL Server\Mssql\Backup。TAPE指定备份媒体为磁带。-BkUpOnlyIfClean指定仅当任何指定的 -Ck 检查未发现数据问题时才进行备份。维护操作的运行顺序与其在命令提示中出现的顺序相同。如果要同时指定 -BkUpOnlyIfClean,则应在 -BkUpDB/-BkUpLog 参数前指定参数 -CkDB、-CkDBNoIdx、-CkAl、-CkAlNoIdx、-CkTxtAl 或 -CkCat,否则无论是否检查报表问题,都将进行备份。-VrfyBackup指定当备份完成时在备份上运行 RESTORE VERIFYONLY。number[minutes | hours | days | weeks | months]指定时间间隔,用来确定报表或备份文件是否陈旧到需要删除的程度。number 是一个整数。有效的示例包括 12weeks、3months 和 15days。如果仅指定了 number,则默认的日期部分为 weeks。
    注释
    sqlmaint 在一个或多个数据库上执行维护操作。如果指定了 -D,则仅在指定的数据库上执行在剩余的开关中指定的操作。如果指定了 -PlanName 或 -PlanID,则 sqlmaint 从指定的维护计划中检索的唯一信息是计划中的数据库列表。在 sqlmaint 剩余参数中指定的全部操作,都将应用于从计划取得的列表中的每个数据库。sqlmaint 不进行在计划本身中定义的任何维护活动。如果成功运行,则 sqlmaint 实用工具返回 0,否则返回 1。在下列情况下将报告失败: 如果任何维护操作失败。
    如果 -CkDB、-CkDBNoIdx、-CkAl、-CkAlNoIdx、-CkTxtAl 或 -CkCat 检查发现数据有问题。
    如果遇到常规错误。 
    有关此实用工具的位置和运行方式的信息,请参见命令提示实用工具入门。示例
    A. 对 Northwind 数据库执行 DBCC 检查sqlmaint -S MyServer -U "sa" -P "SaPwd" -D Northwind -CkDB -CkAl -CkCat -Rpt C:\MyReports\Nwind_chk.rpt
    B. 使用计划中所有数据库的 15% 样本更新统计信息。同时将任何已达到 110 MB 的数据库收缩到仅有 10% 的可用空间sqlmaint -S MyServer -U "sa" -P "SaPwd" -PlanName MyUserDBPlan -UpdOptiStats 15 -RmUnusedSpace 110 10
    C. 将计划中的所有数据库备份到它们在默认的 x:\Program Files\Microsoft SQL Server\Mssql\Backup 目录中各自的子目录中。同时删除任何超过两个星期的备份sqlmaint -S MyServer -U "sa" -P "SaPwd" -PlanName MyUserDBPlan -BkUpDB -BkUpMedia DISK -UseDefDir -CrBkSubDir -DelBkUps 2weeks