在SQL Server 7.0中,有一个最强大的特性是数据转换服务(DTS)。现在,这组特性变成了SQL Server Integration Services (SSIS)。这两个名字都很直观地反映各自组件的作用:将数据从一个位置复制到另一个位置,整合不同系统的信息,同时重新格式化数据。下面开始介绍Microsoft SSIS基础知识。
SQL Server外关键字约束定义了表之间的关系。当一个表中的一个列或多个列的组合和其它表中的主关键字定义相同时,就可以将这些列或列的组合定义为外关键字,并设定它适合哪个表中哪些列相关联。这样,当在定义SQL Server主关键字约束的表中更新列值。
日前,国内最大的程序员社区CSDN网站的用户数据库被黑客公开发布,600万用户的登录名及密码被公开泄露,随后又有多家网站的用户密码被流传于网络,连日来引发众多网民对自己账号、密码等互联网信息被盗取的普遍担忧。
SQL Server中通过SQL Server视图来访问数据,其优点是非常明显的,如可以起到数据保密、保证数据的逻辑独立性、简化查询操作等等。
Web SQL Database API不包含在html5规范中,它是一个独立的规范,它引入了一套使用 SQL 操作客户端数据库的 API。所有现代浏览器都支持此API。它使用的SQL是SQLite 。
在虚拟化环境中运行SQL Server的数据库管理员(DBA)们往往最担心的就是安全问题,但根据专家的观点,其实并无必要。SQL Server在虚拟化世界中的安全问题与传统数据库环境的安全挑战并无太多差异。
在SQL SERVER中,非聚集索引其实可以看作是一个含有聚集索引的表.但相比实际的表而言.非聚集索引中所存储的表的列数要窄很多,因为非聚集索引仅仅包含原表中非聚集索引的列和指向实际物理表的指针。
SQL Server 2012这个筐对于大多数用户而言已经够大了,但功能特性的组织上似乎还欠点章法。在SQL Server专家协会峰会上(PASS Summit:The Professional Association for SQL Server Summit),一个最值得关注的主角缺席了——SQL Server 2012,而且预计要到明年上半年才能露面。
对于SELECT查询语句来说,通常情况下,为了使T-SQL代码更加简洁和可读,在一个查询中引用另外的结果集都是通过视图而不是子查询来进行分解的.但是,视图是作为系统对象存在数据库中,那对于结果集仅仅需要在存储过程或是用户自定义函数中使用一次的时候,使用视图就显得有些奢侈了.
2011年行将过去,数据库发展如果用一个关键词来概括就是:融合与扩展。2011年是数据库快速发展的一年,Oracle、IBM和SQL Server为代表的主流商用数据库都有着不俗的表现,国产数据库也在持续发力。随着云计算步入实质性发展阶段,数据库领域也适时的出现很多新的技术趋势。
目前数据库领域,三大厂商就是微软,Oracle和IBM,他们的拳头产品分别就是SQL Server,Oracle,db2。这种三足鼎立的局面,已经存在了一段时间,而且还将继续存在下去。这三个产品,我个人认为本质上的差异性并不大,用户在选择的时候,主要根据自己公司的平台基础架构和使用习惯,知识储备的情况决定。
依据需求建立好分区表之后,就要实现对分区表的管理维护。主要内容有两点:利用滑动窗口方案,实现分区表与数据移动中间表的互切;分区表本身的结构变更管理。当然以上两点,都是理论上的点。我工作中主要是遇到两种需求:过时分区数据的快速归档管理:即把某些不活跃分区的数据切到数据归档的表中去。
虽然查询速度慢的原因很多,但是如果通过一定的优化,也可以使查询问题得到一定程度的解决。查询速度慢的原因很多,常见如下几种:没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷);I/O吞吐量小,形成了瓶颈效应;没有创建计算列导致查询不优化;内存不足;网络速度慢......
死锁如何跟踪;阻塞如何跟踪和查找;发现有问题的语句后,如何进行处理;用Profile做跟踪时,一般我们需要跟踪哪些事件; Windows日志主要有哪几种,SQLServer日志一般保留几个,什么情况下会产生新的SQL日志;数据库日志恢复模式有哪几种,区别是什么;数据库日志突然变得很大,而且你无法收缩.
T-SQL编辑器支持在线和离线的数据库上写和执行Transact-SQL代码。编辑器提供一个丰富的编辑和导航环境,支持Microsot的自动完成工具IntelliSense、调式和声明式编辑以及平台特定的验证。这意味着无论你是在开发SQL Azure或SQL Server其他版本,你的代码会根据目标版本和你的数据库平台编辑器进行验证。
行列互转,是一个经常遇到的需求。实现的方法,有case when方式和2005之后的内置pivot和unpivot方法来实现。在读了技术内幕那一节后,虽说这些解决方案早就用过,却没有系统性的认识和总结过。即,行列互转,可以分为静态互转,即事先就知道要处理多少行(列);动态互转,事先不知道处理多少行(列)。
在两个或多个SQL Server进程中,每一个进程锁定了其他进程试图锁定的资源,就会出现死锁,例如,进程process1对table1持有1个排它锁(X),同时process1对table2请求1个排它锁(X),进程process2对table2持有1个排它锁(X),同时process2对table1请求1个排它锁(X)类似这种情况,就会出现死锁。
SQL Server 已经放弃 OleDB,支持 ODBC,这样 SQL Server Integration Services 最终支持 ODBC 也就不足为奇了。Attunity 是微软在此特性上的合作伙伴,它还正在开发名为变更数据捕获 Change Data Capture 的 SSIS 特性。
用过SqlServer的知道,SqlServer安装后通常会有示例数据库(即使没有附加一下也很方便),Nortwind想必大家也耳熟能详。这样带来的好处是许多数据库sql示例、程序示例就基于这样一个示例数据库,在学习示例的时候构建环境的成本大大降低。
StackExchange是构建在ASP.NET和SQL Server基础之上的项目。最近,Sam Saffron和Marc Gravell分别撰写了博客,其中讲述了他们发现和解决性能问题的经验,在该过程中最终追踪到了.NET GC GEN-2对象。大家可以从他们的博文中吸取很多关于优化生产环境中应用程序性能的经验。