SQLSERVER
SQLSERVER
banzhenfei
这个作者很懒,什么都没留下…
展开
-
sqlserver查看阻塞
–查看阻塞select *from sys.sysprocesses where blocked<>0—根据SPID查看sqlselect er.session_id,CAST(csql.text AS varchar(255)) AS CallingSQLfrom master.sys.dm_exec_requests erWITH (NOLOCK)CROSS APPLY MASTER.sys.fn_get_sql (er.sql_handle) csqlwhere er.ses原创 2022-04-25 22:43:42 · 1880 阅读 · 0 评论 -
spt_values
declare @date datetime,@date1 datetimeset @date=‘2021-01-01’set @date1=‘2021-10-01’insert [control_date]select --[day]=replace(left(convert(varchar,DATEADD(mm,DATEDIFF(mm,0,@date),0)+number,121),10),’-’,’’),0 as flag,‘tablename’ as table_namefrom原创 2021-10-08 17:11:39 · 227 阅读 · 0 评论 -
SQL字段比较的自动化生成脚本
DECLARE @TABLE_NAME NVARCHAR(200)DECLARE @SCHEMA NVARCHAR(20)--传入表名、架构名SET @TABLE_NAME='NBFC_TXN_ADVICE_DTL'SET @SCHEMA='STG'SELECT 'OR ISNULL(TARGET.' + A.NAME + ','+ (CASE WHEN B.NAME ='CHAR' OR B.NAME ='NVARCHAR' OR B.NAME ='VARCHAR' OR B.NAM.原创 2021-08-09 11:27:31 · 171 阅读 · 0 评论 -
自动生成SP脚本
/****** Object: StoredProcedure [dbo].[CFG_Get_Table&Column_Comp] Script Date: 7/13/2021 4:43:15 PM *****/SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGO/ name : CFG_Get_Table&Column_Compfunction : CFG_Get_Table&Column_Compinput : @T原创 2021-07-13 16:46:06 · 4937 阅读 · 0 评论 -
sql产生连续日期
declare @startDate datedeclare @endDate dateset @startDate ='2028-01-02'set @endDate ='2032-01-01'select dateadd(DAY,number,@startDate) as [连续日期]from master.dbo.spt_values where type =‘P’and number <=DATEDIFF(DAY, @startDate, @endDate)...原创 2021-06-03 16:40:45 · 578 阅读 · 0 评论 -
SQL 判断字段值是否有中文、英文、数字、提取中文、英文、数字
–SQL 判断字段值是否有中文create function fun_getCN(@str nvarchar(4000))returns nvarchar(4000)asbegindeclare @word nchar(1),@CN nvarchar(4000)set @CN=’’while len(@str)>0beginset @word=left(@str,1)if unicode(@word) between 19968 and 19968+20901set @CN=@C原创 2021-06-01 14:51:12 · 796 阅读 · 0 评论 -
SQL SERVER 锁
RowLock对于DML语句使用主键条件的情况,使用的是行级别锁,不影响其他进程对此表的DML操作(不操作同一个主键)TablelLock对于使用表锁的表查询语句,其他进程无法对此表做DML操作,包括查询HoldLock对于使用HoldLock锁的表查询语句,其他进程无法对此表做DML操作,但可以查询...原创 2021-04-21 10:00:47 · 92 阅读 · 0 评论 -
Sqlserver查看数据库里各对象个数
查看数据库里各对象个数--DWselect *from (select 'DB_DW' as '数据库名',sum(case when type='U' then 1 else 0 end) as '表的数量' ,sum(case when type='V' then 1 else 0 end) as '视图数量' ,sum(case when type='P' then 1 else 0 end) as 'SP数量' ,sum(case when type='FN' then 1原创 2021-01-18 11:21:11 · 507 阅读 · 0 评论 -
SQL Server FOR XML PATH 和 STUFF函数的用法
SQL Server FOR XML PATH 和 STUFF函数的用法 FOR XML PATH ,其实它就是将查询结果集以XML形式展现,将多行的结果,展示在同一行。 下面我们来写一个例子: 假设我们有个工作流程表: CREATE TABLE [dbo].[Workflow_Action]( [WorkflowSchema] [nvarchar](128) NULL, [ActionSchema] [nvarchar](128原创 2021-01-06 11:26:23 · 623 阅读 · 0 评论 -
PBI Report Server 触发式数据刷新
SELECT SubscriptionID,*FROM [ReportServer].[dbo].Subscriptions–PBIexec [ReportServer].dbo.AddEvent@EventType=‘DataModelRefresh’,@EventData=‘2D8E0B5C-9219-45B5-9482-A194A36A5FA6’–SSRSexec [ReportServer].dbo.AddEvent@EventType=‘TimedSubscription...原创 2020-12-24 18:36:01 · 590 阅读 · 1 评论 -
PBI跨年
原创 2020-11-25 11:08:43 · 94 阅读 · 0 评论 -
修改数据库名时报错
先检查哪些进程在使用此库use master select spid from master.dbo.sysprocesses where dbid=db_id(‘database_dw’)可以看到具体谁的账号select *from sys.sysprocesses where spid=119杀掉进程kill 119重改库名成功alter database [database_dw] modify name=[database_dw_hr]...原创 2020-08-03 15:38:29 · 310 阅读 · 0 评论 -
SQL Server-更新统计信息
SQL Server-更新统计信息文章出自:https://yq.aliyun.com/articles/671761.何时更新统计信息(1)查询执行缓慢,或者查询语句突然执行缓慢。这种场景很可能是由于统计信息没有及时更新而遭遇了参数嗅探的问题。(2)当大量数据更新(INSERT/DELETE/UPDATE)到升序或者降序的列时,这种情况下,统计信息直方图可能没有及时更新。(3)建议在除索引维护(当你重建、整理碎片或者重组索引时,数据分布不会改变)外的维护工作之后更新统计信息。(4)数据库的数据原创 2020-06-13 19:10:06 · 526 阅读 · 0 评论 -
存储过程Return、output参数及使用技巧
SQL Server存储过程Return、output参数及使用技巧 SQL Server目前正日益成为WindowNT操作系统上面最为重要的一种数据库管理系统,随着 SQL Server2000的推出,微软的这种数据库服务系统真正地实现了在WindowsNT/2000系列操作系统一统天下的局面,在微软的操作系统上,没有任何一种数据库系统能与之抗衡,包括数据库领域中的领头羊...原创 2020-03-30 14:51:04 · 588 阅读 · 0 评论 -
hash比对checksum
SQLServer比较两条数据是否相同直接比较可能会一个一个字段的比较,也可以将多个字段拼成一个串然后比较,这里有个hash值比较的方法,很好用用法将需要的比较的column放进去,逗号隔开,只要保证包含相同的column,顺序无关,因为这个是hash值的和。select HashText = checksum( Q.FName ,Q.LName ,Q.MName ,Q.Addres...原创 2020-03-22 11:11:29 · 635 阅读 · 0 评论 -
Sqlserver 自增长建插入
sqlserver 自增ID插入指定数据set identity_insert 表名 ON --允许对自增列Id插入指定数据insert into table_name(Id,Name) values(1,‘test’)必须指定列名insert into table_name**(Id,Name)**select *from table_nameset identity_insert ...原创 2020-03-22 10:52:27 · 1675 阅读 · 0 评论 -
SQL server restore - backup
select *from [test].dbo.tb--Full backupbackup database test to disk='C:\tt\bak\test.bak' with init---insert data and differential backupinsert [test].dbo.tb values(11,233)backup database te...原创 2020-01-15 18:23:35 · 650 阅读 · 0 评论 -
SqlServer整库备份
SqlServer整库备份自动化脚本:use master; go ---声明变量 declare @dbName nvarchar(max)='MG_DATA'; declare @dbFullName nvarchar(max)='C:\Backup\MG_DATA_'+ convert(varchar(50),getdate(),112) +'_'+ DateNa...原创 2020-01-15 16:03:01 · 284 阅读 · 0 评论 -
Meger
http://blog.itpub.net/26110315/viewspace-723389/原创 2020-01-14 12:12:27 · 175 阅读 · 0 评论 -
SQLSERVER 建表设置字段默认值
create schema DMgoCREATE TABLE DM.DIM_PP_Co_borrower(PP_Co_borrower_Key int identity(1,1) not null,Marital_Status Nvarchar(100),PP_as_Co_borrower Nvarchar(20),ID int,[SRS_...原创 2020-01-14 10:39:30 · 9254 阅读 · 0 评论 -
SQL Server数据库Oracle服务器 体系结构
服务器结构SQL Server服务器可以看成是由实例及数据库构成。实例包括SQL Server占用的内存及后台线程。与Oracle显著不同的是,SQL Server服务器的数据库是多个,其中包括5个系统数据库及若干个用户数据库(其中的resource数据库存储系统数据,对用户不可见)。每个数据库包括数据文件及重做日志文件,SQL Server数据库不包含控制文件。Oracle服务器 =...原创 2020-01-09 16:19:32 · 164 阅读 · 0 评论 -
sqlserver 分区函数
简介 之前一篇简单的介绍了语法和一些基本的概念,隔了一段时间,觉得有必要细致的通过实例来总结一下这部分内容。如之前所说,分区就是讲大型的对象(表)分成更小的块来管理,基本单位是行。这也就产生了很大优势, 比如在数据库维护备份还原操作的时候,比如在大量用户访问能导致死锁的时候等等。接下来我们通过大量实例从分区到展示分区的效果以及一些实际案例来提高对这部分知识的理解。--*****...原创 2019-12-31 15:51:10 · 2258 阅读 · 0 评论 -
SQLSERVER动态sql生产EXCEL文件
DECLARE @SendMailError varchar(80)='Send Mail SPMP Report Error'DECLARE @sql varchar(8000)DECLARE @Filepath varchar(800)begin tryset @Filepath= 'E:\SPMP_REPORT\SPMP Report from CSMC '+conv...原创 2019-11-09 21:20:23 · 173 阅读 · 0 评论 -
如何使用 TRY/CATCH 语句避免死锁
如何使用 TRY/CATCH 语句避免死锁现在,让我们来使用TRY/CATCH 语句修改代码正文。(对于本示例,需要以 SQL Server 2005 版本运行代码。)使用 TRY/CATCH 时,操作代码和错误处理代码是分开的。您应该将执行一个操作的代码放在 TRY 语句块中,将错误处理代码放在 CATCH 语句块中。如果 TRY 语句块中的代码执行失败,代码执行将跳到 CATCH 语句块...原创 2019-11-09 21:22:40 · 255 阅读 · 0 评论 -
Sql Server非聚集索引扫描
Sql Server你必须知道的非聚集索引扫描2018.05.18 15:41664浏览 非聚集索引,这个是大家都非常熟悉的一个东西,有时候我们由于业务原因,sql写的非常复杂,需要join很多张表,然后就泪流满面了。。。这时候就有DBA或者资深的开发给你看这个猥琐的sql,通过执行计划一分析。。。或许就看出了不该有的表扫描。。。万恶之源。。。然后给你在关键的字段加上非聚集索引...原创 2019-11-09 21:24:16 · 151 阅读 · 0 评论 -
sql server 查询表字段及类型
select b.name as tablename,a.name as columnname,c.name as typename,a.max_length as typelengthfrom sys.columns a inner join sys.tables b on b.object_id=a.object_idinner join sys.types c on c.system_...原创 2019-11-09 21:26:06 · 1641 阅读 · 0 评论 -
sqlserver 自动重建库中所有表索引
ALTER PROCEDURE [dbo].[p_ReIndexing] (@dbname varchar(50))ASSET NOCOUNT ONDECLARE @tblname varchar(200), @execstring nvarchar(4000)EXEC('DECLARE defrag_cursor CURSOR FORSELECT ''[''...原创 2019-11-09 21:27:47 · 977 阅读 · 0 评论 -
SQL Server官方文档
SQL Server中使用convert进行日期转换一般存入数据库中的时间格式为yyyy-mm-ddhh:mm:ss如果要转换为yyyy-mm-dd短日期格式.可以使用convert函数.下面是sqlserver帮助中关于convert函数的声明:使用 CONVERT:CONVERT (data_type[(length)],expression[,style])参数expr...原创 2019-11-26 14:09:02 · 1553 阅读 · 0 评论