SQLSERVER的备份问题!我要数据库中的TABLE进行备份,怎样用程序实现??SQL语句该怎么写???(100分)

  • 主题发起人 主题发起人 yw
  • 开始时间 开始时间
可以使用bcp来备份,
可以使用batchmove来备份(程序中推荐)
使用Query来备份
使用SQLSERVER 的备份功能(将表导出)
 
建立备份设备:sp_addumpdevice...
转储:dump...
加载:load...
 
各位大侠,你们的回答请详细一点,行吗???!!!
 
一种方法是在SQL Server中写好存储过程,在应用程序中调用该存储过程
当然,应该选择好备份类型,比如说全库备份、差异备份等
创建备份sp_addumpdevice 'disk' ,'pubs_backup','d:/pubs_backup.bak'
然后,对于全库备份,backup database pubs to pubs_backup with init就可以

也可以创建一个Job,然后在应用程序中用SQL-DMO定时使该任务运行;或者直接就在
SQL Server中定时运行

bcp也很方便,bcp "表名" out e:/mssql7/data/*.txt -c -q
-Sservername -Ulogin -Ppassword
但作为一个命令行工具在程序中不好控制;参数复杂;并且需要先将表中的索引去掉

 
首先申明没有必要用什么命令来备份了!SQL的工具很多干吗还用语句???
如果一定要用的话,可以推荐你使用
bcp命令或者是存储过了,然后去调用就可以了,命令的格式是这样的!;
bcp [[database_name.]owner.]table_name {in | out} datafile
[/m maxerrors] [/f formatfile] [/e errfile]
[/F firstrow] [/L lastrow] [/b batchsize]
[/n] [/c] [/E]
[/t field_term] [/r row_term]
[/i inputfile] [/o outputfile]
/U login_id [/P password] [/S servername] [/v] [/a packet_size]

back database {database name|@dateabase_name_var}
to <backup_device>[,.....]
[with
[format]
[[,]{init|noinit}]
]
 
首先,我对大家的建议表示感谢。可是,我不想用BCP来备份。因为,我要备份的TABLE_Name是个变量,
batchmove能对表备份吗?该怎么用???还有什么方法???我急,急,急!!!
 
比较简单的方法是用Select into 将一个表的内容完全导入新表,由于需要
表名是变量,需要使用动态Execute
创建一个动态Execute的存储过程:
CREATE PROCEDURE [sp_myBackup] @OldTable varchar(30),@NewTable varchar(30) AS
EXEC (' Select '+ @OldTable+'.*'+'Into '+@NewTable+' From '+@OldTable)

这样可以动态指定需要备份的表,还可以弄得很复杂。当然,新表只有数据,一些属性
将丢失。
 
推荐下载备份空件
 
多人接受答案了。
 
后退
顶部