通常这些信息被保存在指定数据表的结构中, 

2019-09-16 作者:数据库   |   浏览(168)

简介

  在数据库中,我们除了存储数据外,还存储了大量的元数据。它们主要的作用就是描述数据库怎么建立、配置、以及各种对象的属性等。本篇简单介绍如何使用和查询元数据,如何更有效的管理SQLServer 数据库。

  对一些有经验的数据库开发和管理人员而言,元数据是非常有价值的。下面我会介绍一下简单的原理,然后尽量用代码的方式直接说明,毕竟“talk is cheap show me the code ”。

1.大小写转换快捷键

Ctrl Shift U 转为大写 

Ctrl Shift L 转为小写

 

一.  复制Replication(快照、事务、合并)   

      应用场景:
    负载均衡、提供副本读,写操作。
    分区将历史数据复制到其它表中。
    授权,将数据提供它人使用。
    数据合并。
    故障转移。
  优点:
    实现简单。
    数据同时同步,几乎达到镜像。
    可以实现对某些表,或表数据过滤进行复制。
  缺点:
    不适合做高可用,因为整个库复制影响性能。
    不支持故障自动切换。
  要求:
    必须有主键的表才能做复制。

SQL Server 获取数据的总记录数,有两种方式:

什么是动态在线目录?

  每一个关系型数据库系统,比如SQL Server 一定要提供关于它的结构的信息,这些信息往往需要通过sql语法来查询。通常这些信息被保存在指定数据表的结构中。这意味着数据库中有两种不同的表:一是用户自定义的表和系统表或者视图(包含元数据)。从SQL Server 2005开始,只有视图可以查询了,不能直接看到数据表了。

 图片 1

系统视图

这种系统表或者视图的结合通常参考关系型数据库理论的文献叫做作为系统目录或者数据字典。

在数据库内部,有一些系统表一直追踪数据库中发生的每一件事情。系统表存储像表、活动、列、索引等事情。这些完全符合Edgar Codd 的关系型数据库试试的十三条准则直译。这个准则就是定义动态在线目录,它就是“关于数据的数据”,也叫作元数据。

 Edgar Codd  准则4, 描述如下:

‘The database description is represented at the logical level in the same way as ordinary data, so that authorized users can apply the same relational language to its interrogation as they apply to the regular data.’

翻译:像普通数据一样,在逻辑层的数据表达了对数据库的描述,以便于授权用户能应用相同的SQL语言来查询元数据,就如同查询常规数据一样。

在SQL Server中,可以通过系统视图或者架构视图直接访问动态在线目录,方便用户更为快捷的开发和管理数据库。

二. 日志传送log shipping(备份-->复制-->恢复)   

       应用场景:
    多台主从服务器定时备份同步。
    负载均衡、提供副本只读。
  优点:
    实现简单。
  要求:
    必须是完整备份模式。
    主服务器、辅助服务器、监视服务器的备份文件夹必须有读写权限。
    sql agent代理必须启动。

1.先分页获取数据,然后再查询一遍数据库获取到总数量

如何获得以上信息?

因为我们不能直接访问,需要使用视图和函数来看这些信息。只能看到你权限内的数据。有更好的方法在用户数据库中使用数据定义语言(DDL),这些DDL语句包括CREATE, DROP, ALTER, GRANT, DENY, REVOKE 和sp_rename statements 等。总有一种方法可以使用DDL来修改视图中的任何信息,即使并不总是显而易见的。

关系型数据库使用动态的系统视图中的数据描述数据库,但是目前还有没有标准化。但是有一个包含在每个数据库内的架构可以读取这些信息:就是Information Schema

不走运的是,这个架构不足以提供足够信息,这意味着我们需要使用SQL Server 系统数据库的视图和函数来补充信息。接下来需要解释一些术语和技术,我会尽可能少的细节足以让大家轻松地理解这些示例

如图所示,如何访问元数据,及其接口

 图片 2

 

* *

三.  镜像

       应用场景:

              要求高服务可用性。

              要求实现自动故障转移。 

              确保数据的完整。

         优点:

              根据业务可实现同步和异步镜像。

              快速的故障转移恢复。低硬件成本。

         要求:

              主体服务器。

              镜像服务器。

              见证服务器。

2.使用count(1) over()获取总记录数量

系统视图

四. 故障转移群集

  应用场景:
    硬件故障转移。
    服务故障转移。
    人工故障或各种其它原因等。
  优点:
    根据业务进行灵活的群集拓扑结构
    快速且自动故障转移
  缺点:
    群集非活跃节点浪费硬件资源
    群集节点间共用的共享存储,仍然存在潜在的单点故障隐患。
    没有负载能力,不是提升性能的技术。

        要求

              基于windows故障转移

 

SELECT
    *
FROM
    (
    SELECT
        ROW_NUMBER() OVER(ORDER BY Id DESC) rn,    
        COUNT(1) OVER() AS TotalCount,
        Id
    FROM
        dbo.T_User
    )a
WHERE
    a.rn BETWEEN 1 AND 5

本文由小鱼儿玄机30码发布于数据库,转载请注明出处:通常这些信息被保存在指定数据表的结构中, 

关键词: 小鱼儿玄机30码