SQL Server 数据库调整表中列的顺序操作方法及遇到问题
SQL Server 数据库中表一旦创建,我们不建议擅自调整列的顺序,特别是对应的应用系统已经上线,因为部分开发人员,不一定在代码中指明了列名。表是否可以调整列的顺序,其实可以自主设置,我们建议在安装后设置为禁止。
那么,如果确实需要调整某一列的顺序,我们是怎么操作的呢? 下面,我们就要演示一...[2018/11/12]
mssql sqlserver 将字段null(空值)值替换为指定值的三种方法分享mssql sqlserver 将字段null(空值)值替换为指定值的三种方法分享
摘要: 下文将分享两种将字段中null值替换为指定值的方法分享,如下所示: 实验环境:sqlserver 2008 R2
例:
create table test(keyId int identity, info varchar(30))
go
...[2018/11/11]
SQL Server 数据库部分常用语句小结(二)SQL Server 数据库部分常用语句小结(二)
9. 查询备份还原数据库的进度。
select command ,percent_complete ,est_time_to_go=convert(varchar,(estimated_completion_time/3600000))+'' hour, '' ...[2018/11/11]
SQL Server 数据库调整表中列的顺序操作
SQL Server 数据库中表一旦创建,我们不建议擅自调整列的顺序,特别是对应的应用系统已经上线,因为部分开发人员,不一定在代码中指明了列名。表是否可以调整列的顺序,其实可以自主设置,我们建议在安装后设置为禁止。
那么,如果确实需要调整某一列的顺序,我们是怎么操作的呢? 下面,我们就要演示一下...[2018/11/11]
sql server中嵌套事务*
转自 https: www.cnblogs.com/guanjie20/archive/2013/02/17/2914488.html
我们在写事务时经常遇到的问题如下:
消息 266,级别 16,状态 2,过程 sp1,第 0 行
EXECUTE 后的事务计数指示 ...[2018/11/9]
Left Jion等价SQL猜想验证Left Jion等价SQL猜想验证
猜想:以下两条SQL等价
select * from A left join B on A.ID=B.BID and B.BName=N''小明''
select * from A left join (select * from B where B.BName=N''小明'') B on A...[2018/11/9]
SQLServer之创建分布式事务
分布式事务创建注意事项
指定一个由 Transact-SQL 分布式事务处理协调器 (MS DTC) 管理的 Microsoft 分布式事务的起点。
执行 BEGIN DISTRIBUTED TRANSACTION 语句的 SQL Server ...[2018/11/9]
mssql sqlserver with cte表达式(递归)找出最顶值的方法分享mssql sqlserver with cte表达式(递归)找出最顶值的方法分享
摘要: 下文通过递归的方式找出最顶级部门的方法分享,如下所示: 实验环境:sql server 2008 R2
下文通过cte-with表达式实现递归,获取一个公司的顶级部门,如下所示 例:部门表
create table [maomao365.com]
(keyId int...[2018/11/9]
SQLServer之创建隐式事务
隐式事务创建注意事项
IMPLICIT_TRANSACTIONS为 ON 时,系统处于“隐式”事务模式。 这意味着如果 @@TRANCOUNT = 0,下列任一 Transact-SQL 语句都会开始新事务。 这等同于先执行一个不可见的 BEGIN TRANSACTION。
...[2018/11/9]
sql server 临时表(中) Tempdb监控sql server 临时表(中) Tempdb监控
一. 监控概述
Tempdb库空间使用的一大特点,是只有一部分对象,例如用户创建的临时表、table变量等,可以用sys.allocation_units和sys.partitions这样的管理视图来管理,许多内部对象和版本存储在这些管理视图中没有体现,所以sp_spaceuse...[2018/11/9]
MS SQL自定义函数IsNumeric
判断字符串是否为纯数字,负数不算。如''00012'',''54585'',''1000''
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE FUNCTION [dbo].[svf_IsNu...[2018/11/8]
MS SQL自定义函数IsPositiveInteger
判断字符串是否为正整数,0开始的的数字不算。
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE FUNCTION [dbo].[svf_IsPositiveInteger]
(
...[2018/11/8]
SQLServer之创建显式事务
显式事务定义
显式事务以 BEGIN TRANSACTION 语句开始,并以 COMMIT 或 ROLLBACK 语句结束。
备注
BEGIN TRANSACTION 使 @@TRANCOUNT 按 1 递增。
BEGIN TRANSACTION 代表一点,由连接引用的数据在该点逻辑和物理上都...[2018/11/8]
mssql sqlserver text数据类型专题说明
摘要: 下文分享text数据类型的简介及处理text数据类型所涉及的函数,如下所示:
text 数据类型简介:
m ql sqlserver 常用数据类型简介
m ql sqlserver text同ntext数据类型区别说明
m ql sqlserver varchar(...[2018/11/6]
SQLServer之事务简介
事务定义
事务是单个的工作单元。事务是在数据库上按照一定的逻辑顺序执行的任务序列,既可以由用户手动执行,也可以由某种数据库程序自动执行。
事务分类
自动提交事务
每条单独的语句都是一个事务。
显式事务
每个事务均以 BEGIN TRANSACTION 语句显式开始,以 COMMIT 或 ROL...[2018/11/6]
SQL 创建分区表
(以项目中实际使用的GNSS库为例)
背景:数据量巨大,定时创建月表存放数据,月表中数据存放在不同的文件组中来提高查询效率
一、创建数据库,添加文件组
除了逻辑文件和物理文件的分离之外,SQL Server使用文件组还有一个优势,那就是分散IO负载,其实现的原理是:
...[2018/11/6]
BCP SQL导出EXCEL常见问题及解决方法;数据导出存储过程BCP SQL导出EXCEL常见问题及解决方法;数据导出存储过程
一、‘xp_cmdshell’的启用
SQL Server阻止了对组件‘xp_cmdshell’的过程‘sys.xp_cmdshell’的访问。因为此组件已作为此服务嚣安全配置的一部分而被关 闭。系统管理员可以通过使用sp_configure启用‘xp_cmdshell’。有关启用‘xp_cmd...[2018/11/6]
mssql sqlserver 索引专题
摘要: 下文将详细讲述sql server 索引的相关知识,如下所示: 实验环境: sql server 2008 R2
sqlserver索引简介:
m ql sqlsever 索引分类简介
m ql sqlserver xml索引简介说明
MSSQL 视图索引简介
MS...[2018/11/6]
mssql sqlserver 使用sql脚本 清空所有数据库表数据的方法分享
摘要: 下文讲述清空数据库中所有表信息的方法分享,如下所示: 实验环境:sql server 2008
实现思路: 1.禁用所有约束,外键 2.禁用所有触发器 3.删除表数据 4.开启触发器 5.开启约束
CREATE PROCEDURE proc_deleteDateSql
...[2018/11/6]
Left Jion和where区别Left Jion和where区别
首先,新建两张表A和B,然后插入6条数据到A表,3条数据到B表。语句如下:
create table A(
ID int identity(1,1) not null,
AName nvarchar(300) null
)
create table B(
ID int ...[2018/11/6]
SQL Server 2008
关于SQL Server 2008
想起关于SQL Server 2008的故事,曾经在大一的时候跟着视频学习过一段时间,那时因为想多学习一些技术,才去学,遗憾的是,曾经是三分热度,没学多久就被扔掉了,如今再次捡起来,重新学习,并且想要树立长久的学习态度,在今后的学习中,要及时的把学习的内容更新...[2018/11/5]
SQL Server 2008初次启动SQL Server 2008初次启动
一、关于安装
SQL Server 数据库的安装,经过自己的安装,总体还是比较容易,没有太多难度,安装包在网上也有很多,在此,就跳过安装的这一步。
二、初次启动SQL Server
安装完成数据库后,如果不启动SQL Server的服务,是登录不了数据库的。启动服务有三种方式...[2018/11/5]
SQLServer之删除存储过程
删除存储过程注意事项
在删除任何存储过程之前,请检查依赖对象,并且相应地修改这些对象。 如果没有更新这些对象,则删除存储过程可能会导致依赖对象和脚本失败。
若要显示现有过程的列表,请查询 sys.objects 目录视图。 若要显示过程定义,请查询 sys.sql_modul...[2018/11/3]
SQLServer之修改存储过程SQLServer之修改存储过程
修改存储过程注意事项
只能修改先前在 SQL Server 中通过执行 CREATE PROCEDURE 语句创建的过程。
Transact-SQL 存储过程修改为 CLR 存储过程,反之亦然。
ALTER PROCEDURE 不会更改权限,也不影响相关的存储过程...[2018/11/3]
sql server 临时表概述(上)
一.概述
在sql server里临时表存储在TempDB库中,TempDB是一个系统数据库,它只有Simple恢复模式,也是最小日志记录操作。主要用于存放局部临时表,全局临时表,表变量,都是基于临时特征,每次服务器或服务重启后,都会按照Model库的配置重新创建TempDB库。在sql s...[2018/11/3]
复制表结构和数据SQL语句
1.复制表结构及数据到新表
CREATE TABLE 新表 SELECT * FROM 旧表
2.只复制表结构到新表
CREATE TABLE 新表 SELECT * FROM 旧...[2018/11/2]
SQL server 远程连接不成功解决SQL server 远程连接不成功解决
一直以来打算自己做一个博客网站,前段时间开始准备做了,正好碰上新睿云服务器免费一年的活动,赶紧拿下。装好了sqlserver ,用本地访问没有问题,但是关键是外网访问一直不行找了好多资料最终才搞定。下面我把解决方案全部列出来供大家一个参考
...[2018/11/2]
Sql Sever性能优化之指定索引
背景:生产环境SQL语句查询过慢(数据总量在350万左右),日志中心一直报警
解决过程:分析无果后,求助于公司的DBA,DBA分析后建议在语句中指定索引
解决:在SQL语句中指定索引,效果相当明显,亲测有效
优化前SQL:
SELECT ROW_NUMBER() OVER (...[2018/11/2]
数据库底层—访问操作
数据访问代码是最底层的代码,Linq也是基于基本的数据库查询的基础上进行编写,EF框架也是,所以了解底层代码对我们开发有一个很客观的帮助,如果哪天没有网,没有框架一样可以进行开发数据访问,接下来就介绍几种方法。
...[2018/11/1]
Sql Server2014数据库清理日志
Sql Server2014数据库日志占用特别大,清理方法。直接贴代码 USE[master]
GO
ALTER DATABASE db_Name SET RECOVERY SIMPLE WITH NO_WAIT
GO
ALTER DATABASE db_N...[2018/11/1]
SQLServer之存储过程简介
存储过程定义
存储的过程 (存储过程(数据库引擎)) 是存储在数据库中的可执行对象。
存储过程分类
系统存储过程
??系统存储过程是 SQL Server系统自身提供的存储过程,可以作为命令执行各种操作。
??系统存储过程主要用来从系统表中获取信息,使用系统存储过程完成数据...[2018/11/1]
一个磁盘I/O故障导致的AlwaysOn FailOver 过程梳理和分析
下面是我们在使用AlwaysOn过程中遇到的一个切换案例。这个案例发生在2014年8月,虽然时间相对久远了,但是对我们学习理解AlwaysOn的FailOver原理和过程还是很有帮助的。本次FailOver的触发原因是系统I/O问题。大家需要理解,操作系统I/O出现了问题不一定立即触发SQL Se...[2018/11/1]
SqlServer主键和自增长设置
SqlServer主键和自增长设置
Intro
有时候有些 sql 语句有些不太记得了,谨以此文备忘。
设置主键以及自增长可分两种情况:
新创建表
表已创建但是没有设置主键和自增长
新创建表
创建表 sql:
CREATE TABLE [dbo].[TestTable](
[Id]...[2018/10/31]
SQLServer之通过视图修改数据
通过视图增删改数据注意事项
需要对目标表的 UPDATE、INSERT 或 DELETE 权限(取决于执行的操作)。
如果视图引用多个基表,则不能删除行。
如果视图引用多个基表,只能更新属于单个基表的列。
如果视图引用多个基表,则不能插入行。
使用SSMS数据库管理工具通过视图增删改数据
...[2018/10/31]
SQLServer之删除视图
删除视图注意事项
删除视图时,将从系统目录中删除视图的定义和有关视图的其他信息。 还将删除视图的所有权限。
使用 DROP TABLE 删除的表上的任何视图都必须使用 DROP VIEW 显式删除。
对索引视图执行 DROP VIEW 时,将自动删除视图上的所有索引。 若要...[2018/10/31]
SQLServer之修改视图
修改视图注意事项
修改先前创建的视图。 其中包括索引视图。 ALTER VIEW不影响相关的存储过程或触发器,并且不会更改权限。
如果原来的视图定义是使用 WITH ENCRYPTION 或 CHECK OPTION创建的,则只有在 ALTER VIEW 中也包含这些选项时,...[2018/10/30]
SQL Server -- 回忆笔记(四):case函数,索引,子查询,分页查询,视图,存储过程
SQL Server知识点回忆篇(四):case函数,索引,子查询,分页查询,视图,存储过程
1. CASE函数(相当于C#中的Switch)
select UserName,Age,类别=case when Age<18 then ''未成年人'' else ''成年人'' end ...[2018/10/29]
SQLServer之创建分区视图
分区视图定义
分区视图是通过对成员表使用 UNION ALL 所定义的视图,这些成员表的结构相同,但作为多个表分别存储在同一个 SQL Server实例中,或存储在称为联合数据库服务器的自主 SQL Server 服务器实例组中。
对一个服务器的本地数据进行分区的首...[2018/10/29]
Sql Server 获取本周周一
SELECT DATEADD(Day,(@i+1)-(DATEPART(Weekday,getdate())+@@DATEFIRST-1)%7,getdate())[2018/10/29]
SQL Server -- 回忆笔记(五):T-SQL编程,系统变量,事务,游标,触发器
SQL Server -- 回忆笔记(五):T-SQL编程,系统变量,事务,游标,触发器
1. T-SQL编程
(1)声明变量
declare @age int
(2)为变量赋值
set @age=26
(3)while循环
declare @i...[2018/10/29]
sql server 错误日志errorlog
一 .概述
SQL Server 将某些系统事件和用户定义事件记录到 SQL Server 错误日志和 Microsoft Windows 应用程序日志中。 这两种日志都会自动给所有记录事件加上时间戳。 使用 S...[2018/10/29]
SQL Server -- 回忆笔记(三):ADO.NET之C#操作数据库
SQL Server知识点回忆篇(三):ADO.NET之C#操作数据库
1.连接数据库
(1)创建连接字符串:
使用windows身份验证时的连接字符串:
private string conStr="Data Source=MyTestDB;Initial Catalog=tb...[2018/10/26]
SQL语句中不同的连接JOIN
为了从两个表中获取数据,我们有时会用JOIN将两个表连接起来。通常有以下几种连接方式:
JOIN or INNER JOIN(内连接) : 这两个是相同的,要求两边表同时有对应的数据,返回行,任何一边缺失数据就不显示。
LEFT JOIN(左外连接):即使右边的表中没有...[2018/10/26]
关于SQL数据库 msdb.dbo.sp_send_dbmail 函数发送邮件的几个实例
在推行系统中,时不时会有用户提出希望系统能自动推送邮件,由于手头的工具和能力有限,不少需求都借助于sql server的邮件触发来实现。
步骤:
1、配置邮箱。步骤略,网上有不少帖子说明,手工直接在管理-数据库邮件配置即可。配置完成后可以右键测试邮箱是否正常工作。
2、制作发送邮件脚本
3...[2018/10/26]
SQLServer之创建索引视图SQLServer之创建索引视图
索引视图创建注意事项
对视图创建的第一个索引必须是唯一聚集索引。 创建唯一聚集索引后,可以创建更多非聚集索引。 为视图创建唯一聚集索引可以提高查询性能,因为视图在数据库中的存储方式与具有聚集索引的表的存储方式相同。 查询优化器可使用索引视图加快执行查询的速度。&nbs...[2018/10/26]
如何使用SQL窗口子句减少语法开销
SQL是一种冗长的语言,其中最冗长的特性之一是窗口函数.
在.最近遇到的堆栈溢出问题,有人要求计算某一特定日期的时间序列中的第一个值和最后一个值之间的差额:
输入
volume tstamp
------------------------...[2018/10/26]
关于SQL数据库 msdb.dbo.sp_send_dbmail 函数发送邮件的场景分析关于SQL数据库 msdb.dbo.sp_send_dbmail 函数发送邮件的场景分析
在推行系统中,时不时会有用户提出希望系统能自动推送邮件,由于手头的工具和能力有限,不少需求都借助于sql server的邮件触发来实现。
步骤:
1、配置邮箱。步骤略,网上有不少帖子说明,手工直接在管理-数据库邮件配置即可。配置完成后可以右键测试邮箱是否正常工作。
2、制作发送邮件脚本...[2018/10/26]
SQL Server -- 回忆笔记(二):增删改查,修改表结构,约束,关键字使用,函数,多表联合查询
SQL Server知识点回忆篇(二):增删改查,修改表结构,约束,关键字使用,函数,多表联合查询
1. insert
如果sql server设置的排序规则不是简体中文,必须在简体中文字符串前加N, 为了防止乱码问题
insert into tbUsers(UserName,A...[2018/10/25]
SQLServer之创建视图
视图定义
视图是一个虚拟的表,是一个表中的数据经过某种筛选后的显示方式,视图由一个预定义的查询select语句组成。
使用SSMS数据库管理工具创建视图
1、连接数据库,选择数据库,展开数据库-》右键视图-》选择新建视图。
2、在添加表弹出框-》选择要创建视图的表、视图、函数、或者同义词等...[2018/10/25]
SQL Sever AlwaysOn的数据同步原理
1. SQL Server AlwaysOn数据同步基本工作
AlwaysOn 副本同步需要完成三件事:
1.把主副本上发生的数据变化记录下来。
2.把这些记录传输到各个辅助副本。
3.把数据变化在辅助副本上同样完成一遍。
这3件工作主要由以下4个线程完成
Log Writer线程:当任...[2018/10/25]