sql数据库

Skype for business混合部署系列之三后端SQL Server Always on配置

大兔子大兔子 提交于 2020-03-31 18:07:37
Skype for business混合部署系列之二后端SQL Server Always on配置 skype for business 后端数据库配置always on 支持的数据库版本 SQL Server 2014 Enterprise Edition 和 SQL Server 2012 Enterprise Edition 1.2台SQL Server 服务器配置双网卡,心跳线网卡配置如下 2.2台SQL Server数据库服务器上安装 Windows Server 故障转移群集。在每台服务器上,执行以下操作 打开“服务器管理器”,然后单击“ 添加角色和功能 ”。 单击“ 下一步 ”,直至达到“ 选择功能 ”框。在这里选中“ 故障转移群集 ”复选框。 在“ 添加故障转移群集所需的功能? ”框中,单击“ 添加功能 ”。 单击“ 安装 ”。 3.验证群集配置。 在“服务器管理器”中,单击“ 工具 ”菜单,然后单击“ 故障转移群集管理器 ”。 在屏幕右侧的“ 操作 ”中,单击“ 验证配置 ”。 在“ 在你开始前 ”页上,单击“ 下一步 ”。 选择要添加到群集的服务器,然后单击“ 运行所有测试 ”。 在“ 摘要 ”框中,检查向导报告的任何错误。然后单击“ 完成 ”完成验证。 3.创建群集。 在“ 故障转移群集管理 ”向导中,右键单击“ 故障转移群集管理 ”,然后单击“ 创建群集

MS SQL 监控磁盘空间告警

£可爱£侵袭症+ 提交于 2020-03-31 09:17:18
原文 http://www.cnblogs.com/kerrycode/archive/2013/05/07/3065960.html 这几天突然有个想法:希望能够自动监控、收集数据库服务器的磁盘容量信息,当达到一个阀值后,自动发送告警邮件给DBA,将数据库磁盘详细信息告知DBA, 提醒DBA做好存储规划计划, 初步的想法是通过作业调用存储过程来实现(每天调用一次),这样避免了我每天每台数据库服务器都上去检查一下,尤其是手头的数据库服务器N多的情况,这样可以避免我每天浪费无谓的时间。如果大家有更好的建议和方法,欢迎指点一二,我整理、修改了三个存储过程如下: 存储过程1:SP_DiskCapacityAlert1.prc 说 明:需要通过调用OLE 自动存储过程获取磁盘信息,而这些组件,基于服务器的安全配置,通常是禁用的,我们在存储过程通过sp_configure开启这个服务,调用服务完毕 后,又通过sp_configure禁用该服务。另外,数据库服务器都位于内网,因此安全问题应该不大。 USE master; GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF EXISTS (SELECT 1 FROM dbo.sysobjects WHERE id = OBJECT_ID(N'sp_diskcapacity_alert1'

ASP.NET 中数据库操作初步

北慕城南 提交于 2020-03-31 06:47:52
这篇文章暂不提如何显示数据库中的数据,只提出如何增加、删除、修改数据,关于如何显示数据,会在以后的文章中提出。 一、定义OleDbCommand类型变量:MyCommand   要对数据库进行增加、删除、修改的操作我们还需要根据MyConnectio的类型定义一个OleDbCommand或者SqlCommand对象(请注意如果MyConnection是OleDbConnection类型,那么只能用OleDbCommand;如果MyConnection是SqlConnection类型,那么那么只能用SqlCommand。这里假设MyConnection是OleDbConnection类)。 方法一   你可以象拖放MyConnection一样拖放一个OleDbCommand,并命名为 MyCommand。 方法二   在(关联文件).CS文件中protected System.Data.OleDb.OleDbConnection MyConnection;下面手动添加: protected System.Data.OleDb.OleDbCommand MyCommand; 在private void InitializeComponent()中this.MyConnection =newSystem.Data.OleDb.OleDbConnection();的下一行下面手动添加:

小议Access与MS SQL的差别

北慕城南 提交于 2020-03-31 00:37:54
这段时间没有什么项目做比较闲,但隔三岔五的老板又会安排我做点小事情,总是静不下心来认真学习。想了想,算了学习理论知识还不如尝试去点做没有以前接触过的东西,这样即学了知识又长了经验,一举两得。 前几个月我女朋友老是唠叨钱不知道用到哪里去了,我自己也这么认为。感觉没有怎么花钱,但钱又不知不觉没了,于是我想了个办法去整个记账软件把每天的开支及收入都一一记录下来,以后就有据可依啦!用那个记账软件用了段日子,说实话弄的挺好的,尤其是报表统计那块非常的棒,直到有天软件突然弹出提示“您的试用期限已到,请注册”。都怪自己没有看清楚,我还以为是共享版的呢,自己又不愿意花钱去注册(我想搞软件的人都不愿意吧,当然我绝对支持正版哈),就想自己琢磨着设计一套出来。正好现在可支配的时间比较充裕,虽然我之前没有做过Winform的程序,但是我觉得整套小的个人记账软件应该不是问题吧,更何况我有一个很好的帮手,我女朋友是做Winform软件的,嘿嘿。 说干就干,花了点时间来分析之前使用的那套软件,再加了点我们自己的需求,开始啦!为了便于维护我采用的是工厂模式来设计,该有的都有。数据库用的是Access,不用安装数据库服务端,方便。我想没有哪个会用MS SQL或其它需要安装服务段的数据库来做数据容器吧,要是你拿去卖的话估计一套都卖不了。在制作的过程中遇到了很多纳闷的问题,比如插入数据失败(非常简单的数据插入)

SQL Server优化器特性-位图过滤(Bitmap)

一曲冷凌霜 提交于 2020-03-30 06:57:02
一直以来,由于SQL Server中没有位图索引使得面对一些场景,从业人员在索引选择上受限,饱受诟病.其实熟悉SQL Server的朋友应该知道,SQL Server虽然没有位图索引,但在特定环境下还是会采用位图(Bitmap)过滤的,这次就为大家介绍下SQL Server的位图过滤. 概念:关于位图索引的概念我就不做过多介绍了,感兴趣的朋友可以看下wikipedia http://en.wikipedia.org/wiki/Bitmap_index 优势:在重复率高,数据很少被更新的场景中(如一年之内的年龄,汽车车型等)过滤高效. SQL Server的位图过滤采用的布隆过滤(bloom filter)方式,这里我简单说下布隆过滤的实现方式. 实现方式:通过构建一个长度X的位数组(bit array)(所有位为0),将要匹配的集合通过哈希函数映射到位数组中的相应点中(相应位为1),当判断一个值是否存在时找bit array中对应位是否为1就可以了.这个过程由SQL Server内部自己完成. 如图1-1所示,我将需要匹配的集合{神仙?,妖怪?,谢谢!}映射到bit array中,当有一条新记录{悟空..}我判断他是否在我的集合中,只需判断相应的位是否是1就可以了,图中可以看出{悟空..}并不是所有位都为1,所以悟空并不在我的集合中. 图1-1 具体到SQL

sql 常用语句脚本代码

雨燕双飞 提交于 2020-03-30 04:49:18
1 -- -----------------------一,数据库操作----------------------------- 2 -- ----------1,创建数据库------------------ 3 IF DB_ID( ' TestDB ') IS NOT NULL DROP DATABASE TestDB; 4 5 CREATE DATABASE TestDB ON 6 ( 7 NAME = ' TestDB ' , 8 FILENAME = ' d:\mcgrady\db\TestDB.mdf ' , 9 SIZE = 4 , 10 MAXSIZE = 10 , 11 FILEGROWTH = 1 12 ); 13 14 -- ----------2,备份数据库------------------ 15 BACKUP DATABASE TestDB TO DISK = ' d:\mcgrady\db\bak\TestDB.bak ' ; 16 17 -- ----------4,删除数据库------------------ 18 -- IF DB_ID('TestDB') IS NOT NULL DROP DATABASE TestDB; 19 20 -- ----------5,删除数据库日志文件------------------ 21 -- DBCC

SQL server 数据库中dbo的含义

筅森魡賤 提交于 2020-03-30 04:04:25
question SELECT * FROM [database].[dbo].[t_1] where xh not (SELECTxh FROM [database1].[dbo].[t_1]) df. dbo是:每个数据库的默认用户,具有所有者权限,全称: datebaseOwner ,即DbOwner 。 所有者:在数据库中,新建对象时,默认对象的 所有者 为当前登录的账号。如果通过用dbo作为所有者来定义对象,能够使数据库中的任何用户引用而不必提供所有者名称;否则可能查不到表,存储过程等。 ex. 你以User1登录进去并建表Table,而未指定dbo, 当用户User2登进去想访问Table时就得知道这个Table是你User1建立的,要写上User1.Table,如果他不知道是你建的,则访问会有问题。 如果你建表时把所有者指给了dbo,则别的用户进来时写上Dbo.Table就行了,不必知道User1。 不光表是如此,视图等数据库对象建立时也要如此才算是好。 所以在创建对象时,指定所有者为dbo,任何一个用户都可以引用。 建表、存储过程、视图等数据库对象时,其对应的所有者是创建它的用户。则除了该用户其他登录用户要引用这些东东时,都要加上前缀,很是麻烦。而且,程序因此易出错,你查来查去问题确出在这,浪费你时间。 来源: https://www.cnblogs.com

PL/SQL编程基础——PL/SQL简介

时光总嘲笑我的痴心妄想 提交于 2020-03-30 02:36:04
课程教师:李兴华 课程学习者:阳光罗诺 日期:2018-07-28 知识点: 1、 了解PL/SQL的主要特点 2、 掌握PL/SQL块的基本结构 PL/SQL PL/SQL是Oracle在关系数据库结构化查询语言SQL基础上扩展得到的一种过程化查询语言。 SQL与编程语言之间的不同之处在于,SQL没有变量,SQL没有流程控制(分支、循环)。而PL/SQL是结构化的和过程化的结合体,而且最为重要的是,在用户执行多条SQL语句时,每一条SQL语句都是逐一的发送给数据库,而PL/SQL可以一次性将多条SQL语句一起发送给数据库,减少网络流量问题。     SQL执行 PL/SQL执行 PL/SQL语法结构 语法: DECLARE - 声明部分,例如。定义变量、常量、游标。 BEGIN - 程序编写、SQL语句 EXECEPTION - 处理异常 END: / 说明: 声明部分(DECLARE) :包含变量定义、用户定义的PL/SQL类型、游标、引用的函数或者过程。 执行部分(BEGIN) :包含变量赋值、对象初始化、条件结构、迭代结构、嵌套的PL/SQL匿名块,或者是对局部或者时存储PL/SQL命名块的调用。 异常部分:(EXECEPTION) :包含错误处理语句,该语句可以像执行部分一样所有使用项。 结束部分(END) :程序执行到END表示结束,分号用于结束匿名块,而正斜杠(/

.NET执行SQL性能优化一: 针对SQL Server批量执行SQL 语句

百般思念 提交于 2020-03-29 23:25:06
本文介绍了几种如何使用一个SqlCommand执行多条SQL语句的技术。 介绍 使用ADO.NET对SQL Server进行数据存储经常被忽略的功能之一是它能够使用单个语句执行多个SQL语句SqlCommand。通常,程序分别执行语句和/或调用存储过程来执行更大的语句。当然,使用存储过程是一种首选方法,但是在某些情况下,一次调用执行多个语句是有益的。这可以使用批处理来完成,这基本上意味着一组SQL或T-SQL语句在一起。 设置 为了测试功能,让我们有一张数据库表。 创建测试表 CREATE TABLE MultiStatementTest ( id int not null identity(1,1), somevalue int not null ); 并用几行填充它。 添加几行 DECLARE @counter int = 1 BEGIN WHILE (@counter <= 5) BEGIN INSERT INTO MultiStatementTest (somevalue) VALUES (RAND() * 1000); SET @counter = @counter + 1; END; END; 现在数据看起来像: 查询初始数据 SELECT * FROM MultiStatementTest; id somevalue 1 854 2 73 3 732 4 546 5

《数据库优化》- MySQL优化

瘦欲@ 提交于 2020-03-29 18:31:23
前言   MySQL作为我们最常用的 关系型数据库 ,在开发中,肯定会遇到数据量比较大的情况,而没有足够的性能作为保障,往往查询会比较慢。下面,我们展开来聊聊MySQL怎么优化的。 一、MySQL性能   1、最大数据量   没有数据量和并发数的数据库性能都是没有灵魂的。   MySQL没有限制 单表最大记录数 ,它取决于操作系统对文件大小的限制。   《阿里巴巴Java开发手册》推荐:单表行数超过 500 万行或者单表容量超过 2GB,才推荐进行分库分表。   性能由综合因素决定,抛开业务复杂度,影响程度依次是: 硬件配置、MySQL配置、数据表设计、索引优化 。 500万这个值仅供参考,并非铁律。   有位大佬操作过超过4亿行数据的单表,分页查询最新的20条记录耗时0.6秒。   SQL大致是: select field_1,field_2 from table where id < #{prePageMinId} order by id desc limit 20 ;   prePageMinId是上一页数据记录的最小ID。   虽然当时查询速度还凑合,随着数据不断增长,有朝一日必定不堪重负。   分库分表是个周期长而风险高的大活儿,应该尽可能在当前结构上优化,比如升级硬件、迁移历史数据等等,实在没辙了再分。对分库分表感兴趣的同学可以阅读分库分表的基本思想。      2