摘要:
今天我们就在这里给大家简要介绍以下几个主要的参数:{ -U login_id [ -P password ] } | –E trusted connection }] 如果指定了-E就不需要指定用户名密码,当然指定了用户名密码就不用-E了;-S server_name [ \ instance_name ] 数据库服务器,如果不在本机的话必须指定;-d db_name 数据库名字,必须的;[ -i input_file ] [ -o output_file ] sql存在文件里的话用-i,输出到文件用-o;[ -q "cmdline query" ] [ -Q " 阅读全文
随笔分类 - SQL Server
merge using (转)
2013-07-19 11:26 by Sam Jin, 475 阅读, 收藏,
摘要:
SQL Server 2008 T-SQL之Merge语法 Merge语法是对插入,更新,删除这三个操作的合并。根据与源表联接的结果,对目标表执行插入、更新或删除操作。例如,根据在另一个表中找到的差异在一个表中插入、更新或删除行,可以对两个表进行同步。我这里用一个简单的例子来解释一下USE tempdbGO--创建一个临时的订单表CREATE TABLE Orders(OrderID INT,CustomerID NCHAR(5))GO--往这个表中添加两行记录INSERT INTO Orders VALUES(1,N'AAAAA')INSERT INTO Orders VAL 阅读全文
T-SQL中APPLY应用事例解析(转载)
2013-05-02 10:03 by Sam Jin, 175 阅读, 收藏,
摘要:
一直都没研究过Apply的用法,最近浏览帖子,是不是会看到,顺便学习一下。 MSDN:使用 APPLY 运算符可以为实现查询操作的外部表表达式返回的每个行调用表值函数。表值函数作为右输入,外部表表达式作为左输入。通过对右输入求值来获得左输入每一行的计算结果,生成的行被组合起来作为最终输出。APPLY 运算符生成的列的列表是左输入中的列集,后跟右输入返回的列的列表。 没有接入过APPLY的,看到上面的话,肯定云里雾里。 其实通俗的说,就是APPLY后面是表Table,这个表Table是由表值函数动态生成的。所谓表值函数就是自定义一个函数,返回值是Table。函数的参数为左表(左输入或者APPLY 阅读全文
SQLServer通过DMV实现低影响的自动监控和历史场景追溯(转)
2013-04-05 18:23 by Sam Jin, 203 阅读, 收藏,
摘要:
一. 背景:我们管理和维护的数据库系统基本都是7*24小时运转的,运转时会出现什么情况谁都无法估计,往往一个平时运行很正常的系统,某天晚上突然就抽风了,而此刻并没有系统负责人在旁边,当值班同事的电话打到正在酣睡的DBA手机上时,DBA不得不朦朦胧胧的,条件反射要上数据库看看;要在家里连到公司的内外一般都需要DBA通知运维人员(也可能是个在做梦的哥们)先给自己开个VPN(某些管控严格的公司还需要DBA打车去公司才能处理),然后通过一大堆的验证才通过慢如蜗牛(往往也和此刻的心态有关)的网络,远程连接到了公司内网出问题的数据库上,此刻DBA才开始真正开始排查起问题来;如果说等待DBA登录到问题数据库 阅读全文
查看sqlserver被锁的表以及如何解锁
2013-04-05 17:29 by Sam Jin, 5974 阅读, 收藏,
摘要:
查看被锁表:select request_session_id spid,OBJECT_NAME(resource_associated_entity_id) tableName from sys.dm_tran_locks where resource_type='OBJECT'spid 锁表进程tableName 被锁表名解锁:declare @spid intSet @spid = 57 --锁表进程declare @sql varchar(1000)set @sql='kill '+cast(@spid as varchar)exec(@sql) 阅读全文
SQL Server 2008中SQL增强之一:Values新用途 (转)
2013-04-05 16:53 by Sam Jin, 227 阅读, 收藏,
摘要:
SQL Server 2008中新增功能:可以使用单个Insert命令插入多行。Create table Demo_Values(PKID int not null identity(1,1) primary key,DName Nvarchar(20) null,DCode NVarchar(30) null,DDate datetime null)go--this SQL is only for SQL Server 2008Insert into Demo_Values(DName,DCode,DDate)values('DemoA','AAA',GETD 阅读全文
SQL Server 2008如何压缩日志(log)文件? (转)
2013-04-05 16:46 by Sam Jin, 317 阅读, 收藏,
摘要:
在SQL Server 2000/2005中可以快速压缩日志log文件,通过SQL,方法一:Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->--BigData为数据库名DUMPTRANSACTIONBigDataWITHNO_LOGBACKUPLOGBigDataWITHNO_LOGDBCCSHRINKDATABASE(BigData)执行以上语句可以快速压缩日志文件到1M。但是以上语句中前两行在SQL Server 2008下无法执行 ,第 阅读全文
实战 SQL Server 2008 数据库误删除数据的恢复 (转)
2013-04-05 16:42 by Sam Jin, 288 阅读, 收藏,
摘要:
今天有个朋友很着急地打电话给我,他用delete语句误删除了SQL Server 2008数据库中两个表中的所有记录,而这个数据库之前没有任何备份。让我帮他解决一下,不然他要赔偿客户很多钱。SQL Server中误删除数据的恢复本来不是件难事,从事务日志恢复即可。但是,这个恢复需要有两个前提条件:1. 至少有一个误删除之前的数据库完全备份。2. 数据库的恢复模式(Recovery mode)是“完整(Full)”。针对这两个前提条件,会有三种情况:情况一、如果这两个前提条件都存在,通过SQL语句只需三步就能恢复(参考文章),无需借助第三方工具。 a) 备份当前数据库的事务日志:BACKUP . 阅读全文
create a GetFiscalYearEnd function
2013-02-27 13:36 by Sam Jin, 128 阅读, 收藏,
摘要:
GOIF OBJECT_ID (N'dbo.GetFiscalYearEnd', N'TF') IS NOT NULL DROP FUNCTION dbo.GetFiscalYearEnd;GOCREATE FUNCTION dbo.GetFiscalYearEnd(@FiscalYearNumber SMALLINT)RETURNS DateTimeASBEGIN DECLARE @FiscalYearEndDate DateTime; SET @FiscalYearEndDate = (SELECT FiscalYearEndDate FRO... 阅读全文
查找没有主键的table
2013-02-27 13:33 by Sam Jin, 163 阅读, 收藏,
摘要:
GO SELECT SCHEMA_NAME(schema_id) AS SchemaName,name AS TableName FROM sys.tables WHERE OBJECTPROPERTY(OBJECT_ID,'TableHasPrimaryKey') = 0 ORDER BY SchemaName, TableName; GO 阅读全文
SQL中的CASE WHEN用法
2013-02-27 13:31 by Sam Jin, 2233 阅读, 收藏,
摘要:
SQL中Case的使用方法 Case具有两种格式。简单Case函数和Case搜索函数。 --简单Case函数 CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女' ELSE '其他' END --Case搜索函数 CASE WHEN sex = '1' THEN '男' WHEN sex = '2' THEN '女'... 阅读全文
SQL Server 四个排名函数(row_number、rank、dense_rank和ntile)的比较
2013-02-27 13:28 by Sam Jin, 906 阅读, 收藏,
摘要:
排名函数是SQL Server2005新加的功能。在SQL Server2005中有如下四个排名函数: 1.row_number 2.rank 3.dense_rank 4.ntile 下面分别介绍一下这四个排名函数的功能及用法。在介绍之前假设有一个t_table表,表结构与表中的数据如图1所示: 图1 其中field1字段的类型是int,field2字段的类型是varchar 一、row_number row_number函数的用途是非常广泛,这个函数的功能是为查询出来的每一行记录生成一个序号。row_number函数的用法如下面的SQL语句所示:select row... 阅读全文
SqlServer中使用row_number()在一个查询中删除重复记录
2013-02-27 13:25 by Sam Jin, 632 阅读, 收藏,
摘要:
If Exists(Select * From tempdb.Information_Schema.Tables Where Table_Name Like '#Temp%') Drop Table #temp Create Table #temp ([Id] int, [Name] varchar(50), [Age] int, [Sex] bit default 1) Go Insert Into #temp ([Id] , [Name] , [Age] , [Sex] ) Values(1,'James',25,default) Insert Into # 阅读全文
sqlserver巧用row_number和partition by分组取top数据
2013-02-27 13:24 by Sam Jin, 280 阅读, 收藏,
摘要:
--1.创建测试表 create table #score ( name varchar(20), subject varchar(20), score int ) --2.插入测试数据 insert into #score(name,subject,score) values('张三','语文',98) insert into #score(name,subject,score) values('张三','数学',80) insert into #score(name,subject,score) values('张三& 阅读全文
SSRS Report display both count and percent above chart bar column
2013-02-20 15:32 by Sam Jin, 169 阅读, 收藏,
摘要:
=CStr(Count(Fields!Status.Value))+ "\n"+ "("+ CStr(FormatPercent((Count(Fields!Status.Value) / Count(Fields!Status.Value, "DataSet1")), 2))+ ")" 阅读全文
SSRS Report chart bar with different color
2013-02-20 15:30 by Sam Jin, 200 阅读, 收藏,
摘要:
=Switch(Fields!Status.Value = "1", "Tomato", Fields!.Value = "2", "Pink", Fields!Status.Value = "3", "Khaki", Fields!Status.Value = "4", "SeaGreen", Fields!Status.Value = "5", "LightBlue", Fields!Stat 阅读全文
利用DOS命令批处理运行多个sql文件
2013-02-19 10:24 by Sam Jin, 363 阅读, 收藏,
摘要:
代码功能:遍历保存Sql文件的目录,逐个执行,无需指定具体的SQL文件。 一、创建批处理文件代码 创建2个bat文件,CREATE_ALL.bat和CREATE_ALL_File.bat文件。具体代码分别如下: ①CREATE_ALL.bat文件代码 ECHO OFF REM 请设定下面内容 REM SET Driver=D: REM SET FilePath=D:\MyWork\SQL\ SET User_ID=andy SET User_PWD=andy SET ServerName=AndyServer SET HostName=192.168.0.6 S... 阅读全文
T-SQL常用日期计算
2013-02-19 10:20 by Sam Jin, 369 阅读, 收藏,
摘要:
DECLARE @Date DATETIMESET @Date=GETDATE()--前一天,给定日期的前一天SELECT DATEADD(DAY,-1,@Date) AS 前一天--后一天,给定日期的后一天 SELECT DATEADD(DAY,1,@Date) AS 后一天GO/*月初,计算给定日期所在月的第一天这个计算的技巧是先计算当前日期到“'1900-01-01'”的时间间隔数,然后把它加到“'1900-01-01'”上来获得特殊的日期,这个技巧可以用 来计算很多不同的日期。 根据SQL Server的时间表示方式可知,'1900-01-01& 阅读全文
Sql Server日期格式化函数
2013-02-19 10:10 by Sam Jin, 700 阅读, 收藏,
摘要:
Sql Server日期格式化是我们经常会使用的操作,下面就为您介绍一个Sql Server日期格式化函数,希望对您学习Sql Server日期格式化能有所帮助。Sql Server中对于时间字段的格式化函数支持就不及Oracle的方便,下面列出Sql Server中常用的Sql Server日期格式化。其中“GETDATE()”为Sql Server的系统时间函数,此处只做演示用。1.Select CONVERT(varchar(100), , 0): 05 16 2006 10:57AM 2.Select CONVERT(varchar(100), GETDATE(), 1): 05/16 阅读全文
浙公网安备 33010602011771号