sql数据库

Microsoft Sync Framework同步数据库 3:针对同步进行设置

瘦欲@ 提交于 2020-03-28 18:39:16
针对同步进行设置 在可以使用 Sync Framework 同步数据库之前,需要通过称为“设置(provisioning)”的流程配置它。所需的设置类型因数据库类型而异。本篇提供有关设置 SQL Server 和 SQL Server Compact 数据库的背景信息、操作步骤以及完整代码示例。 了解设置和取消设置(Provision and Deprovision) 为同步配置数据库的第一步是定义一个作用域,该作用域标识要同步的内容。在您定义同步作用域后,就可以使用该同步作用域来设置数据库,以便创建变更跟踪和元数据管理基础结构,该基础结构由元数据表、触发器和存储过程构成。在设置了某一数据库后,可以通过使用某一提供程序(例如 SqlSyncProvider)来表示该数据库和使用 SyncOrchestrator 对象管理同步会话并连接到其他同步提供程序以实现数据同步。为同步设置数据库是有别于与其他数据库同步的单独任务,这部分代码通常位于单独的应用程序中。 设置(Provision) 在设置(Provision)数据库时,通常会在数据库中创建以下某些或全部元素: 在同步作用域中包含的基表。 作用域中每个基表的一个跟踪表。该跟踪表跟踪对关联基表进行的变更。 在直接对基表进行更改时更新跟踪表的触发器。 用于同步操作的存储过程,例如枚举变更、插入变更、更新数据或删除数据

SQL*Loader

梦想与她 提交于 2020-03-28 15:21:47
SQL*Loader 1外部表简介 ⑴外部表并不实际存在,外部文件中的数据字段只是映射的外部表列,并不是实际装载到其中 ⑵涉及外部表,只能用select,不能用insert、update、delete ⑶外部表是只读表,不能进行索引 2.SQL*Loader生成外部表创建语句 external_table=not_used 默认值 external_table=generate_only不装载任何数据, 而是生成控制文件中描述的装载外部表所需的所有SQL语句, 并将这些SQL语句放入SQL*Loader日志文件 external_table=execute 执行这些SQL语句以创建外部表并进行装载 external_table=generate_only选项在SQL*Loader日志文件中输出一下信息: ①create directory语句 ②外部表的完整create table语句,并带有必要的access parameters ③装载Oracle表的insert语句 ④目录和外部表的delete语句 创建test_emp表 SCOTT@ora11g>select dbms_metadata.get_ddl('TABLE','EMP') from dual; DBMS_METADATA.GET_DDL('TABLE','EMP') -----------------------

微软商业智能BI解决方案

∥☆過路亽.° 提交于 2020-03-28 11:12:42
明智决策,创造价值   随着企业各种信息系统的建设和完善,企业所拥有的数据越来越多。决策者面对的问题已经不再是缺少信息,而是如何得到正确的信息以帮助制定决策。典型的公司拥有数十乃至上百个应用,但是却难于从中提取、综合、使用这些系统的数据,继而从数据中提取有用的信息,发掘并提升数据的价值。   商业智能 (Business Intelligence ,简称 BI) 提供了提取数据、处理加工、信息访问的技术手段。经过多年发展,其运用范围逐渐由支撑特定业务过程的战术性决策发展到在企业范围内系统化地创造价值。因此,越来越多的企业已将其视为战略性的企业应用。   商业智能通过将分散在企业各系统中的数据进行整合,使得繁琐的信息获取过程变得简便易行。而微软商业智能解决方案则进一步提升了企业创造价值的能力:任何用户都能够容易的运用这些技术进行决策,业务执行、业务管理、企业管理各个层次上的用户都能够使用不同的工具和技术做出明智的决策,全方位的提高企业的竞争力。   商业智能系统建设的范畴包括:    •BI 基础平台 : 包括数据抽取、转化加载工具 (ETL) 、数据仓库、在线分析 (OLAP) 引擎、数据挖掘 (Data Mining) 引擎    •BI 用户工具 : 提供用户对 BI 数据进行分析的手段    •BI 门户 : 提供用户对大量 BI 信息的统一访问入口    •BI 应用

SQL学习笔记

爷,独闯天下 提交于 2020-03-28 04:21:01
SQL Server管理 (1) SQL Server的两种验证方式:用户名验证和Windows验证,开发时用Windows验证就行了。 (2) 常用字段类型:bit(可选值0,1),datetime,int,varchar,nvarchar(可能含有中文用nvarchar)。 (3) varchar(),nvarchar().char(n)的区别: char(n)不足长度n的部分用空格填充 。Var: variable:可变的。 SQL语句入门 (1) SQL语句是和DBMS”交谈”专用的语句,不同DBMS都认SQL语法。 (2) SQL语句中字符串用 单引号 。 (3) SQL语句是 大小写不敏感的 ,不敏感指的是SQL关键字,字符串值还是大小写敏感。 (4) 创建表,删除表不仅可以手工完成,还可以执行SQL语句来完成,在自动化部署,数据导入中用的很多。 创建表: create table T_Person ( ID int not null, Name nvarchar(50), Age int null ) 删除表: drop table T_Person (5) 执行简单的Insert语句: insert into T_Person(ID,Name,Age) values (1,’Jim’,39) (6) *(熟悉):SQL主要分DDL(数据定义语言)和DML

Sql 学习笔记

醉酒当歌 提交于 2020-03-28 04:20:01
一、数据库的基本操作 1. 数据库的创建 If Exists(Select Name from SysDatabases Where Name='Gmis_2009') Drop DataBase Gmis_2009 Go Create Database Gmis_2009 On Primary ( Name=Gmis_2009_data, FileName='C:\program Files\Data\Gmis_2009.mdf', Size=10MB, Filegrowth=1MB ), Filegroup FileGroup_Gmis_2009_1 ( Name=Gmis_2009_data_1, FileName='C:\programFiles\Data\Gmis_2009_data_1.ndf', Size=2MB, MaxSize=10MB, FileGrowth=1MB ), ( Name=Gmis_2009_data_2, FileName='C:\program Files\Data\Gmis_2009_data_2.ndf', Size=2MB, MaxSize=10MB, FileGrowth=1MB ), FileGroup FileGroup_Gmis_2009_2 ( Name=Gmis_2009_data_3, FileName='C:

SQL学习笔记

不问归期 提交于 2020-03-28 04:18:08
创建视图和索引 ※视图常常被称为虚表。在视图被创建以后,你可以对视图采用如下命令:select,insert, update,delete。 ※索引是与磁盘上数据的存储方式不同的另外一种组织数据的方法。 ◎使用视图 ※视图并不占用数据库或表的物理空间。 ※创建视图的语法如下: CREATE VIEW <view_name> [(col1,col2...)] AS SELECT <col_names> FROM <table_names>; ※视图可以是多级的,也就是可以用视图来创建视图。但这会加大维护工作的复杂性。 1。列的重命名 注意: 当在视图中使用SQL的计算功能时,SQL会要求你给出一个虚字段的名字,这是可以理解,因为象 COUNT(*)或AVG(PAYMENT)是不能作为列名的。 2。SQL对视图的处理过程 ※运行SELECT语句-->查找表-->未找到-->查找视图。 3。在SELECT语句中的使用约束 在视图的SELECT语句中: ※不能使用UNION操作。 ※不能使用ORDER BY子句,但在视图中,使用GROUP BY子句可以有ORDER BY子句相同的功能。 4。在视图中修改数据 在视图创建以后,就可以用Insert,Update,Delete语句来更新,插入,删除视图中的数据。 5。在视图中修改数据的几个问题 ※对于多表视图,不能使用DELETE语句。

SQL学习笔记

独自空忆成欢 提交于 2020-03-28 04:16:35
SQL 学习笔记 创建数据库 /*- 创建文件夹 project-*/ : exec xp_cmdshell 'mkdir D:\project' --D:\project 为路径 /*- 创建数据库 -*/ : use master go -- 查找数据库: if exists(select * from sysdatabases where name = ' 数据库名 ') -- 删除数据库: drop database 数据库名 go -- 创建数据库: create database 数据库名 on primary -- 可选 ( name = ' 数据库名 _data', -- 逻辑名 filename = 'D:\project\ 数据库名 _data.mdf', -- 物理名 size = 大小 mb, -- 大小 maxsize = 大小 mb, -- 最大容量 filegrowth = 1 -- 增长率 _ 按 1mb 增长 , 当等于 0 时表示不增长 ) log on -- 可选 ( name = ' 数据库名 _log', -- 逻辑名 filename = 'D:\project\ 数据库名 _log.ldf', -- 物理名 size = 大小 mb, -- 大小 maxsize = 大小 mb, -- 最大容量 filegrowth = 1% --

360°全方位比较PostgreSQL和MySQL

假如想象 提交于 2020-03-27 23:30:46
360°全方位比较PostgreSQL和MySQL 一、原文 https://www.enterprisedb.com/blog/postgresql-vs-mysql-360-degree-comparison 二、摘要 本文对MySQL和PostgreSQL进行详细的比较,方便选择。 1、为什么使用PostgreSQL 2、为什么使用MySQL 3、易用性 4、语法 5、数据类型 6、复制与集群 7、视图 8、触发器 9、存储过程 10、查询 11、分区 12、表的可伸缩性 13、NoSQL能力 14、安全 15、分析函数 16、GUI工具 17、性能 18、Adoption 19、最佳环境 三、PG vs MySQL:选择哪个? PostgreSQL和MySQL都是最流行的开源数据库。MySQL被认为是世界上最流行的数据库,而PostgreSQL被认为是世界上最先进的数据库。MySQL并不完全符合SQL标准,并且很多PG上的特性并不支持。这就是为什么PG受到大量开发者喜欢的原因,并且现在PG越来越流行。 前几年,Oracle收购了MySQL,导致MySQL的出现两个版本:商业版和社区版。对于后者,由于Oracle控制了MySQL的开发,受到了广大使用者的批评。 PostgreSQL是世界上最受欢迎的数据库:他支持大量企业级特性和功能。PG由postgresql全球社区开发

TiDB 4.0 新特性前瞻(三)再也不用担心我的 SQL 突然变慢了

微笑、不失礼 提交于 2020-03-27 16:17:13
3 月,跳不动了?>>> 关系型数据库的 DBA 日常肯定遇到过这样的一种场景: SQL 执行计划选择错误,这类问题的危害是很大的,常常导致业务突然卡顿,数据库过载等不良后果。 举个例子,假设我们有这么一张表: 其中,姓名和性别这两列有索引。我们设想一下,在这张表上,我们进行下面一条查询: SELECT * FROM t WHERE 姓名='小明' and 性别='男' 正常情况下,SQL 优化器内部会通过采样等手段,得到姓名和性别这两个索引的数据区分度,在这个场景下,大多数时候,「姓名」都是一个更有区分度的索引,所以优化器会选择姓名进行查询就能过滤掉大量的行。 但是,我们设想一个比较极端的情况,突然这个表中写入了大量的“女性小明”: 也就是会出现这样一种情况:对这条语句来说,使用「姓名」这个索引区分度变得不高,因为有大量的同名小明,但是「性别」这个索引却非常合适(只有一个男性小明)。 如果这个时候 SQL 优化器仍然选择了姓名的索引, 在业务中就会出现一条本来跑得好好的 SQL 突然变成了慢查询。 由于 TiDB 作为一个关系型数据库,而且优化器也是基于代价的优化器,通常基于代价的优化器对于数据的采样很难做到瞬时,尤其是数据量特别大表来说,总是有可能出现数据的分布随着业务的变化发生突变,即时采样做到实时,不仅仅是索引的选择,也包括 JOIN 方式的选择,JOIN 的顺序等

SQL Server AlwaysOn搭建

此生再无相见时 提交于 2020-03-27 12:07:57
SQL Server Alwayson概念总结 原地址: https://www.cnblogs.com/chenmh/p/6972007.html 一、alwayson概念 “可用性组” 针对一组离散的用户数据库(称为“可用性数据库” ,它们共同实现故障转移)支持故障转移环境。 一个可用性组支持一组主数据库以及一至八组对应的辅助数据库(包括一个主副本和两个同步提交辅助副本)。 辅助数据库不是备份,应继续定期备份您的数据库及其事务日志。 每组可用性数据库都由一个“可用性副本” 承载。 有两种类型的可用性副本:一个“主副本” 和一到四个“辅助副本”。 它承载主数据库和一至八个“辅助副本” ,其中每个副本承载一组辅助数据库,并用作可用性组的潜在故障转移目标。 可用性组在 可用性副本级别 进行故障转移。 可用性副本仅在数据库级别提供冗余 - 针对一个可用性组中的该组数据库。 故障转移不是由诸如因数据文件丢失或事务日志损坏而使数据库成为可疑数据库等数据库问题导致的。 主副本使主数据库可用于客户端的读写连接。 此外,它在称为“数据同步” 的过程中使用,在数据库级别进行同步。 主副本将每个主数据库的事务日志记录发送到每个辅助数据库。 每个次要副本缓存事务日志记录(“硬化”日志),然后将它们应用到相应的辅助数据库。 主数据库与每个连接的辅助数据库独立进行数据同步。 因此