xml地图|网站地图|网站标签 [设为首页] [加入收藏]
函数用法简介,数据库的恢复
分类:数据库

数据库恢复是和数据库备份相对应的操作,它是将数据库备份重新加载到系统中的过程。数据库恢复可以创建备份完成时数据库中存在的相关文件,但是备份以后的所有数据库修改都将丢失。

开发新的系统,DB部分使用了SQL Server从2016版开始自带的Json解析方式。

摘自: 
摘要:

   SQL Server进行数据库恢复时,系统将自动进行安全性检查,以防止误操作而使用了不完整的信息或其他的数据备份覆盖现有的数据库。当出现以下几种情况时,系统将不能恢复数据库。

用了快半年,在个人项目,以及公司部分项目上使用了,暂时还没遇到大的问题,和性能问题。

下文主要讲述ceiling、floor函数的功能及举例说明

  (1)还原操作中的数据库名称与备份集中记录的数据库名称不匹配。

今天在解析Json的多级参数遇到了点小问题,在此记录一下:


  (2)需要通过还原操作自动创建一个或多个文件,但已有同名的文件存在。

传参内容如下:

 

  (3)还原操作中命名的数据库已在服务器上,但是与数据库备份中包含的数据库不是同一个数据库,例如数据库名称虽相同,但是数据库的创建方式不同。

1 declare @json varchar(max)=N'{"Customer":36,"Positions":[{"ID":0,"Quantity":180000,"Files":[180,177,175,172,170,169,167,164,161,162,159,158,153,152]}]}';

 一、ceiling floor函数功能简介
 ceiling函数的功能:返回大于或等于"当前输入参数"的最小整数。
floor函数功能: 返回小于或等于"当前输入参数"的最大整数。

   如果重新创建一个数据库,可以禁止这些安全检查。

想解析出Positions里面的Files,但是一直报错,或者NULL。

二、ceiling floor函数举例说明

select ceiling(1.9) ---返回2
select ceiling(-2.1) --返回-2
select ceiling(-2.6) --返回-2
select ceiling(1.2) --返回2
----------------------------
select floor(1.9) ---返回 1
select floor(-2.1) --返回-3
select floor(-2.6) --返回-3
select floor(1.2) --返回1

 

一。数据库恢复模型

查询文档,发现这种解析需要制定的字段类型,并准成json才行。

根据保存数据的需要和对存储介质使用的考虑,SQL Server提供了3种数据库恢复模型:简单恢复、完全恢复、大容量日志记录恢复。

解析的SQL Script如下:

1.简单恢复模型

1 select    ID, Quantity, FileID=f.value
2 from    openjson (@json, '$.Positions')
3 with (
4     ID int, 
5     Quantity int,
6     Files nvarchar(max) '$.Files' as json
7 ) x
8 cross    apply openjson(x.Files, '$') f

  简单恢复模型可以将数据库恢复到上次备份处,但是无法将数据库还原到故障点或待定的即时点。它常用于恢复最新的完整数据库备份、差异备份。

*注:其中第6行的写法是固定的:字段类型及后面的。

 简单恢复模型的有点是允许高性能大容量复制操作,以及可以回收日志空间。但是必须重组最新的数据库或者差异备份后的更改。

 

2.完全恢复模型

  完全恢复模型使用数据库备份和事务日志备份提供将数据库恢复到故障点或特定即时点的能力。为保证这种恢复程度,包括大容量操作(如SELECT INTO、CREATE INDEX和大容量装载数据)在内的所有操作都将完整地记入日志。

完全恢复模型的优点是可以恢复到任意即时点,这样数据文件的丢失和损坏不会导致工作损失,但是如果事务日志损坏,则必须重新做最新的日志备份后进行修改。

3.大容量日志记录恢复模型

  大容量日志记录恢复模型为某些大规模或大容量复制操作提供最佳性能和最少日志使用空间。在这种模型中,大容量复制操作的数据丢失程度要比完全恢复模型严重,因为在这种模型下,只记录操作的最小日志,无法逐个控制这些操作。它只允许数据库恢复到事务日志备份的结尾处,不支持即时点恢复。

  大容量日志记录恢复模型的优点是可以节省日志空间,但是如果日志损坏或者日志备份后发生了大容量操作,则必须重做自上次备份后所做的更改。

 不同的hi付模型针对不同的性能、磁盘和磁带空间以及保护数据丢失的需要。恢复模型决定总体备份策略,包括可以使用的备份类型,即选择一种恢复模型,可以确定如何备份数据以及能承受何种程度的数据丢失,由此确定了数据的恢复过程。

二。查看备份信息

由于恢复数据库与备份数据库之间往往存在较长的时间差,难以记住备份设备和备份文件及其所备份的数据库,需要对这些信息进行查看。

  需要查看的信息通常包括:备份集内的数据和日志文件、备份首部信息、介质首部信息。可以使用SQL Server管理平台和Transact-SQL语句查看这些信息。

 1.使用SQL Server管理平台查看备份信息

  使用SQL Server查看所有备份介质属性的操作步骤如下:

  (1) 打开SQL Server管理平台,在对象资源管理器中,展开结点”服务器树“→”服务器对象“→”备份设备“,右击某个具体备份设备名称,在弹出的快捷菜单上选择”属性“命令,打开”备份设备“属性窗口。

(2)在”备份设备“属性窗口选择”媒体内容“选择卡,打开的窗口,在列表框中列出所选备份媒体的有关信息。

2.使用Transact-SQL语句查看备份信息

 RESTORE HEADERONLY语句的格式为:

RESTORE HEADERONLY

FROM <backpi_device>

[WITH {NOUNLOAD|UNLOAD}

[[,]FILE =file_number]

[[,]PASSWORD={password|@password_var}]

[[,]MEDIAPASSWORD={mediapassword|@mediapassword_var}]

<backup_device>::={

{'logical_backup_device_name'|@logical_backup_device_name_var}

|{DISK|TAPE}={'physical_backup_device_name'|@physical_backup_name_var}

}]

本文由澳门新葡亰手机版发布于数据库,转载请注明出处:函数用法简介,数据库的恢复

上一篇:没有了 下一篇:没有了
猜你喜欢
热门排行
精彩图文