对接问题描述:不知道正式库oracle数据库账户密码,对方愿意在对方的客户端上输入账号和密码,但不告诉我们 解决方案:使用一台sql server作为中间服务器,可以通过转存数据到sql server,再从sql server同步数据到我方数据库.在sql server 上建立一个链接服务器连接Oracle,通过openquery查询oracle数据 具体实施方案: 在sql server创建链接服务器,通过链接服务器查询oracle数据,链接服务器对方设置,我方不知道账户和密码. 创建连接…
sql server 2005: --SQL SERVER 2005 生成代码需要知道的SQL语句 use LibrarySystem --查询当前数据库所有表和其的主键字段,字段类型,长度,是否为空值 SELECT d.name as 'TableName',a.name as 'FieldName',b.name as 'TypeName',a.length as 'Length',a.isnullable as 'IS_NULL' FROM syscolumns a, systypes b…
1/首先建立数据表 CREATE TABLE BasicMsg( RecvTime FLOAT NOT NULL , --接收时间,不存在时间相同的数据 AA INT NOT NULL, --24位地址码 . FlightID Varchar(10) NULL, --航班号) 2/ 建立存储过程 USE DF17DataProIF EXISTS (SELECT * FROM SYS.PROCEDURES WHERE OBJECT_ID = OBJECT_ID(N'[DBO].[BulkDataP…
SQL Server分页语句ROW_NUMBER,读取第4页数据,每页10条 SELECT Id,[Title],[Content],[Image] FROM ( SELECT ROW_NUMBER() OVER(ORDER BY [Id] DESC) AS ROW_NUM,Id,[Title],[Content],[Image] FROM [NewsInfo] )AS TEMP WHERE TEMP.ROW_NUM BETWEEN 31 AND 40…
    最近在给一个客户做调优的时候发现一个很有意思的现象,对于一个复杂查询(涉及12个表)建立必要的索引后,语句使用的IO急剧下降,但执行时间不降反升,由原来的8秒升到20秒.     通过观察执行计划,发现之前的执行计划在很多大表连接的部分使用了Hash Join,由于涉及的表中数据众多,因此查询优化器选择使用并行执行,速度较快.而我们优化完的执行计划由于索引的存在,且表内数据非常大,过滤条件的值在一个很宽的统计信息步长范围内,导致估计行数出现较大偏差(过滤条件实际为15000行,步长内估计…
环境: Sql Server2012 SP3企业版,Windows Server2008 标准版 问题由来: 最近在做DB优化的时候,发现一个存储过程有非常严重的性能问题, 由于整个SP整体逻辑是一个多表关联的复杂的查询,整体结构比较复杂的,通过的分析和尝试, 最后发现问题出在其中一个大表的查询上实现方式上, 因为这个大表上的意外的执行方式,导致其他表无法被驱动,其他表也是表扫描的方式参与join 导致后面整个表之间join以及查询编译出来一系列极其低效的执行效果(不合理的执行计划) 这里单独将…
内存动态管理视图(DMV): 从sys.dm_os_memory_clerks开始. SELECT  [type] , SUM(virtual_memory_reserved_kb) AS [VM Reserved] , SUM(virtual_memory_committed_kb) AS [VM Committed] , SUM(awe_allocated_kb) AS [AWE Allocated] , SUM(shared_memory_reserved_kb) AS [SM Reser…
五.表连接 当数据表中存在许多重复的冗余信息时,就要考虑将这些信息建在另一张新表中,在新表中为原表设置好外键,在进行数据查询的时候,就要使用到连接了,表连接就好像两根线,线的两端分别连接两张表的不同字段上,将两个字段进行关联.表连接分为内连接(inner join).交叉连接.自连接和外连接等. 1.内连接,语法  inner join table_name on condition ,table_name被关联的表名,condition关联条件. 例如:有两张表,T_Customer保存着客户…
一.本文所涉及的内容(Contents) 本文所涉及的内容(Contents) 背景(Contexts) 主要区别与对比(Compare) 实现监控表数据步骤(Process) 参考文献(References) 二.背景(Contexts) 在SQL Server 2008以上版本中,对数据库中的用户表所做的 DML 更改(插入.更新和删除操作)除了:SQL Server 变更数据捕获(CDC)监控表数据之外,还有一个新增功能,那就是:更改跟踪(Chang Tracking),它跟CDC有什么不…
        数据库文件有两大类:数据文件跟日志文件,每一个数据库至少各有一个数据文件或者日志文件,数据文件用来存储数据,日志文件用来存储数据库的事务修改情况,可用于恢复数据库使用.     这里分为两篇博文讲解,本文来说说数据文件.         如果转载,请注明博文来源: www.cnblogs.com/xinysu/   ,版权归 博客园 苏家小萝卜 所有.望各位支持!       本系列上一篇博文链接:SQL SERVER大话存储结构(5)_SQL SERVER 事务日志解析   1…
在SQL Server中有时候会使用提示(Hint)强制SQL使用行锁(Row Lock),前两天有个同事咨询了一个问题,如何定位Row Lock具体锁定了哪一行.其实这个问题只适合研究一下,实际意义并不大,因为找到.定位被锁定的行的代价开销较大,而意义却不怎么大,而且使用场景也很少.那么下面我们来探讨.研究一下这个问题吧: 在会话窗口(会话ID=65)下执行下面SQL语句,模拟SQL Server使用行锁锁定某一行记录: USE AdventureWorks2012; GO   SELECT …
1.数据类型: Character 字符串 / Unicode 字符串 / Binary 类型 / Number 类型  /  Date 类型  / 其他数据类型 详解:http://www.w3school.com.cn/sql/sql_datatypes.asp 2.新建数据表 (1)若要创建表,您必须提供该表的名称以及该表中每个列的名称和数据类型.指出每个列中是否运行空值,也是一种很好的做好. (2)大多数表有一个主键,主键由表的一列或者多列组成.主键始终是唯一的.数据库引擎将强制实施以下…
一.本文所涉及的内容(Contents) 本文所涉及的内容(Contents) 背景(Contexts) 主要区别与对比(Compare) 实现监控表数据步骤(Process) 参考文献(References) 二.背景(Contexts) 在SQL Server 2008以上版本中,对数据库中的用户表所做的 DML 更改(插入.更新和删除操作)除了:SQL Server 变更数据捕获(CDC)监控表数据之外,还有一个新增功能,那就是:更改跟踪(Chang Tracking),它跟CDC有什么不…
一个朋友,碰到一个问题. 就是查询出来的结果集,需要每隔三行.就将这三行数据以此拼接为一行显示.起初我想着用ROW_NUMBER加CASE WHEN去做,发现结果并非我预期那样. 结果如下: 由于别人的数据,不方便显示.查询出来还是为三行数据,只是将其余部分展现出了空值.这种结果是不行的. 随后百度找到了,下面内容的百度经验.本想用这个数据集,以及语句贴上来.但还是因为不方便,就将那篇百度经验拿过来使用吧! 下面的百度经验是针对于两行数据进行的操作,多行数据也可以操作. 这里的左连接条件只需要写…
--方法一if exists ( select * from dbo.sysobjects where id = object_id(N'[dbo].[TableSpace]') and objectproperty(id, N'IsUserTable') = 1 ) drop table [dbo].[TableSpace]gocreate table TableSpace ( TableName varchar(20) , RowsCount char(11) , Reserved varc…
来源:http://www.cnblogs.com/wsdj-ITtech/archive/2011/04/28/2031601.html 通常在SQL Server 2005中,我们可以通过SQL Management Studio,选中一个数据表,然后右键弹出菜单,在此菜单中可以Open并编辑此数据表,但在SQL Server 2008中此特性被取消了,代之以 "Edit Top 200 Rows",这样作的原因是为了避免经常有用户因为误操作而打开一个内容巨大的数据表.我们可以通过…
    我们的系统维护的过程中肯定需要对数据库进行定期的备份,但是如果定时手工备份的话,不但浪费时间,也不能保证每次都可以按时备份,所以自动备份成为了我们的不二选择,但是定时备份需要定期清理备份文件,不然会因为磁盘空间不足导致备份失败,失去备份的准确性,下面我们就一步步来看一下如果自动备份并删除过期备份数据. 1.打开SQL SERVER 2008 R2,连上数据库,右键选择[管理]-[维护计划]-[维护计划向导]. 2. 在名称中为维护计划取一个通俗易懂的名字,例如"EveryDayBak&q…
这个存储过程自动创建表并从文件加载数据. 有一点需要说明的是Excel 12.0驱动是兼容了Excel 97-2003和Excel 2007两者格式的Excel文件. CREATE PROCEDURE [dbo].[LoadDataFromFileIntoXXXXDB] ), --Ex. D:\test.xls ), --Ex. Sheet1 ), --Ex. Excel @TargetTableSchema SYSNAME, --Ex. dbo @TargetTableName SYSNAME…
因为手咸,觉得电脑没有VS 2010版本的软件,就把Microsoft Visual C++ 2010某个组件给卸载了. 然后打开Sql Server 2012,就开始报错. 重装之后,也还是报错,将卸载掉的组件重新安装也不行. 然后看到这篇文章的方法:https://blog.csdn.net/wfpc__/article/details/79782849 解决了问题. 如下图所示路径:C:\Program Files (x86)\Microsoft Visual Studio 10.0\Co…
嵌套子查询是SQL语句中比较常用的一种查询方法,开发过程中遇到查询需要将自己的某列作为待查询的数据,在参考别人的SQL语句的写法终于实现了自己需要的功能. 不太和谐查询语句如下: SELECT DISTINCT dbo.a.ProxyID, dbo.a.account AS adminAccount, dbo.b.LevelName, dbo.a.ProfitProportion, dbo.a.totalUpScore, dbo.a.score, dbo.a.members, dbo.a.aut…
嵌套子查询是SQL语句中比较常用的一种查询方法,开发过程中遇到查询需要将自己的某列作为待查询的数据,在参考别人的SQL语句的写法终于实现了自己需要的功能. 查询语句如下: SELECT DISTINCT dbo.a.ProxyID, dbo.a.account AS adminAccount, dbo.b.LevelName, dbo.a.ProfitProportion, dbo.a.totalUpScore, dbo.a.score, dbo.a.members, dbo.a.authori…
概述 CROSS APPLY 与 OUTER APPLY 可以做到:      左表一条关联右表多条记录时,我需要控制右表的某一条或多条记录跟左表匹配的情况. 有两张表:Student(学生表)和 Score(成绩表),数据如下: 一.CROSS APPLY ROSS APPLY 的意思是“交叉应用”,在查询时首先查询左表,,然后右表的每一条记录跟左表的当前记录进行匹配.匹配成功则将左表与右表的记录合并为一条记录输出:匹配失败则抛弃左表与右表的记录.(与 INNER JOIN 类似) 查询每个学…
select distinct stu.*, dbo.GetClassNameByStudentCode(stu.Code) as ClassName, dbo.GetCourseNameByStudentCode(stu.Code) as CourseName, dbo.GetLinkmanByStudentId(stu.Id) as Linkman, dbo.GetContactByStudentId(stu.Id) as Contact, case when svr.Linkman is…
不同数据库之间复制表的数据的方法: 当表目标表存在时: insert into 目的数据库..表 select * from 源数据库..表 当目标表不存在时: select * into 目的数据库..表 from 源数据库..表 --如果在不同的SQL之间: insert into openrowset('sqloledb','目的服务器名';'sa';'',目的数据库.dbo.表) select * from 源数据库..表 -- 创建链接服务器 exec sp_addlinkedserv…
我们拥有一个巨大的表,两千多万条记录.也许在行家眼里,两千多万条记录顶多算条毛,不过这条毛也忒粗壮了一点:我们的数据库占用的空间已经达到5G多了.不要以为是日志文件在搞鬼,日志文件可以自动收缩的,最多不超过100M. 这样子就给我们备份.同步带来很大的麻烦.备份.压缩.下载,谁见谁害怕. 昨天想了个办法,将这个巨无霸分出去了.分到了另一个数据库上.虽说有这么多记录,不过这些记录并不是太重要,如果放在一个分布式的系统里面看,它没有同步的必要. 思想如下: 1.将大表转移到另一个数据库上 2.原有数…
public bool GetDataUsingDataTaskReason(StationReasonCollection reason) { try { strCon.Open(); DateTime dt = new DateTime(); dt = System.DateTime.Now; string strFu = dt.ToString("yyyy-MM-dd HH:mm"); TaskReasonInfo ts=null; ts=new TaskReasonInfo()…
bcp "select * from (DBNAME).dbo.qt_trace where User_1 is not null" queryout c:\%date:~6,4%%date:~0,2%%date:~3,2%%time:~0,2%%time:~3,2%%time:~6,2%.csv -S"KUNWSQL1\TEST" -Uusr1 -Ppwd1 -c -t"," -r"\n" pause…
问题:有时已有项目要移植,例如原来在广州地区使用的某系统,突然说惠州那边也要用这套一样的系统.或者,在demo环境下弄了一些测试数据.然后要清空全部表数据.如果表比较多的话,逐个表手工编写脚本就太麻烦了. 解决方案:本博主就教教大家怎么仅用一个简单语句快速删除全库各表数据,全部清空数据.使用系统存储过程sp_MSforeachtable结合truncate table语句.达到快速删除数据库各表全部数据的目的. 脚本: /* 说明:本脚本用于清空数据库各表数据,请谨慎使用,请提前备份好数据库,如…
今天突然需要用到这样的方法,在网上找过很多,大体都写的很复杂,这个简单实用.转载自ChineseMoonGod的博客:https://www.cnblogs.com/ChineseMoonGod/p/7308783.html )--字符串变量 )) --创建表变量辅助 BEGIN SET @STR ='姓名,家庭地址,家庭成员,邮箱'+',' )--截取后的第一个字符串 ) --截取第一个字符串后剩余的字符串 ) ,CHARINDEX(',',@STR),'') INSERT @temptabl…
INSERT [TOP (<expression>) [PERCENT] [INTO] <tabular object>[(column list)][OUTPUT <output clause>]{VALUES (<data values>) [,(<data values>)] [,...n]| <table source>| EXEC <procedure>| DEFAULT VALUES 这个结构看起来崩溃,更基本…