• 解决sql脚本文件太大无法打开的问题(转载)


    原文地址:https://blog.csdn.net/weixin_33910137/article/details/94087442

    as we known,sql数据库高版本向低版本还原是不太可能但是又经常会碰到的事,今天实测了一种方法

    步骤:任务—》生成脚本—》

    下一步-》高级,选择数据库版本和编写脚本数据类型为架构和数据,可以保留数据。

    继续下一步完成。

    最终得到一个巨大的sql脚本文件

    -》接下来首先要在低版本数据库中新建一个目标数据库,然后运行sql脚本文件即可

    一般的sql文件我们都是直接在SqlServer的查询窗口直接执行的,但是这个巨大的sql文件实在是太大了,SqlServer甚至是记事本都无法打开。。。

    于是就有了下面这个命令

    sqlcmd -S .SQL2008  -U sa -P sql2008 -d backAmsData_nd -r -i C:UsersLYDDocumentsscript.sql

    命令执行之后就是漫长的等待了,毕竟1.5个G的文件。。。

     注意,如果脚本太大,可以关闭stderr消息(不添加-r参数),以加快执行速度。

     。。。。友情提示:这样导数据速度相当慢无比慢,最好还是尽量清除垃圾数据,减少数据量。。。如此一来也就不需要这个方法了。。。。。。。。。。。。。。。。。。。。。。

    借别人的图说明一下

    sqlcmd的命令参数如下:

     1    [-U 登录 ID]             [-P 密码]
     2  [-S 服务器]                [-H 主机名]           [-E 可信连接]
     3  [-d 使用数据库名称]  [-l 登录超时值]      [-t 查询超时值]
     4  [-h 标题]                    [-s 列分隔符]         [-w 列宽]
     5  [-a 数据包大小]         [-e 回显输入]         [-I 允许带引号的标识符]
     6  [-L 列出服务器]         [-c 命令结束]         [-D ODBC DSN 名称]
     7  [-q "命令行查询"]       [-Q "命令行查询" 并退出]
     8  [-n 删除编号方式]     [-m 错误级别]
     9  [-r 发送到 stderr 的消息]  [-V 严重级别]
    10  [-i 输入文件]            [-o 输出文件]
    11  [-p 打印统计信息]    [-b 出错时中止批处理]
    12  [-X[1] 禁用命令,[退出的同时显示警告]]
    13  [-O 使用旧 ISQL 行为禁用下列项]
    14      <EOF> 批处理
    15      自动调整控制台宽度
    16      宽消息
    17      默认错误级别为 -1 和 1

     :On Error[ exit | ignore]

    设置在脚本或批处理执行过程中发生错误时要执行的操作。

    使用 exit 选项时,sqlcmd 退出,并显示相应的错误值。

    使用 ignore 选项时,sqlcmd 会忽略错误,并继续执行批处理或脚本。默认情况下,会输出错误消息。

    执行文件夹中多文件

    @ECHO OFF
    
    SET SQLCMD="SQLCMD"
    SET SQLFILEPATH="C:path	osqlfiles"
    SET SERVER="ServerInstance"
    SET DB="Database"
    SET LOGIN="sa"
    SET PASSWORD="pass"
    SET OUTPUT="C:OutputLog.txt"
    
    CD %SQLFILEPATH%
    
    ECHO %date% %time% > %OUTPUT%
    
    for %%f in (*.sql) do (
    %SQLCMD% -S %SERVER% -d %DB% -U %LOGIN% -P %PASSWORD% -i %%~f >> %OUTPUT%
    )
  • 相关阅读:
    第一次参赛经历:ecfinal总结
    滑雪(dp或记忆化搜索)
    dp入门题(数塔)
    SQL语句:子查询
    【原创】SQL语句原理解析
    gitignore规则探究
    路径分隔符:正斜线/、反斜线、双反斜线\的区别
    高并发系统设计方法
    js变量作用域,变量提升和函数传参
    数据库设计:三范式
  • 原文地址:https://www.cnblogs.com/shuaimeng/p/14958654.html
Copyright © 2020-2023  润新知