zoukankan      html  css  js  c++  java
  • 大文件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

     

  • 相关阅读:
    iOS-AVPlayer
    简单认识一下什么是闭包
    你珍惜一个人,一定是感动过
    用户关闭浏览器页器,弹出一个提示
    Html5 小球键盘移动
    HTML坦克大战学习01
    關於 WebClient wc = new WebClient() 下載第三方數據不能進安安信任異常
    封装自己的yQuery
    js彈出層或者js彈出引用url Frame 層
    动态创建表单模拟提交
  • 原文地址:https://www.cnblogs.com/Fengge518/p/12016101.html
Copyright © 2011-2022 走看看