• 大文件SQl脚本怎么还原以及SQlsqlserver怎么全自动备份数据库


    1:导出的SQl脚本文件通常大于100M左右就会还原不了,不是报错就是说系统文件找不到(sql脚本是直接拖进来的,不存在路径的问题).

    2:CMD 使用 OSQL命令或者Sqlcmd命令都是可以解决的,其实就是采用的ODBC的技术,一行一行的去执行(这样几十G的脚本文件都没有问题).

    3:经个人测试,下面两个命令都可以:

      osql -S"XB-201907130929RFSQLSERVER" -U"sa" -P"QQ88" -i"mysqlBack.sql" -d"FenggeTestDB" 

      sqlcmd -S"XB-201907130929RFSQLSERVER" -U"sa" -P"QQ88" -i"mysqlBack.sql" -d"FenggeTestDB"

    4:-S 你的sqlserver数据库的服务器名称; -U 用户名; -P 密码; -i 你的文件路径; -d 你的数据库名称(建议先在数据库中创建好).

    5:如下测试的截图:

    5.1:报错

     5.2:在SQl脚本的路径下打开CMD并查看对应的命令:

    5.3执行命令后会一行一行的显示:一行受到影响,最后成功的效果如下:可以看到数据库已经有表以及数据

     

    6:全自动备份SQlserver中的数据库:直接上干货

         6.1 手动备份单个文件:

    Backup Database database_name
    To disk='X:folderdatabase_name_mirror1.backupname.bak'

         6.2:使用作业计划全自动备份, SQl脚本如下:

    DECLARE @date DATETIME=GETDATE();
    DECLARE @name VARCHAR(20);
    DECLARE @okpath varchar(100);
    SELECT @name= CONVERT(VARCHAR,DATEPART(YEAR,@date),10) +
    '-'+ CONVERT(VARCHAR,DATEPART(MONTH,@date),10)+
    '-'+CONVERT(VARCHAR,DATEPART(DAY,@date),10)+
    '-'+CONVERT(VARCHAR,DATEPART(HOUR,@date),10)+
    '-'+CONVERT(VARCHAR,DATEPART(MINUTE,@date),10)+
    '-'+CONVERT(VARCHAR,DATEPART(SECOND,@date),10);
    SET @okpath='D:upfileupfile_backup'+ convert(varchar,@name,20)+'.bak'
    PRINT(@name);
    PRINT(@okpath);
    
    BACKUP Database DBTEST
     To disk=@okpath  --WITH int;
    View Code

    7:最终我们可以看到,手动备份和脚本备份的是一样的效果

    8:最后关于怎么全自动执行脚本,请参考我之前写的学习笔记

      https://www.cnblogs.com/Fengge518/p/11483109.html

     

  • 相关阅读:
    修改Windows上MySQL的数据文件路径
    【转】Analysis Services 2005中数据完整性处理
    设置Bitvise Ssh Client 为Windows服务
    Finalize/Dispose资源清理模式
    ACM HDU BFS 题目
    BFS专题之hdu1242 rescue
    bfs专题之HUD 1429 胜利大逃亡(续)
    ACM HDU 1010 Tempter of the Bone
    流水线作业调度问题
    系统原型
  • 原文地址:https://www.cnblogs.com/Fengge518/p/12016101.html
Copyright © 2020-2023  润新知