代码人生的小狗窝

一行行枯燥的代码,却描绘出人生的点点滴滴

推荐文章

用户 'XXX\SERVERNAME$' 登录失败。 缘故: 找不到与提供的名称匹配的登录名。 [客户端: ]

    用户 'XXX\SERVERNAME$' 登录失败。 原因: 找不到与提供的名称匹配的登录名。 [客户端: ]一工厂的中控服务器遇到了下面Alert提示,'XXX\SERVERNAME$'  XXX表示对应的域名, SERVERNAME$(脱敏处理,SERVERNAME为具体的服务器名称+$),而且如下所示,客户端是本机,研究了一下,才搞清楚具体原因.       日期/时间:  2017/6/20 12:24:51   说明:   用户 'XXX\SERVERNAME$' 登录失败。 原因: 找不到与提供的名称匹配的登录名。 [客户端: <local machine>]       该服务器本身不需要Reporting Services,不知道Local的负责人安装S

    阅读全文>>

作者:coody分类:【_Sql Server浏览(2046

2019-09-27

利用DataSet一部分功能实现网站登录

    利用DataSet部分功能实现网站登录这是我的第一篇博文,有一丝小激动,不曾想有一天我也能写出一点经验为大家服务。如有表达不清请多见谅。   首先,我之前必须完成过注册,并把个人信息存入数据库中。 其次,这部分的个别对象是存于某些文档中的,需要引用命名空间。   using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;using ZG.Common;//后面用到ScriptHelper对象(ScriptHelper.cs是自己编写的cs文件)using System.Data;//后面用到dataset namespace WebApplication{ p

    阅读全文>>

作者:coody分类:【_Sql Server浏览(1577

2019-09-26

主键便是聚集索引吗

    主键就是聚集索引吗? 前言   最近在一次面试中,讨论了一个这样的问题:主键和索引有什么区别?当时我的回答是这样的:“主键就是加了唯一性约束的聚集索引。” “你确定你所说的是对的?” 面试官反问到。 “应该是对的。” 我不加思索地回答道。 “你回去后研究一下这个问题吧。”   难道我真的错了? 第一次尝试   当问题出现时,请用事实支持你的观点。   首先,必须了解一些基本知识:对于一张表来说,聚集索引只能有一个,因为数据真实的物理存储顺序就是按照聚集索引存储的。基于这个原理,现在可以用这样的方案来测试:对一张表设置一个主键, 之后再建立一个聚集索引,假如聚集索引能创建成功, 表明主键就不是聚集索引, 如果不可以建立聚集索引,就表明主键是聚集索引。 --建立一张TABLE 同时设置主键 CREATE TABLE student ( stud_id INT IDENTI

    阅读全文>>

作者:coody分类:【_Sql Server浏览(2146

2019-09-26

您真的了解事务吗

    你真的了解事务吗?事务用于处理数据的一致性,事务的定义是,处于同一个事务中的操作是一个工作单元,要么全部执行成功,要么全部执行失败。把事务的概念应用到在实际的SSIS Package场景中,如何在Package中实现事务,事务的行为是什么样的,你真的了解吗? SSIS默认支持Task组件级别的事务,在默认情况下,单个Task组件在开始执行时,会打开连接,开启一个事务,等到Task组件执行完成,提交事务,关闭连接,也就是说,默认情况下,单个Task组件在单个事务中执行查询,因此,在单个Execute SQL Task组件中执行大量的TSQL脚本,不是明智的选择,因为,这会导致日志文件的激增。如果Task组件执行失败,SSIS引擎自动进行回滚Task级别上的事务。如果在Task中使用begin tran命令开启一个显式事务,必须在组件中显式提交事务;当执行显式事务的组件失败时,组件会回滚显式事

    阅读全文>>

作者:coody分类:【_Sql Server浏览(868

2019-09-27

关于TRIM的优化技艺

    关于TRIM的优化技巧背景 今天在论坛中,看到有人在问一个千万级别表查询的优化。一个简单的查询几分钟。语句如下 SELECT  work_date ,        major ,        style ,        jo_key_seq ,        component ,        qty ,        bundle_id ,        jo_sku_key_seqFROM    dbo.rfid_transaction_tableWHERE  

    阅读全文>>

作者:coody分类:【_Sql Server浏览(1003

2019-09-28

目录碎片的检测和整理

    索引碎片的检测和整理存储数据是为了查找数据,存储结构影响数据查找的性能。对无序数据进行查找,最快的查找算法是哈希查找;对有序数据进行查找,最快的查找算法是平衡树查找。在传统的关系型数据库中,聚集索引和非聚集索引都是平衡树(B-Tree)类型的存储结构,用于顺序存储数据,便于实现数据的快速查找。除了提升数据查找的性能之外,索引还能减少硬盘IO和内存消耗。通常情况下,硬盘IO是查找性能的瓶颈,由于索引是数据表的列的子集,这意味着,索引只存储部分列的数据,占用的硬盘空间比全部列少了很多,因此,数据库引擎只需要消耗相对较少的硬盘IO和内存buffer,就能把索引数据加载到内存中。 索引以B-Tree结构存储在数据文件中,分为叶子节点和非叶子节点,叶子节点用于存储数据,而非叶子节点(中间节点和根节点)用于存储索引键,节点数据按照索引键排序。理论上,一旦数据集确定下来,索引查找的时间消耗就只跟索引结构

    阅读全文>>

作者:coody分类:【_Sql Server浏览(619

2019-09-26

不再纳闷,无值和NULL值

    不再迷惑,无值和NULL值在关系型数据库的世界中,无值和NULL值的区别是什么?一直被这个问题困扰着,甚至在写TSQL脚本时,战战兢兢,如履薄冰,害怕因为自己的一知半解,挖了坑,贻害后来人,于是,本着上下求索,不达通幽不罢休的决心(开个玩笑),遂有此文。 学习过关系型数据库的伙伴都知道,NULL是指不确定的值,在数据库中绝对是噩梦的存在;而空值,一般对字符串类型而言,指没有任何值的字符串类型,为字符类型的变量设置为空值:set @vs='',空值跟无值不同。有人可能会问,无值是什么?无值,是指数据表中没有任何数据。无值和不确定值,单从字面意思上来看,两者之间的定义很清楚,一旦深究,这两者之间的关系,有时令人十分迷惑(confused),这是因为,在特定条件下,无值会转换为NULL值。 一,举个栗子,理解无值和NULL值的区别 比如,创建一个临时表,在不插入任何数据时,该数据表是空的,没有任

    阅读全文>>

作者:coody分类:【_Sql Server浏览(596

2019-09-26

极简逻辑表达式的设计跟查询

    极简逻辑表达式的设计和查询在数据库开发中,对两个关系表进行连接查询,能够直接做“逻辑或”的查询,而对于逻辑与和逻辑非的查询,则稍复杂点,需要编写额外的代码来实现。在关系型数据库中,所谓的连接,实际上是集合的包含,只要包含一项,就满足连接条件,实现的逻辑或,这种设计,能够满足绝大多数的查询需求。有时,对于一条数据,可能需要通过多个逻辑表达式来定性,比如,判定一篇文章是否跟Microsoft Azure有关,通常简单的做法是从多个关键字的逻辑组合来定性:文章中同时含有关键字“Microsoft”和“Azure”,或者同时含有关键字“Windows”和“Azure”,把这种逻辑组合抽象成表达式,就是:( Microsoft & Azure ) | ( Windows &

    阅读全文>>

作者:coody分类:【_Sql Server浏览(2161

2019-09-28

字符串跟关系格式的转化

    字符串和关系格式的转化在数据库开发过程中,字符串和关系表的转化是一项基本技能。当字符串中存在分隔符时,有时将其转换成关系表数据,和其他数据表进行join查询,出现这种情况,是因为没有遵守关系数据库的设计范式,没有把字符串拆分成原子项存储,也有可能是数据传参数;有时会遇到相反的情况,需要将关系表的相关数据拼接成一个字符串显示,或传参。 把格式化的字符串转化成关系格式,基本思路分为两种: 利用TSQL的循环语句:每一次循环都插入到关系表变量或临时表中,这种思路是面向过程的编程; 使用XML查询:先把字符串转化成XML格式,再利用XML的nodes()函数,把XML数据转化成关系数据;这种思路是面向集合的编程,建议采用XML查询实现; 把关系格式转化成字符串,基本思路分为两种: 利用TSQL的游标,对字符串执行累加连接,这种思路是面向过程的编程; 利用XML查询的for xml path子

    阅读全文>>

作者:coody分类:【_Sql Server浏览(498

2019-09-28

带有事务和异常处理的存储过程

    带有事务和错误处理的存储过程以前在开发中需要用到带错误处理的存储过程,在网上找到了解决方案,现在整理在这,以备日后所需,时间长了原文已经找不到了,感谢为我提供帮助的兄弟。 1.创建错误日志表 CREATE TABLE [dbo].[t_ErrorLog]( [ErrorLogID] [int] IDENTITY(1,1) NOT NULL, [ErrorTime] [datetime] NOT NULL, [UserName] [sysname] NOT NULL, [ErrorNumber] [int] NOT NULL, [ErrorSeverity] [int] NULL, [ErrorState] [int] NULL, [ErrorProcedure] [nvarchar](126) NULL, [ErrorLine

    阅读全文>>

作者:coody分类:【_Sql Server浏览(2019

2019-09-26

大数据操作:剔除和去重

    大数据操作:删除和去重一些看似简单的数据操作,当作用于海量数据集时,就会出现“意料之外,却在情理之中”的问题,海量数据操作,需要采用特殊方法,才能“曲径通幽”。在删除海量数据时,需要注意日志的增长,索引碎片的增加和数据库的恢复模式,特别是利用大容量日志操作,来减少日志的增长和提高数据插入的速度。对于大数据去重,通过一些小小的改进,比如创建索引,设置忽略重复值选项等,能够提高去重的效率。 一,从海量数据中删除数据 从海量数据表中删除一半数据,看似简单,使用delete命令,如果真这么干,SQL Server产生的事务日志暴增,估计会把服务器硬盘爆掉。数据库的恢复模式会影响日志文件的增长,在删除海量数据时,根据采用的方法,相应地把恢复模式设置为simple,或bulk_logged 模式,能够在很大程度上减少删除操作产生的事务日志,从而避免日志暴

    阅读全文>>

作者:coody分类:【_Sql Server浏览(1813

2019-09-26

Security5:赋予权限

    Security5:授予权限SQL Server授予用户访问对象的权限,通常的模式是:Grants permissions on a securable to a principal(user or login),也就是说,授予权限的命令分为三部分:Permission,Securable 和 Principal,用一句话来解释这三个概念:授予 Principal 操作 Securable 的 Permission。Principal是被授予权限的主体,是被授与者(Grantee),是Login,User或Role。Securable是table,view,SP等对象,是Principal操作的对象;有时Principal也会作为Securable,被Principal操纵。在授予权限的子句中,没有主语,这是因为,只能授予已有的权限,而最原始的主体是在创建SQL Server实例时指定的,

    阅读全文>>

作者:coody分类:【_Sql Server浏览(2050

2019-09-26

开发库测试库间触发器同步 查寻某时间点后的触发器 生成其删除 创建 禁用的脚本

    开发库测试库间触发器同步 查找某时间点后的触发器 生成其删除 创建 禁用的脚本示例效果: 为便于数据库间的脚本移植, (如在开发库和测试库间进行脚本同步) 获取某时间点后,数据库增修的Triggers, 生成这些Triggers的创建脚本;   相关步骤: 1.通过SMSS 连接数据库,打开一个SQL窗口;   2.右键该窗口  Results to -》Results to text   右键该窗口 Query Options -》Results - Text -》 取消勾选 Include column headers in the result set   3. 执行如下sql,得到其文本结果信息   declare @trigname nvarchar(100)=N''; --查找某时间点后的增修的Trigg

    阅读全文>>

作者:coody分类:【_Sql Server浏览(997

2019-09-26
上一页 1/1484页 下一页