精华内容
下载资源
问答
  • 数据库还原

    2017-09-27 11:37:30
    在做数据库相关的日常工作中,还原与备份数据库会经常遇到,有时候同样的sql2008备份的数据库,从别人那边备份的数据库文件,在自己的电脑上还原会出现: 的错误。 解决方法有两种: 第一种:右键数据库 ...

    在做数据库相关的日常工作中,还原与备份数据库会经常遇到,有时候同样的sql2008备份的数据库,从别人那边备份的数据库文件,在自己的电脑上还原会出现:

    的错误。

    解决方法有两种:

    第一种:右键数据库

    点击还原数据库,


    填上需要还原的数据库名,就可以直接还原了。


    第二种:在新建的数据库上还原数据库时,选好备份文件后,勾选上覆盖现有数据库即可。


    展开全文
  • postgrs timescaledb数据库 还原数据库 最近碰到一个问题 timescaledb数据库 所在的服务器内存满了 新加一个盘 考虑如何迁移过去 因为 timescaledb数据库 是不断上传数据的 考虑到尽可能的减少数据丢失 考虑用新建表...

    postgresql数据库 timescaledb数据库备份 还原数据库 数据迁移

    最近碰到一个问题 timescaledb数据库 所在的服务器内存满了 新加一个盘 考虑如何迁移过去

    因为 timescaledb数据库 是不断上传数据的 考虑到尽可能的减少数据丢失 考虑用新建表空间的方式来迁移数据,方法如下

    一 .建立表空间

    首先建立表空间 tbs_cs1 指定路径在新盘上

    1. 创建目录

    mkdir -p  /u01/cs/pgdata
    

    2.分配权限

    [root@localhost ~]# chown postgres:postgres /u01/cs/pgdata
    

    3.创建表空间

    create tablespace tbs_cs1 owner postgres location '/u01/cs/pgdata';
    

    二.建立一个新的数据库 cs 指定表空间 tbs_cs1

    2.1 建立新库 指定表空间 安装插件timescaledb

    CREATE DATABASE cs SET TABLESPACE tbs_cs1 ;
    cs=# CREATE SCHEMA hrmw;
    cs=# set search_path to hrmw; 
    cs=# CREATE EXTENSION timescaledb;
    

    现在建好新库就是考虑数据迁移的问题
    我采用的是备份-还原的方式

    三 备份原数据库

    3.1 备份整个库

    我先把timescaledb库全都备份了

    /usr/pgsql-11/bin/pg_dump --file "/u01/pgsql.backup" --host "0.0.0.0" --port "5432" --username "postgres" --dbname "原数据库名" --verbose --role "postgres" --format=c --blobs --encoding "UTF8"
    

    3.2 备份超级表

     psql --host "0.0.0.0"  --port "5432" --dbname "原数据库名"  --username "postgres" \
    -c "\COPY (SELECT * FROM 超级表名 {后面可以跟where 加限制条件}) TO /u01/data.csv DELIMITER ',' CSV"
    

    有些 超表的数据量过大 有些数据不想要可以用 where加条件 进行过滤

    四.还原数据库

    4.1 还原全库

    数据备份完了 就考虑还原了 我先跟postgres 数据库一样采用pg_restore 进行全库 还原

    cs=#  SELECT timescaledb_pre_restore();
    pg_restore --username "postgres" --host "1.1.1.1" --port "5432"  --password  --role "postgres" --dbname "cs"    --verbose /u01/pgsql.backup 
    cs=# SELECT timescaledb_post_restore();
    

    还原后 我测试发现发现超表出现问题 插不进数据 但是分区能 我上网找了半天没找到办法(哪位大佬知道办法 请留言 或私聊我 谢谢) 但是我发现重新建立超表就没有这个问题了 !!!
    报错如下:

    ERROR: invalid INSERT on the root table of hypertable “超表名”
    HINT: Make sure the TimescaleDB extension has been preloaded.

    4.2 超表单独还原

    我采用先还原模式 ——删除超表——还原其余数据 ——新建超表——导入超表数据 的方式

    1.先还原模式

    pg_restore -s --username "postgres" --host "1.1.1.1" --port "5432"  --password  --role "postgres" --dbname "cs"    --verbose /u01/pgsql.backup 
    

    2.删除原有的超表

    drop table "超表名" CASCADE

    3.还原其他表数据

    pg_restore -a --username "postgres" --host "1.1.1.1" --port "5432"  --password  --role "postgres" --dbname "cs"    --verbose /u01/pgsql.backup 
    

    4 创建普通表 并把他改为超表

    CREATE TABLE b1("ID" varchar(36) NOT NULL"alarm_time" timestamp(6) NOT NULL,;
    SELECT create_hypertable('b1', 'alarm_time', chunk_time_interval => INTERVAL '7 day');
    CREATE INDEX "b1_alarm_time_idx" ON "b1" USING btree (
      "create_time"  DESC NULLS LAST
    );
    

    5.还原超表数据

    psql --host "1.1.1.1"  --port "5432" --dbname "cs"  --username "postgres"   -c "\COPY   表名 FROM  /u01/data.csv CSV"
    

    到这里就完成数据库的还原了 剩下就是切换数据库

    五 切换数据库

    因为在实际中有好多服务连接着数据库 需求把这些服务都给停掉才行

    5.1 停止服务

    因为实际中服务不一样 按照实际情况停

    5.2 切换数据库

    我把原数据库与新建的数据库cs的连接都杀掉了

     postgres=# 
     SELECT
        pg_terminate_backend(pid)
    FROM
        pg_stat_activity
    WHERE
        -- don't kill my own connection
        pid <> pg_backend_pid()
        -- don't kill the connections to other databases
        AND datname = '原库名'
        ;
    

    有时候会杀不掉 多执行几遍 只到显示结果为0时就可以了

    5.3数据库改名

    把原库另起他名 ,把新库改名原库名

     postgres=# ALTER DATABASE 原库名 RENAME TO aa;
     postgres=# ALTER DATABASE cs RENAME TO 原库名;
    

    5.4 开启服务

    把之前停掉的服务开启

    5.5 查看数据库

    看看数据库上数了吗? 上数就ok了

    展开全文
  • Sqlserver高版本数据库还原到低版本数据库的操作步骤如下 一、从高版本数据库导出数据 ①选择需要导出到低版本的数据库,点击鼠标右键-->选择“任务”-->选择“生成脚本” ②在弹出界面选择下一步 ③...

    Sqlserver高版本数据库还原到低版本数据库的操作步骤如下

    一、从高版本数据库导出数据

    ①选择需要导出到低版本的数据库,点击鼠标右键-->选择“任务”-->选择“生成脚本”

    ②在弹出界面选择下一步

    ③选择“选择特定数据库对象”和“勾选所有表”

    ④选择数据库文件导出的位置,然后点击“高级”按钮设置当前数据库需要导出到的低数据库的版本

    ⑤点击“高级”按钮后,在弹窗中设置当前数据库需要导出到的低数据库的版本

    ⑥设置完成后点击“确定”-->下一步-->下一步-->完成即可

     

    二、在低版本数据库还原导出的数据库内容

    ①在低版本的数据库上新建一个数据库

    ②在新建数据库的弹窗中输入当前需要还原的数据库名称,注意:这里输入的数据库名称必须与导出的数据库名称一致

    ③还原数据库:点击顶部的“文件”-->"打开"-->"文件"选择刚才从高版本数据库导出到低版本数据库的文件

    ④打开文件后,点击“执行”按钮等待操作完成即可

     

     

     

     

     

    展开全文
  • 达梦数据库还原失败,且还原失败后无法开启数据库实例服务

    达梦数据库还原失败,且还原失败后无法开启数据库实例服务

    我在练习达梦数据库备份还原操作时,出现了备份路径无法选择,只能默认选择/dm8/data/DAMENG/bak的路径下备份,并且无法将此备份用于还原。下面是图形化还原失败的图片。
    在这里插入图片描述
    当我不信邪使用命令行还原时,它仍然报错。
    在这里插入图片描述

    并且,当我还原失败后,想去重新开启数据库实例服务时,却无法开启,并且报错。
    在这里插入图片描述
    在这里插入图片描述 我在网上找了很多教程,仍然无法解决问题,然后我查看了/dm8内所有文件的所属组与用户时,发现我的一部分文件属于dmdba dinstall,一部分文件属于root root。
    于是,我抱着试一试的态度,进行数据库重装,并且用dmdba用户,进行数据库的安装等操作,并且进行了备份与还原操作,而这时,备份的路径也不用选择默认路径,并且能进行还原三部曲的操作和数据库实例服务的启动。
    总结:
    当发现自己数据库无法备份与还原时,可查看/dm8中文件所属的组与用户,观察所属组与用户是否一致,否则会因为权限与所属用户等问题,无法进行备份与还原。

    希望这篇帖子能帮到您!

    展开全文
  • 日程控件的数据库还原文件

    千次下载 热门讨论 2013-08-14 14:05:35
    日程控件的数据库还原文件,数据库备份,原来日程控件里面那个数据库还原文件用不了,现在重新上传一个
  • 数据库还原-bak文件

    万次阅读 热门讨论 2019-05-19 21:41:07
    数据库还原,我知道有俩种方式 一种方式是直接在数据库上操作,一种是在数据库里用代码还原 第一种方法 1、数据库上右击,选择还原文件和文件组 2、选择目标数据库,选择bak文件,确定即可还原数据库 一般情况下...
  • 数据库还原备份数据库还原备份数据库还原备份数据库还原备份数据库还原备份数据库还原备份
  • db2 10.5 数据库还原

    2019-06-26 10:45:04
    db2 10.5 数据库还原 操作系统:windows 2008 数据库版本:db2 10.5 问题描述: 在开发环境还原时,提示错误: SQL2529W 警告!复原到与备份映像数据库不同的现有数据库中,现有数据库的别名 “newDB” 与备份映像的...
  • 数据库备份的SQL语句:backup database 数据库名 to disk = '文件路径/文件名'数据库还原的 SQL语句:restore database 数据库名 from disk = '备份文件' with replace备份示例: _connectptr 执行Execute方法,实现...
  • sqlserver数据库还原教程 打开sql数据库 选择数据库,右击新建数据库 名字名字随便,最好叫和原来的一样,这样就不要改后台的数据库连接名称了 新建好的数据库右击,任务,还原,数据库 单选按钮选到原设备,选择...
  • db2数据库还原

    2016-11-26 01:52:11
    db2数据库还原命令   1.备份的数据库(olddb) 与要还原的数据(newdb)名不相同:  db2 restore db olddb into newdb;   www.2cto.com   2.当前目录下存在多个备份文件.需要指定时间  db2 restore db olddb taken...
  • Sql2012数据库还原

    2018-03-06 17:29:00
    Sql2012数据库还原(通过.bak数据库备份文件) 昨天系统挂了,那叫一个悲惨,重装了系统,但是sql2012的数据没有备份,同事帮忙发来备份文件(.bak),开始还原数据。 步骤:1 自己新建一个数据库,这个数据库就是最终...
  • 问题:数据库还原后一直提示正在还原 解决方法: 新建查询中执行: restore database 学校教务系统 with recovery 脚本,然后刷新数据库就可以空单到数据库节点学校教务系统里面的内容了。 restore ...
  • 结尾日志的问题 还原选择中去掉结尾日志就可以了 原文地址:http://www.tnblog.net/aojiancc2/article/details/188
  • mysql备份数据库还原数据库压缩解压一条命令搞定 备份并且压缩: mysqldump -hhostname -uusername -ppassword --databases dbname | gzip > backup-file.sql.gz 解压还原: gunzip < backup-file.sql.gz | ...
  • SQLServer 数据库还原的时候遇到的问题:数据库正在使用,还原失败。 解决方案是 将数据库设置成单用户使用再还原就可以了。 需要修改的数据库-》右键属性-》选项-》最后一项设置成 单用户连接
  • 数据库还原的有多种方式: 第一种方式: 1.新建数据库与要还原的数据库名同名,2还原数据库时 点击:选项>如下覆盖现有数据库(WITH replace (0))前打勾 第二种方式: 首先启动SQL Server2008软件...
  • 有的时候,我们进行数据库还原的时候,发现系统报错,但是bak文件确实是该库的备份文件。 这个时候可以用下面的语句执行,其中的XXXX是DATABASE的名称 执行的时候有点关键,选择的默认数据库是master,而不要选择...
  • A、B两套系统,分别连接a、b两个数据库,b数据库是直接从a数据库还原出来的,结果在B系统修改数据的时候a数据库的数据也发生更改。 还原数据库的时是在本地连接远程服务器的。
  • 系统数据库还原顺序: 1、还原master数据库 2、还原msdb数据库 3、还原model数据库   一、master数据库的还原 1、先停止SQL Server 数据库的服务。 2、用管理员身份打开命名行(cmd) 3、切换路径到sql ...
  • SQL Server 2008 R2 数据库还原

    千次阅读 2018-08-26 10:13:00
    通过SQL Server Management Studio进行数据库还原操作 工具/原料 SQL Server Management Studio 数据库备份包 方法/步骤  在服务器所有程序中打开SQL Server Management Studio并连接数据库实例。 ...
  • 高版本Sqlserver数据库还原到低版本数据库的实现方式  现在要将Sqlserver高版本(v2008R2)备份的数据还原到低版本SqlServer(v2008)上去,但是这在SqlServer中是没法直接将高版本数据还原到低版本数据库的,...
  • 直接将sqlserver2008数据库备份bak文件,在2005上执行保存,不能将高版本的数据库还原到底版本。 解决方法: http://yayihouse.com/yayishuwu/chapter/2545

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 23,679
精华内容 9,471
关键字:

数据库还原