Welcome 微信登录

首页 / 数据库 / SQLServer

SQL点滴24 监测表的变化

SQL点滴24 监测表的变化

有时候,我们在某一重要的时间段需要监控某张表的变化情况,包含插入、更新、删除。举例来说,当我们把数据导出到外部的系统时,我们希望导出的是全部的数据,而且最好是导出上次导出之后变动的数据。 作为DBA,我们可采传统的触发器操作,来构建一个元数据表或一个时间戳列来监控数据的变化。 代码如下:Code Listing 1 该代码在 SQL 2005(SP3), SQL 2008 R2 (RTM with cu5)测试通过 复制代码 代码如下: ---------...
记一次成功的sql注入入侵检测附带sql性能优化

记一次成功的sql注入入侵检测附带sql性能优化

但是如果是让你接手一个二等残废的网站,并让你在上面改版,而且不能推翻式改版,只能逐步替换旧的程序,那么你会非常痛苦,例如我遇到的问题: 问题1. 老板对你说,以前刚做完网站好好了,没有出现木马,怎么你来了,就会出现木马,先别说了,赶紧解决问题,我彻底无语,但是如果争吵,其实证明你和老板一样无知,拿出证据和事实分析来让公司其他稍微懂技术的一起来证明,公司网站被挂马不是你来了的错。 如是我通过网站目录仔细排查将通过fck上传的网马删除并修补fck的上传漏洞并记...
sqlserver中在指定数据库的所有表的所有列中搜索给定的值

sqlserver中在指定数据库的所有表的所有列中搜索给定的值

比如:我们导入了某个客户的资料,我们知道此客户的姓名是ZhangShan,我们想知道,在我们的业务数据库(eg:NorthWind)中,有哪些数据表的哪些字段设置了此姓名值ZhangShan,通过下面的SQL,我们就可以实现此目的,此处的SQL搜索自网上,在此处做了局部修改。 一、搜索数据是String类型 适用于搜索Text,NText,Varchar,Nvarchar,Char,NChar等类型 1、创建存储过程:My_Search_StringInG...
mssql server 数据库附加不上解决办法分享

mssql server 数据库附加不上解决办法分享

错误15105,从网上找了一些解决方案,一般都是说文件的权限不足的问题,当然附加的时候必须是有数据库附加权限才可以操作的。解决办法1:给相应的MDF文件给Full Control的权限,如果不知道是什么用户可以去Sql Server的配置中心去找但是我遇到这个用上述方法就不可以。解决方法2:换个用户试试,我原数据库是用sa登陆的,我试着用sa登陆一下,附加成功了!~如果反复的用sa登陆却登陆失败,可能是没有开权限。权限可以在登陆用户的选项中设置,允许登陆即...
SQL Server Bulk Insert 只需要部分字段时的方法

SQL Server Bulk Insert 只需要部分字段时的方法

根据一般做法的话,导出部分字段时没有办法生成格式化XML文件,所以导入时就没有办法格式化导入数据。 我想到两点,1.手工修改格式化XML文件,2.创造一个能生成格式化XML文件的中间对象。 在MSDN中寻找方法时,突然想到可以使用视图来做中间对象,于是就搭一个测试下。以下是测试记录: 复制代码 代码如下: USE master GO CREATE DATABASE [db_test] GO USE db_test GO CREATE TABLE dbo.T...
SQL语句练习实例之一——找出最近的两次晋升日期与工资额

SQL语句练习实例之一——找出最近的两次晋升日期与工资额

复制代码 代码如下: --程序员们在编写一个雇员报表,他们需要得到每个雇员当前及历史工资状态的信息, --以便生成报表。报表需要显示每个人的晋升日期和工资数目。 --如果将每条工资信息都放在结果集的一行中,并让宿主程序去格式化它。 --应用程序的程序员都是一帮懒人,他们需要在每个雇员的一行上得到当前 --和历史工资信息。这样就可以写一个非常简单的循环语句。 ---示例: create table salaries ( name nvarchar(50) n...
sqlserver 文件数据库和关系数据库的比较

sqlserver 文件数据库和关系数据库的比较

摘要:随着应用领域的不断拓展和多媒体技术, 人们发现关系数据库的许多限制和不足,因而数据库技术进入了“后关系数据库时代”。文件数据库由此应运而生。本文概要地从数据格式、数据库结构和WEB发布数据三个方面比较了文件数据库和关系数据库的异同,同时差别了文件数据库和过去存储数据的文件系统的不同。 关键词:数据库 Internet 文件数据库 WEB数据库服务器 一、关系数据库的优势和目前面临的问题 从60年代末开始, 数据库技术经历了层次数据库、网状数据库和关系...
sqlserver 数据库连接字符串中的可选项收集

sqlserver 数据库连接字符串中的可选项收集

Application Name(应用程序名称):应用程序的名称。如果没有被指定的话,它的值为.NET SqlClient Data Provider(数据提供程序)。 AttachDBFilename/extended properties(扩展属性)/Initial File Name(初始文件名):可连接数据库的主要文件的名称,包括完整路径名称。数据库名称必须用关键字数据库指定。 Connect Timeout(连接超时)/Connection Ti...
小议sqlserver数据库主键选取策略

小议sqlserver数据库主键选取策略

因为主键可以唯一标识某一行记录,所以可以确保执行数据更新、删除的时候不会出现张冠李戴的错误。当然,其它字段可以辅助我们在执行这些操作时消除共享冲突,不过就不在这里讨论了。主键除了上述作用外,常常与外键构成参照完整性约束,防止出现数据不一致。所以数据库在设计时,主键起到了很重要的作用。 常见的数据库主键选取方式有: 自动增长字段 手动增长字段 UniqueIdentifier “COMB(Combine)”类型 一、自动增长型字段 很多数据库设计者喜欢使用自...
sqlserver自动增长列引起的问题解决方法

sqlserver自动增长列引起的问题解决方法

有两个结构完全相同的表,由其中一个表插入另一个表中指定条件的数据,报如下错误: 仅当使用了列列表并且 IDENTITY_INSERT 为 ON 时,才能为表"*"中的标识列指定显式值。 在网上找到了解决方案,亲自试过,可以解决。 方法: 复制代码 代码如下: SET IDENTITY_INSERT test ON insert into test(id,name) select id,name from test2 --<SPAN style="FO...
通过分析SQL语句的执行计划优化SQL

通过分析SQL语句的执行计划优化SQL

如何干预执行计划 - - 使用hints提示 基于代价的优化器是很聪明的,在绝大多数情况下它会选择正确的优化器,减轻了DBA的负担。但有时它也聪明反被聪明误,选择了很差的执行计划,使某个语句的执行变得奇慢无比。此时就需要DBA进行人为的干预,告诉优化器使用我们指定的存取路径或连接类型生成执行计划,从而使语句高效的运行。例如,如果我们认为对于一个特定的语句,执行全表扫描要比执行索引扫描更有效,则我们就可以指示优化器使用全表扫描。在Oracle中,是通过为语句...
<< 261 262 263 264 265 266 267 268 269 270 >>