-
MSSQL监控数据库的DDL操作(创建,修改,删除存储过程,创建,修
所属栏目:[MsSql教程] 日期:2020-12-12 热度:108
前言: 有时候,一个数据库有多个帐号,包括数据库管理员,开发人员,运维支撑人员等,可能有很多帐号都有比较大的权限,例如DDL操作权限(创建,修改,删除存储过程,创建,修改,删除表等),账户多了,管理起来就会相当麻烦,容易产生混乱,如果数据库管理[详细]
-
MSSQL 监控数据/日志文件增长实现方法
所属栏目:[MsSql教程] 日期:2020-12-12 热度:129
前几天,在所有数据库服务器部署了监控磁盘空间的存储过程和作业后(MS SQL 监控磁盘空间告警),今天突然收到了两封告警邮件,好吧,存储规划是一方面,但是,是不是要分析一下是什么原因造成磁盘空间不足的呢?会不会是因为突然暴增的日志文件,抑或是系统[详细]
-
如何控制SQLServer中的跟踪标记
所属栏目:[MsSql教程] 日期:2020-12-12 热度:115
跟踪标记是什么? 对于DBA来说,掌握Trace Flag是一个成为SQL Server高手的必要条件之一,在大多数情况下,Trace Flag只是一个剑走偏锋的奇招,不必要,但在很多情况下,会使用这些标记可以让你更好的控制SQL Server的行为。 下面是官方对于Trace Flag的标记[详细]
-
SQL Server存储过程入门学习
所属栏目:[MsSql教程] 日期:2020-12-12 热度:76
存储过程的定义, 存储过程(Stored Procedure),是一组为了完成特定功能的SQL 语句,集经编译后存储在数据库中,用户通过指定存储过程的名字并给出参数,如果该存储过程带有参数来执行。 在SQL Server 的系列版本中,存储过程分为两类:系统提供的存储过程和用[详细]
-
清除SQL SERVER错误日志出现操作系统错误的解决方法
所属栏目:[MsSql教程] 日期:2020-12-12 热度:200
之前在UAT环境搭建的SQL SERVER 2008 R2数据库一直用得比较正常,但最近发现在Sharepoint中不能进行任何操作了,开始以为是什么配置出了问题(因为一直在研究一些新的应用和集成,需要不断地测试),但后来发现是数据库硬盘没用一点空间了,那么自然是不能存[详细]
-
DDL、DML和DCL的区别与理解
所属栏目:[MsSql教程] 日期:2020-12-12 热度:104
DML、DDL、DCL区别 . 总体解释: DML(data manipulation language): 它们是SELECT、UPDATE、INSERT、DELETE,就象它的名字一样,这4条命令是用来对数据库里的数据进行操作的语言 DDL(data definition language): DDL比DML要多,主要的命令有CREATE、AL[详细]
-
执行一条sql语句update多条记录实现思路
所属栏目:[MsSql教程] 日期:2020-12-12 热度:84
通常情况下,我们会使用以下SQL语句来更新字段值: div class="codetitle" a style="CURSOR: pointer" data="90974" class="copybut" id="copybut90974" onclick="doCopy('code90974')" 代码如下:div class="codebody" id="code90974" UPDATE mytable SET my[详细]
-
SQL Server优化50法汇总
所属栏目:[MsSql教程] 日期:2020-12-12 热度:59
1.没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷) 2.I/O吞吐量小,形成了瓶颈效应。 3.没有创建计算列导致查询不优化。 4.内存不足 5.网络速度慢 6.查询出的数据量过大(可以采用多次查询,其他的方法降低数据量) 7.锁或者死锁(这也是[详细]
-
Replace关键字的妙用查询是否包含某个特定字符串
所属栏目:[MsSql教程] 日期:2020-12-12 热度:71
在sql server中Replace关键字主要是用来将字符串中的某个字符替换成别的字符,今天要逆向思维,它还可以用来查询是否包含某个特定字符串,例如给定下面数据集 IMG src="https:https://files.jb51.cc/file_images/article/201308/2013815152148766.jpg?201371[详细]
-
深入解析MS-SQL锁机制
所属栏目:[MsSql教程] 日期:2020-12-12 热度:76
多个用户同时对数据库的并发操作时会带来以下数据不一致的问题: 丢失更新 A,B两个用户读同一数据并进行修改,其中一个用户的修改结果破坏了另一个修改的结果,比如订票系统 脏读 A用户修改了数据,随后B用户又读出该数据,但A用户因为某些原因取消了对数据的修改[详细]
-
浅析Sql server锁,独占锁,共享锁,更新锁,乐观锁,悲观锁
所属栏目:[MsSql教程] 日期:2020-12-12 热度:142
锁有两种分类方法。 锁分为以下三种类型: 独占锁(Exclusive Lock) 独占锁锁定的资源只允许进行锁定操作的程序使用,其它任何对它的操作均不会被接受。执行数据更新命令,即INSERT、 UPDATE 或DELETE 命令时,SQL Server 会自动使用独占锁。但当对象上有其[详细]
-
浅析SQL存储过程和事务处理
所属栏目:[MsSql教程] 日期:2020-12-12 热度:196
在数据库编程中,事务是经常需要用到的技术,在.net平台上,事务处理是非常好用的,但是在Sql Server数据库的存储过程中如何使用事务来完成数据的批量操作呢? 代码如下:CREATE PROC RegisterUser (@usrName varchar(30),@usrPasswd varchar(30),@age int,@PhoneN[详细]
-
SQL Server常用存储过程及示例
所属栏目:[MsSql教程] 日期:2020-12-12 热度:151
分页: 代码如下:/*分页查找数据*/ CREATE PROCEDURE [dbo].[GetRecordSet] @strSql varchar(8000),--查询sql,如select * from [user] @PageIndex int,--查询当页号 @PageSize int--每页显示记录 AS set nocount on declare @p1 int declare @currentPage in[详细]
-
完美解决SQL server2005中插入汉字变成问号的问题
所属栏目:[MsSql教程] 日期:2020-12-12 热度:177
FONT style="BACKGROUND-COLOR: #ffff99"关于SQL server2005中插入汉字变成问号的解决办法 1.右击你所建的数据库,点击“属性”,选择“选项”并点击。将其中的排序规则设置为:Chinese_PRC_CI_AS(选择下拉列表框即可设置),然后“确定“。2.在表中将你的汉[详细]
-
如何恢复数据库的账号 登录名/用户名等
所属栏目:[MsSql教程] 日期:2020-12-12 热度:117
当我们重装系统,或者是重装数据库之后,当附加数据库之后,发现数据库里面 有用户名,但是在sqlserver里面没有 登陆名 例如 先看 用户名 是有他上次系统的用户名的 现在我们先去添加这个登录名 点击取消 进入 查询分析器,选择你要修复的数据库 sp_change_u[详细]
-
SQL 查询和删除重复字段数据的方法
所属栏目:[MsSql教程] 日期:2020-12-12 热度:127
例如: id name value 1 a pp 2 a pp 3 b iii 4 b pp 5 b pp 6 c pp 7 c pp 8 c iii id是主键 要求得到这样的结果 id name value 1 a pp 3 b iii 4 b pp 6 c pp 8 c iii 方法1 代码如下:delete YourTable where [id] not in ( select max([id]) from YourTab[详细]
-
分享Sql日期时间格式转换
所属栏目:[MsSql教程] 日期:2020-12-12 热度:200
Sql server2000中使用convert来取得datetime数据类型样式(全) 日期数据格式的处理,两个示例: CONVERT(varchar(16),时间一,20) 结果:2007-02-01 08:02/*时间一般为getdate()函数或数据表里的字段*/ CONVERT(varchar(10),23) 结果:2007-02-01 /*varchar([详细]
-
SQLSERVER 根据地图经纬度计算距离差示例
所属栏目:[MsSql教程] 日期:2020-12-12 热度:102
SQL SERVER 根据地图经纬度计算距离的公式 div class="codetitle" a style="CURSOR: pointer" data="85717" class="copybut" id="copybut85717" onclick="doCopy('code85717')" 代码如下:div class="codebody" id="code85717" go --创建经纬度距离计算函数 C[详细]
-
SQL排除重复结果只取字段最大值分享
所属栏目:[MsSql教程] 日期:2020-12-12 热度:99
如何用SQL排除重复结果只取字段最大值的记录? 要求得到的结果(即是PID相同的记录只取ID值最大的那一条)。 代码如下:select * from [Sheet1$] a where ID not exists (select 1 from [Sheet1$] where PID=a.PID and ID>a.ID) select a.* from [Sheet1$] a[详细]
-
获取MSSQL 表结构中字段的备注、主键等信息的sql
所属栏目:[MsSql教程] 日期:2020-12-12 热度:125
1、MSSQL2000 div class="codetitle" a style="CURSOR: pointer" data="46122" class="copybut" id="copybut46122" onclick="doCopy('code46122')" 代码如下:div class="codebody" id="code46122" SELECT 表名 = case when a.colorder=1 then d.name else ''[详细]
-
判断数据库表是否存在以及修改表名的方法
所属栏目:[MsSql教程] 日期:2020-12-12 热度:85
一、判断数据库表是否存在: 首先要拿到数据库连接conn,调用DatabaseMetaData dbmd = conn.getDataMeta();之后调用如下方法: 代码如下:/** * 根据表名,判断数据库表是否存在 * @param tableName * @return true:存在该表,false:不存在该表 */ public boole[详细]
-
sum(case when then)(判断男女生的个数)
所属栏目:[MsSql教程] 日期:2020-12-12 热度:90
判断类似一个班级的男生和女生的人数,用sum (cese when then ) div class="codetitle" a style="CURSOR: pointer" data="89294" class="copybut" id="copybut89294" onclick="doCopy('code89294')" 代码如下:div class="codebody" id="code89294" select co[详细]
-
sql将时间类型转换为字符串类型汇总
所属栏目:[MsSql教程] 日期:2020-12-12 热度:138
日期时间转字符串 div class="codetitle" a style="CURSOR: pointer" data="1623" class="copybut" id="copybut1623" onclick="doCopy('code1623')" 代码如下:div class="codebody" id="code1623" Select CONVERT(varchar(100),GETDATE(),0): 05 16 2006 10:[详细]
-
SQL实现递归及存储过程中In()参数传递解决方案详解
所属栏目:[MsSql教程] 日期:2020-12-12 热度:176
1.SQL递归 在SQL Server中,我们可以利用表表达式来实现递归算法,一般用于阻止机构的加载及相关性处理。 -->实现: 假设OrganiseUnit(组织机构表)中主要的三个字段为OrganiseUnitID(组织机构主键ID)、ParentOrganiseUnitID(组织机构父ID)、OrganiseNa[详细]
-
sql server的一个有趣的bit位运算分享
所属栏目:[MsSql教程] 日期:2020-12-12 热度:143
sql server中没有bool类型,而是用bit类型来表示bool值,估计是为了节省存储空间。 可是要想实现取反操作似乎就麻烦写了,比如类似下面这样的语句是不行的:update category set visible=not visible where id=1,因为visible是bit类型,而不是bool类型。 一[详细]