SQL Server Alwayson 主从数据库账号同步
我们建立了Alwayson后,辅助副本下的数据库是没有相应的账号的,怎么样进行账号的同步呢?怎么在不知道密码的情况下,进行账号的同步设置。
我们可以通过SP--sp_help_revlogin 来实现,此存储过程在主副本上创建了,在执行的时候直接数据你需要同步的账号就会生成创...[2019/5/21]
动态表名,列名,输入参数,输出参数等
本例实现动态表名,列名,输入参数,输出参数等进行操作。
先准备一些数据:
IF OBJECT_ID(''tempdb.dbo.#Part'') IS NOT NULL DROP TABLE #Part
CREATE TABLE #Part (
[ID] INT...[2019/5/20]
想知道数据表的用户或系统异动时间
从这个表sys.dm_db_index_usage_stats可以获取到所有表或某一张表的用户或系统异动时间:
SELECT OBJECT_NAME(object_id) AS table_name,
last_user_seek,
last_user_s...[2019/5/20]
同一张表中有父子键关联进行查询
刚有网友提问,只有一张表,其中有子键与父键关联,怎样根扰子键查询到父键记录的数据?
Insus.NET尝试写了一个简单的例子,希望能看得懂。
CREATE TABLE [dbo].[tempTable]
(
[id] INT ,
[pa...[2019/5/20]
在SSMS查询分析器中显示行号
有网友问及,看到Insus.NET帮他解决问题分享的截屏时,发现代码中有显示行号。而他的没有。
Step1: Go to Tools > Options
Step2: In the Options dialog box navigate to Text Edi...[2019/5/20]
动态透视表
写一个符合自己要求使用透视存储过程。在开发时,直接使用即可。
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- ==========================================...[2019/5/20]
获取数据库表的字段信息
SELECT 表名 = Case When A.colorder=1 Then D.name Else '''' End, 表说明 = Case When A.colorder=1 Then isnull(F.value,'''') Else '''' End,...[2019/5/20]
检索每个组的最后一条记录
如标题一样,检索每个组的最后一条记录。
举例说明,先准备一些数据:
Source Code
要求是以[Category]来分组, 检查以[Qty]数据最大的记录。
CTE查询分组表:
SELECT数据:
...[2019/5/20]
删除重复Row记录数据
使用CTE,ROW_NUMBER,PARTITION BY来处理数据表重复记录。
先准备下面的数据:
IF OBJECT_ID(''tempdb.dbo.#Part'') IS NOT NULL DROP TABLE #Part
CREATE TABL...[2019/5/20]
mssql sqlserver 使用sql脚本剔除数据中的tab、空格、回车等特殊字符的方法分享mssql sqlserver 使用sql脚本剔除数据中的tab、空格、回车等特殊字符的方法分享
摘要: 在sqlserver开发中,常常有同事反馈无法剔除空格,我们可以通过仔细检查发现,并不是空格字符,而是tab键,如下所示:
解决方法: 对于这些特殊字符的替换,我们需采用字符所对应的ascii编码进行替换,如下所示:
declare @a varchar(1...[2019/5/20]
使用CTE生成辅助表(数字或时间)等使用CTE生成辅助表(数字或时间)等
数字辅助表:
DECLARE @start_digital INT = 0,
@end_digital INT = 9
;WITH Digital_Rangs(Digital)
AS
(
SELECT @start_d...[2019/5/20]
Oracle - 子查询、TOP - N
1 子查询
sql 中查询是可以嵌套的,一个查询的结果可以作为另外一个查询的条件、表。
1 SELECT select_list
2 FROM table
3 WHERE expr operator
4 (SELECT select_l...[2019/5/17]
字符串反转reverse字符串反转reverse
我们有一串字符串,比如:
DECLARE @Source VARCHAR(MAX)= ''ABCDEFGHIJKLMNOPQRSTUVWXYZ''
现想把它反转显示:
ZYXWVUTSRQPONMLKJIHGFEDCBA
此时,你可以写一个方法来处理:
&...[2019/5/17]
sqlserver默认隔离级别下并发update同一张表引起的死锁
提到死锁,最最常规的场景之一是Se ion1 以排它锁的方式锁定A表,请求B表,se ion2以排它锁的方式锁定B表,请求A表之类的,访问顺序不一致导致死锁的情况本文通过简化,测试这样一种稍显特殊的场景:对同一张表,并发update其中的多行记录引起的死锁,同时简单分析,对于up...[2019/5/16]
获取表的结构数据
在动态编程中,我们需要获取表的结构数据,如表名,数据类型,精度等数据。你可以参考下面几行代码:
DECLARE @table_Name SYSNAME = ''Q''
SELECT t.TABLE_NAME,
c.COLUMN_NAM...[2019/5/16]
安装SQL数据库时遇到问题。需要更新以前的visual studio 2010实例
安装SQL数据库时遇到问题。需要更新以前的visual studio 2010实例此计算机安装了需要service pack 1更新的visual 2010,必须安装此更新才能成功安装选择的SQL server 功能。若要继续,从SQL介质或者从http: go.microsoft.com/fwl...[2019/5/16]
MS SQL PIVOT数据透视表
以前曾经做过练习《T-SQL PIVOT 行列转换》https: www.cnblogs.com/insu archive/2011/03/05/1971446.html
今天把拿出来,再练习。 以前透视列,需要手动指定。是否可以动态拿到呢? 看看下面的演示:
在实现之前,得先参考这篇《列...[2019/5/16]
判断一个日期是不是今天
以前写过一个方法,先去参考《T-SQL判断是否为今天》https: www.cnblogs.com/insu archive/2012/03/22/2411209.html
今天使用一个更加简单的方法来实现:
实例演示:
原文链接:http:...[2019/5/15]
前一天或后一天
Insus.NET把它们写成自定义函数,再程序中直接套用即可。
前一天:
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- ====================================...[2019/5/15]
求知某一天是星期几求知某一天是星期几
想知道某一天是星期几,下面Insus.NET写了一个函数,具体是怎样,可以细细研究。
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- ============================...[2019/5/15]
SqlServer 查询最近一段范围中的数据
sql得到当前系统时间得 日期部分
CONVERT(varchar(10),getDate(),120)
昨天
select convert(varchar(10),getdate() - 1,120)
明天
select convert(varchar(10...[2019/5/15]
获取存储过程参数
自定义函数,获取存储过程参数,可以先参考这篇《SQL Server INFORMATION_SCHEMA》https: www.cnblogs.com/insu archive/2010/12/31/1923047.html
SET ANSI_...[2019/5/15]
获取数据库用户表的数据
从sysindexes和sysobjects系统,可以获取用户表的一些数据,如果表名,创建时间,表存储的记录数等。
下面代码,是代码运行的当前数据库的用户表数据。
SELECT o.[name],[crdate],MAX(...[2019/5/15]
数据库硬盘满了如何清空数据库日志
SQL SERVER 数据库日志占用很大的空间 ,如果长时间不清除,就会影响数据存储。
一、工具
sql server
二 方法步骤
1、打开sql server 数据库,找到要清除日志的库。
2、鼠标选中对应的数据库名称,右键—&...[2019/5/15]
求知当前数据库的空间使用大小求知当前数据库的空间使用大小
欲知道当前数据库空间使用大小,可以从下面这个系统表sys.database_files 得到。
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =========================...[2019/5/15]
判断是否是闰年
判断是否为闰年的方法很多,如:
《指定日期,判断其所属年份是否为闰年》 https: www.cnblogs.com/insu p/10841868.html《C#或VB.NET判断指定的年份是否为闰年》https: www.cnblogs.com/insu archive/2012/06/0...[2019/5/15]
过滤所有非数字的字符
从一字符串中,过滤所有非数字的字符,留下数字。循环所有字符,使用正则[0-9]来匹配。
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- ===========================...[2019/5/15]
SQL-函数及多表关联
函数一般是在数据上执行的,它给数据的转换和处理提供了方便。只是将取出的数据进行处理,不会改变数据库中的值。函数根据处理的数据分为单行函数和聚合函数(组函数),组函数又被称作聚合函数,用于对多行数据进行操作,并返回一个单一的结果,组函数仅可用于选择列表或查询的having子句;单行函数对单个数值进行...[2019/5/15]
比较2个日期是否相同比较2个日期是否相同
以前写过2篇,关于日期比较的,需求不同,每一篇均有参考价值。
《MS SQL日期比较函数》https: www.cnblogs.com/insu archive/2011/06/24/2089005.html
《MS SQL两个日期比较,获取最大或最小的日期》https: www.cnbl...[2019/5/15]
mssql sqlserver 使用SSMS运行sql脚本的六种方法分享
摘要:
下文讲述五种运行sql脚本的方法,如下所示: 实验环境:sql server 2008 R2
在一次会议讨论中,大家咨询我使用SSMS运行sql脚本的方法,下文我将依次举例讲述sql脚本的运行方法,如下所示:
1.选中待运行sql脚本,按快捷键"F5"
2.选...[2019/5/14]
【干货】SqlServer 总结几种存储过程分页的使用 - 熊泽-学习中的苦与乐
就我而言写代码最烦的就是处理数据,其中之一就是分页的使用。
有的代码写多了,总结出一套适用自己的分页方法;有的查一下资料借鉴一下套用起来也达到目的。
那么小编在这里给大家总结几个方法供大家做一下参考。
分页方法一:
SET ANSI_NULLS ON
GO
SET QUOT...[2019/5/14]
Microsoft SQL Server - Aha-Best
Microsoft SQL Server
SQL Server 是Microsoft 公司推出的关系型数据库管理系统。具有使用方便可伸缩性好与相关软件集成程度高等优点,可跨越膝上型电脑到运...[2019/5/14]
SQL-查询SQL-查询
1 查询语句
查看账户下的所有表
1 select * from tab;
查看账户下的所有表的详细信息
1 select * from user_tables;
1.1 select
select 用于从数据看查询数据。语法:
...[2019/5/14]
字符串中去除多余的空格保留一个(MS SQL Server)
大约2年前,写过一篇《字符串中去除多余的空格保留一个(C#)》https: www.cnblogs.com/insu p/7954151.html
今天,Insus.NET使用MS SQL Server来实现相同的功能。现Insus.NET已经把它写成一个自定义函数。
SET...[2019/5/14]
计算字符串由几个单词组成计算字符串由几个单词组成
字符串由几个单词组成,一般情况之下以空格分隔来计算即可。
实现方法,参考下面自定义函数:
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- ======================...[2019/5/14]
前导或后导字符串前导或后导字符串
根据需求,需要把某一些数字或字符串进行格式化,前导或后导字符串。Insus.NET把这个功能写成一个自定义函数。需要时,直接使用即可。
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =====...[2019/5/13]
SQL Server一个特殊的阻塞案例分析2
最近发现一个非常奇怪的阻塞问题,如下截图所示(来自监控工具DPA),会话583被会话1036阻塞,而且阻塞发生在tempdb,被阻塞的SQL如下截图所示,会话等待类型为LCK_M_S ...[2019/5/13]
进销存数据库设计:采购订单
进销存的订单表设计 这里只讨论最简单的业务流程,采购申请等业务流程不考虑 包括主表(表头)和子表(明细表) 主表:主要信息包括单据流水编码、供应商信息、订单类型、单据日期、制单人等等 子表:主要信息是物料、数量以及价格
主表相关设计如下() 子表相关设计如下 原文链接:http: w...[2019/5/13]
获取某一天所在周的开始日期和结束日期
指定一个日期,获取其所属周的开始日期和结束日期。以及前一周和后一周的开始日期和结束日期。
Insus.NET把这个功能写成一个自定义函数Table-values Functions。
SET ANSI_NULLS ON
GO
SET QUOTED_IDE...[2019/5/13]
获取指定日期相关DATENAME和DATEPART数据
DATENAME和DATEPART有何区别,Insus.NET写成一个函数,可以方便查询与对比:
一个是返回一个字符串,另一个是返回一个整数。
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
...[2019/5/13]
sqlserver的表变量在没有预估偏差的情况下,与物理表可join产生的性能问题
众所周知,在sqlserver中,表变量最大的特性之一就是没有统计信息,无法较为准备预估其数据分布情况,因此不适合参与较为复杂的SQL运算。当SQL相对简单的时候,使用表变量,在某些场景下,即便是对表变量的预估没有产生偏差的情况下,仍旧会有问题。sqlserver的优化引擎对于表变量的支持十分不友...[2019/5/13]
数据表列值转换为逗号分隔字符串
在开发SQL Server语序中,可能需要这样一个要求,把表中某一列的所有值转换为使用逗号分隔的字符串去呈现出来。
举个例子:
IF OBJECT_ID(''tempdb..#tempTable'') IS NOT NULL
BEGIN
DROP TA...[2019/5/13]
分组将列值转换为以逗号分隔字符串分组将列值转换为以逗号分隔字符串
实现这篇之前,可以先参考这篇《数据表列值转换为逗号分隔字符串》https: www.cnblogs.com/insu p/10848578.html
上这篇,只是输出一个值,现我们把数据表进行分组。
先把上一篇的源始数据再组织一下:
IF OBJECT_...[2019/5/13]
获取某一年的母亲节或父亲节日期
今天是母亲节,它是在每一年的五月份的第二个星期天,而父亲节,是在每一个的六月份的第三个星期天。
把星期天设置为每周的开始,将一周的第一天设置为从 1 到 7 的一个数字。
SET DATEFIRST 7;
参考MSDN:https: docs.microsoft...[2019/5/13]
获取某一行数据获取某一行数据
比如:
DECLARE @t AS TABLE([Datas] NVARCHAR(40))
INSERT INTO @t ([Datas]) VALUES(N''DF''),(N''W4F''),(N''EYY''),(N''ER''),(N''GFF''),...[2019/5/13]
列值转换为逗号分隔字符串
将数据表的某一列值,转换为逗号分隔字符串:
先准备一些数据:
DECLARE @t AS TABLE([Datas] NVARCHAR(40))
INSERT INTO @t ([Datas]) VALUES(N''DF''),(N''W4F''),(N'...[2019/5/13]
获知某一年的母亲节,父亲节和感恩节日期
完成这个要求之前,可以先参考另外一个函数《获取当月的天数列表》https: www.cnblogs.com/insu p/10837900.html:
然后要知道标题三个节日的常识,母亲节在每年5月份的第二个星期天,父亲节在每年6月份的第三个星期天,而感恩节是在每年的11月份第四个星期的星期四...[2019/5/13]
字段组合查询
刚有网友问及,数据表的姓与名是分开存储,但查询时,传入的是全名,怎样实现查询。
Insus.NET简单写了一个例子,可以参考之:
IF OBJECT_ID(''[dbo].[Employee]'') IS NOT NULL
DROP TABLE [...[2019/5/13]
删除字符串前导的零字符
在这篇《前导或后导字符串》https: www.cnblogs.com/insu p/10842839.html
中。是为字符串使用前导来补充字符串,令其长度一致。
相反,如果我们把带有前导零的字符串,去除这些前导的零。我们又需要怎样处理呢?
SET ...[2019/5/13]
(1)SQL Server内存浅探
1.前言
对于数据库引擎来说,内存是一个性能提升的重要解决手段。把数据缓存起来,可以避免在查询或更新数据时花费多余的时间,而这时间通常是从磁盘获取数据时用来等待磁盘寻址的。把执行计划缓存起来,可以避免重复分析执行计划时带来额外的CPU及各种资源的开销。通过在内存中开辟查询内存空间,可以迅速地完成...[2019/5/10]