sqlserver 数据表转储到另一个数据库还原 bat

发布时间:2024年01月10日

如果你想将一个SQL Server数据库的数据表转储到另一个数据库,并使用批处理脚本来还原数据,你可以按照以下步骤进行:

1. 创建一个文本文件,例如dump_restore_to_another_db.bat。
2. 在文本文件中,编写以下内容:
?

@echo off
setlocal enabledelayedexpansion

:: 设置源数据库的连接信息
set "source_server=source_server_name"
set "source_database=source_database_name"
set "source_username=source_username"
set "source_password=source_password"

:: 设置目标数据库的连接信息
set "target_server=target_server_name"
set "target_database=target_database_name"
set "target_username=target_username"
set "target_password=target_password"

:: 转储数据表到临时表
echo 转储数据表到临时表...
sqlcmd -S %source_server% -d %source_database% -U %source_username% -P %source_password% -i "dump_table.sql"

:: 还原数据表到目标数据库
echo 还原数据表到目标数据库...
sqlcmd -S %target_server% -d %target_database% -U %target_username% -P %target_password% -i "restore_table.sql"

echo 完成。
pause


请确保将source_server_name、source_database_name、source_username、source_password、target_server_name、target_database_name、target_username和target_password替换为实际的连接信息。
3. 创建两个SQL脚本文件,dump_table.sql和restore_table.sql。在dump_table.sql中,使用SELECT INTO语句将数据转储到一个临时表中。在restore_table.sql中,使用INSERT INTO语句将数据从临时表复制到目标表中。确保在目标表中指定正确的表名和列名。

dump_table.sql


SELECT * INTO new_table FROM source_table;

?其中,new_table是你要创建的新表的名称,source_table是你要转储的源表的名称。你可以根据需要修改这些名称以适应你的实际情况。

restore_table.sql

INSERT INTO target_table SELECT * FROM backup_table;

其中,target_table是你要还原数据的目标表的名称,backup_table是你要从中复制数据的备份表的名称。你可以根据需要修改这些名称以适应你的实际情况。


4. 将创建的SQL脚本文件与批处理脚本文件放在同一个目录下。
5. 双击运行dump_restore_to_another_db.bat批处理脚本文件,它将按照你设置的连接信息执行数据表转储和还原操作。
6. 根据需要修改SQL脚本文件和批处理脚本文件,以适应你的实际需求。

请注意,这只是一个简单的示例,你可能需要根据自己的实际情况进行适当的修改和调整。此外,确保在执行任何操作之前备份你的数据,以防意外情况发生。

文章来源:https://blog.csdn.net/zengliguang/article/details/135510557
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。