Fir*_*ali 16 sql-server-2008 sql-server sql-server-2008-r2
我想将数据库中可用的特定表备份到一个.bak
文件中,所有这些都应该使用 T-SQL 脚本来完成。
Tuf*_*and 12
备份类型取决于 SQL Server 恢复模型。每个恢复模型都允许您备份整个或部分 SQL Server 数据库或数据库的单个文件或文件组。不能创建表级备份,没有这个选项。但是有一个解决方法
可以在 SQL Server 中备份 SQL Server 表。有多种替代方法可以在 sql SQL Server 中备份表
在这里我只解释你可能知道的第一个休息
方法一——使用BCP备份sql表(BULK COPY PROGRAM)
要备份位于 SQL Server AdventureWorks 中的名为“Person.Contact”的 SQL 表,我们需要执行以下脚本,它
-- SQL Table Backup
-- Developed by DBATAG, www.DBATAG.com
DECLARE @table VARCHAR(128),
@file VARCHAR(255),
@cmd VARCHAR(512)
SET @table = 'AdventureWorks.Person.Contact' -- Table Name which you want to backup
SET @file = 'C:\MSSQL\Backup\' + @table + '_' + CONVERT(CHAR(8), GETDATE(), 112) -- Replace C:\MSSQL\Backup\ to destination dir where you want to place table data backup
+ '.dat'
SET @cmd = 'bcp ' + @table + ' out ' + @file + ' -n -T '
EXEC master..xp_cmdshell @cmd
Run Code Online (Sandbox Code Playgroud)
输出
笔记 -
或者,您可以通过命令提示符运行 BCP 并在命令提示符下键入以下命令,这两个操作执行相同的活动,但我喜欢上面提到的方法,因为它是打开命令提示符并键入的保存类型。
bcp AdventureWorks.Person.Contact out C:\MSSQL\Backup\AdventureWorks.Person.Contact_20120222.dat -n -T
Run Code Online (Sandbox Code Playgroud)
KAS*_*DBA 10
方法一:
如果您只关心表中的数据以及要在同一数据库和服务器中本地使用的数据,您可以使用以下查询来备份所选表:
SELECT * INTO newtable1
FROM originalTable1
Run Code Online (Sandbox Code Playgroud)
--- 对于表 2
SELECT * INTO newtable2
FROM originalTable2
Run Code Online (Sandbox Code Playgroud)
等等......对于n张桌子
此语句将创建名为 newtable1, newtable1,.. 的表,因此您不必事先创建它。
注意* 这种方法进行备份的速度非常快,但主要的缺点是它不携带表的键、索引和约束,并且备份存储在数据库中而不是文件外部的某个地方
方法二:
如果您想将表备份到其他服务器以用于任何灾难恢复解决方案或数据丢失防护,那么您可以使用任务中的生成脚本选项为表编写脚本。
首先,右键单击包含要备份的表的数据库,然后选择“任务”->“生成脚本”
从需要备份表的列表中选择您的数据库
出现的下一个屏幕是脚本选项。
向下滚动脚本选项,直到您看到表/视图选项。我们希望以下内容为真:检查约束、脚本数据、外键、主键、触发器和唯一键。(或者你当然可以选择你需要的任何东西)。选择下一步,我们将看到选择对象类型屏幕
选择表格并点击下一步。最后,选择要备份的一个或多个表,然后点击下一步
方法三:
您也可以使用bcp 实用程序进行表备份。
归档时间: |
|
查看次数: |
196169 次 |
最近记录: |