SQL Server
文章平均质量分 68
HyperWang
常迷糊
展开
-
SQL Server中insert/update的高性能写法
在SQL Server中默认使用了“隐式事务”,但是这严重影响了sql server处理数据的性能。下面我们做一个小测试,使用显示“事务处理”数据,从而显著提高sql server性能:--创建一张测试的堆表hypercreate table hyper (num int)--truncate table hyper--使用while循环插入100万的记录--注意:为了提供性能,在这里使用了显原创 2017-10-25 15:44:17 · 3729 阅读 · 0 评论 -
sql sever 2014的Business Intelligence Development Studio (BIDS)安装
在sql server2014之前,Business Intelligence Development Studio (BIDS)都是在数据库安装包中,安装后即可使用。但是在sql server 2014中发生了变化,需单独安装。下载链接: What’s New in Analysis Services and Business Intelligence https://msdn.microsof原创 2016-08-27 14:06:49 · 6138 阅读 · 0 评论 -
[转]Troubleshooting Error 18456
原文链接:http://sqlblog.com/blogs/aaron_bertrand/archive/2011/01/14/sql-server-v-next-denali-additional-states-for-error-18456.aspx1 'Account is locked out'2 'User id is not valid'3-4 'Undoc转载 2016-07-28 10:54:03 · 576 阅读 · 0 评论 -
[转]Quick Tip: Error: 18456, Severity: 14, State: 38.
原文链接:http://www.ssistalk.com/2011/05/06/quick-tip-error-18456-severity-14-state-38/When trying to investigate the SQL error, “Error: 18456, Severity: 14, State: 38.” it can be frustrating when not a si转载 2016-07-28 08:22:19 · 2269 阅读 · 0 评论 -
跟我一起学Microsoft SQL Server 2012 Internals(3.4)
目录目录正确使用SQL Server文件与文件组演示参考资料正确使用SQL Server文件与文件组MS SQL Server引入文件组(filegroups)是为了简单的管理与分配数据(data)文件。同时,合理正确的使用SQL Server文件组可提升数据库的性能,如将数据、非聚集索引分别存放在不同的文件组中并存放在不同的物理磁盘上(注意:聚集索引是数据的一部分)。默认情况下,所有的数据原创 2016-06-02 15:05:54 · 839 阅读 · 0 评论 -
SQL Server Management Studio(SSMS)的使用与配置整理(不定期更新 2016/02/04)
目录目录SQL Server Management Studio的使用与配置1 设置SSMS显示行号2 添加注释与取消注释的快捷键3 新建查询的快捷键4 开启sql语句TIME与IO的统计信息5 临时修改SQL Server语言环境参考资料 本文将不定期持续更新(by Hyper Wang at 2016/02/04)1. SQL Server Management Studio原创 2016-01-27 20:03:59 · 28793 阅读 · 0 评论 -
跟我一起学Microsoft SQL Server 2012 Internals(3.3)
目录目录正确扩展与收缩SQL Server的数据database文件参考资料正确扩展与收缩SQL Server的数据(database)文件在创建MS SQL Server数据库后,我们会调整一个重要选项,即数据文件与日志文件的增长方式。同时MS SQL Server可在必要时,收缩数据文件与日志文件的大小,但个人不建议做此操作。下图所示是通过SSMS设置数据库文件的自动增长方式: 个人建议原创 2016-05-27 16:04:58 · 6552 阅读 · 2 评论 -
跟我一起学Microsoft SQL Server 2012 Internals(3.2)
目录目录正确认识SQL Server数据库文件参考资料正确认识SQL Server数据库文件MS SQL Server的数据库文件可分成如下2类: 数据文件 事务日志文件(.ldf)其中“数据文件”可分为:主数据文件(Primary data files,即.mdf)与次数据文件(Secondary data files,即.ndf)参考资原创 2016-05-25 16:03:07 · 6741 阅读 · 1 评论 -
跟我一起学Microsoft SQL Server 2012 Internals(2.1)
目录目录简述SQLOS正确理解SQL Server的NUMA架构参考资料简述SQLOS如在“跟我一起学Microsoft SQL Server 2012 Internals(1.4) ”中提到的,SQL Server Operating System(即SQLOS),作为SQL Server的底层组件,衔接着windows操作系统,管理着部分操作系统的资源,其主要实现了如下几个内容: -原创 2016-03-15 14:40:36 · 765 阅读 · 0 评论 -
简述什么是T-SQL
目录目录简述什么是T-SQL参考资料简述什么是T-SQL在SQL Server的相关资料中,我们常看到T-SQL,那么什么是T-SQL?其实T-SQL,就是Transact-SQL,是SQL Server对标准结构化查询语言的扩展(SQL,即Structured Query Language)。而在Oracle中我们使用的是PL/SQL,也就是oracle对标准SQL的扩展。而对T-SQL的原创 2016-03-28 20:05:58 · 2306 阅读 · 0 评论 -
跟我一起学Microsoft SQL Server 2012 Internals(1.3)
目录目录正确理解SQL Server元数据参考资料正确理解SQL Server元数据每个SQL Server 实例(instance)在正确安装后,均可看到如下4个系统database: master model msdb tempdb其中master包含了大量系统维护所需的基础信息表,即系统基表(system base tables),但需注意:这些系统基表不能通过S原创 2016-03-12 20:03:57 · 971 阅读 · 1 评论 -
跟我一起学Microsoft SQL Server 2012 Internals(1.5)
目录目录正确配置SQL Server2012参考资料正确配置SQL Server2012当你安装SQL Server后,你首先应该使用SQL Server Configuration Manager配置管理SQL Server的网络与SQL Server相关的服务。通常情况下,你至少启用“shared memory”与“TCP/IP”2个网络协议。其中“shared memory”只能在本机使原创 2016-03-14 14:48:54 · 1253 阅读 · 1 评论 -
SQL Server相关资源(站点/工具)整理
ps:如下是SQL Server相关的官方资料或一些较权威的资料MSDN资料SQL server 2008R2 white papers https://msdn.microsoft.com/en-us/library/ee410014%28v=sql.105%29.aspxSQL server微软官方论坛 中文 https://social.microsoft.com/Forums/zh原创 2016-08-13 14:47:48 · 468 阅读 · 0 评论 -
删除sql server用户时报15138错误
问题在删除sql server中某数据库下的用户时报15138错误,见下图 解决可用下述sql代码检查该用户的架构信息,然后逐一修正SELECT s.nameFROM sys.schemas sWHERE s.principal_id = USER_ID('hzladmin');从上图可知,这7个架构都存在问题,逐一打开修正即可。按如下所示修正(双击打开架构),修改架构所有者:原创 2016-08-28 18:53:57 · 6481 阅读 · 0 评论 -
关于SQL Server中的“数据库实例文件初始化”
对于MS SQL Server 2008/2012/2014为了加快对磁盘IO的性能,我们通常会在windows本地安全策略->用户权限指派->[执行卷维护任务]中添加相关用户进行授予,但是在MS SQL Server 2016中在安装过程中集成了这一选项。参考文章数据库实例文件初始化 https://msdn.microsoft.com/library/ms175935(v=sql.130).a原创 2017-01-13 13:21:40 · 2037 阅读 · 0 评论 -
检查SQL SERVER的备份文件
使用如下命令查看.bak文件的相关信息,从而在恢复之前确认SQL Server备份文件是否有效或正确:RESTORE HEADERONLY FROM DISK ='D:\backup\hyper.bak'; 具体可参考MSDN:RESTORE HEADERONLY原创 2017-10-26 13:14:20 · 2228 阅读 · 0 评论 -
MS SQL SERVER中的SELECT * 的I/O性能
在《Pro SQL Server Internals》中描述了一段SELECT * 的I/O性能。通过如下事例可知,select *的性能较差,需要避免使用。set statistics io onset statistics time onselect * from dbo.Employees;select EmployeeId, Name from dbo.Employees;set sta原创 2017-01-13 15:02:24 · 375 阅读 · 0 评论 -
SQL Server: DMV to Track Page Split
原文链接:http://social.technet.microsoft.com/wiki/contents/articles/25473.sql-server-dmv-to-track-page-split.aspxIntroductionPage split is important factor in analyzing how often a fragmentation occurs in转载 2016-08-26 10:19:10 · 535 阅读 · 0 评论 -
How to determine SQL Server database transaction log usage
原文链接:https://www.mssqltips.com/sqlservertip/1225/how-to-determine-sql-server-database-transaction-log-usage/ 作者:Greg Robidoux ProblemOne crucial aspect of all databases is the transaction log. The t转载 2016-08-13 14:41:05 · 952 阅读 · 0 评论 -
SQL Server服务器选型
目录目录SQL Server数据库服务器选项参考资料SQL Server数据库服务器选项衡量SQL Server数据库的性能指标可以转换到如下两个: 磁盘I/O CPU 那么选择一个合适的CPU即完成了大部分工作,在高可用的情况下,更多的是选择存储。因此这里描述如何正确选择SQL Server数据库服务器及CPU。对于SQL Server2012/2014/2016可参考如原创 2016-08-22 17:23:17 · 621 阅读 · 0 评论 -
Recommended Intel Xeon E5-2600 v4 Processors for SQL Server
原文链接:http://www.sqlskills.com/blogs/glenn/recommended-intel-xeon-e5-2600-v4-processors-for-sql-server/ 作者:Glenn BerryUpdated March 31, 2016: Today, Intel has released the fourth generation, 14nm Xeon转载 2016-08-22 15:56:35 · 674 阅读 · 0 评论 -
Recommended Intel Processors for SQL Server 2014
原文链接:http://sqlperformance.com/2015/03/system-configuration/recommended-cpus-sql-server-2014If you are tasked with evaluating and selecting the components for a brand new database server to run an OLTP转载 2016-08-22 15:42:55 · 637 阅读 · 0 评论 -
名词解释: amd64fre
目录目录名词解释amd64fre参考资料名词解释amd64fre对于SQL Server数据库服务器上线前的磁盘IO基准测试,微软推荐使用:Diskspd Utility,注意:原先的SQLIO工具已经过时但是Diskspd Utility下载后,有3个diskspd.exe。分别是: amd64fre armfre x86fre因此这里解释下amd64fre的含义。其中fr原创 2016-08-31 08:41:03 · 1741 阅读 · 0 评论 -
SQL Server删除/创建复制订阅失败,报15517错误
SQL Server 2008R2删除【本地发布】失败,报15517错误,可检查数据库属性,需设置数据库的所有者,如sa原创 2016-08-09 14:41:00 · 5164 阅读 · 0 评论 -
Differences between direct linked server query and using “OpenQuery”
Differences between direct linked server query and using “OpenQuery” 原文链接: https://social.msdn.microsoft.com/Forums/sqlserver/en-US/0e68f512-1e19-4c50-b343-219085d70076/differences-between-direct-lin转载 2016-08-19 13:00:06 · 428 阅读 · 0 评论 -
SQL Server服务器I/O问题的初步诊断
目录目录SQL Server服务器IO问题的初步诊断参考资料SQL Server服务器I/O问题的初步诊断由于SQL Server数据库是运行在操作系统之上的程序,因此对于I/O问题,可以从两个地方进行抓取:windows性能计数器(注:SQL Server2016已支持Linux上的运行)与SQL Server 动态管理视图--显示SQL server自上次启动以来所有被使用的数据库文件的延原创 2016-08-29 19:26:37 · 1241 阅读 · 0 评论 -
跟我一起学Microsoft SQL Server 2012 Internals(1.4)
目录目录正确认识SQL Server数据库引擎参考资料正确认识SQL Server数据库引擎SQL Server数据库引擎作为MS SQL Server套件中的核心程序,主要包含如下4个组件: 协议(protocol layer) 关系引擎(relational engine,即查询处理器query processor) 存储引擎(storage engine) SQLO原创 2016-03-14 12:39:32 · 805 阅读 · 1 评论 -
跟我一起学Microsoft SQL Server 2012 Internals(1.2)
目录目录正确安装SQL Server参考资料正确安装SQL ServerMS SQL Server安装包集成了很多组件,如SQL Server数据库引擎,reporting services。通常,我们只选择必要的几项。如使用数据库引擎,通常会勾选如下几项: 数据库引擎服务 SQL Server复制 全文搜索 客户端工具连接 管理工具-基本 管理工具-完整对原创 2016-03-12 19:38:49 · 925 阅读 · 1 评论 -
跟我一起学Microsoft SQL Server 2012 Internals(1.1)
目录目录正确查询SQL Server版本参考资料MS SQL Server是微软出品的企业级关系数据库软件,当前已发展至2016。然而大家从MS SQL Server 2000至今,一直对MS SQL Server数据引擎存在很多理解误区,尤其是不少开发人员与DBA未能正确的使用MS SQL Server。本系列文章将通过学习《Microsoft SQL Server 2012 Interna原创 2016-03-11 14:28:20 · 1171 阅读 · 1 评论 -
正确使用SQL Server 2012中的SEQUENCE
目录目录SQL Server中的SEQUENCESEQUENCE的正确使用参考资料我们知道在oracle中可方便的使用序列,即SEQUENCE,但是SQL Server直到2012才引入SEQUENCE。在SQL Server 2008中只有identity,但这并不能满足我们的需求。本文将介绍 SQL Server 2012中的SEQUENCE的正确使用。SQL Server中的SEQUE原创 2016-02-25 11:13:16 · 13710 阅读 · 0 评论 -
Tuning options for SQL Server when running in high performance workloads
原文链接:https://support.microsoft.com/en-us/kb/920093ContentsThis article describes various trace flags as tuning options in Microsoft SQL Server 2005 and SQL Server 2008. You can use these trace flags to improv转载 2016-01-29 08:44:08 · 874 阅读 · 0 评论 -
正确认识SQL Server中的模糊查询LIKE
SQL Server中的模糊查询LIKELIKE语句的匹配格式及正确使用参考资料SQL Server中的模糊查询LIKE在SQL Server中,当我们想实现模糊查询时,可能我们首先想到的是使用LIKE语句,其次是使用全文搜索(即Full-Text Search),如下所示是通过LIKE语句对表Person.EmailAddress中的EmailAddress字段进行模糊查询:--使原创 2016-02-05 18:38:04 · 8010 阅读 · 2 评论 -
认识SQL Server的虚影行(Ghost record)
目录目录什么是SQL Server的虚影行认识并维护虚影行虚影行存在的坏处参考资料什么是SQL Server的虚影行在SQL Server中,为了加快数据的删除与数据删除后的回滚操作,对含有索引的表引入了数据的逻辑删除,即数据先被标记为删除,再进行物理删除。这些被标记删除,而还未执行物理删除的记录行,则被称为虚影行,即ghost record(又被称为ghost row) Row in原创 2016-01-28 20:20:08 · 964 阅读 · 0 评论 -
在线更新SQL Server千万级记录的大表
某表含有2000万+记录行,80+字段,10+索引,单表含索引数据达27GB由于业务变动,导致此表中的3个字段值需进行变更,即--更新3个字段UPDATE big_table SET PA = 'N', PB = 'N', PC = 'N'经测试,停机执行上述SQL语句需80分钟,但业务要求只能停机10分钟。原创 2016-02-03 20:48:26 · 6259 阅读 · 0 评论 -
重新理解SQL Server的聚集索引表与堆表
简述SQL Server表的类型由于当前关系型数据库(RDBMS)种类繁多,存在对标准SQL(结构化查询语言)实现上存在差异,对表、索引的实现也各有不同,造成了大家对很多概念在理解上形成了误导。如下将描述MS SQL Server的聚集索引表与堆表,以便大家重新理解。SQL Server只存在2种表: 聚集索引表(Clustered table) 堆表(Heap)简单的说,含有聚集索引(原创 2016-01-22 10:07:40 · 3977 阅读 · 0 评论 -
通过系统存储过程手动执行SQL Server中的Job
系统存储过程sp_start_job若想通过SQL脚本手动执行SQL Server agent中的Job(作业任务),则可使用系统存储过程sp_start_job。如下是通过Job名字进行执行:--执行名称为syspolicy_purge_history的JobUSE msdb ;GOEXEC dbo.sp_start_job N'syspolicy_purge_history'原创 2016-01-27 09:32:28 · 4039 阅读 · 1 评论 -
Performance Comparison - Identity() x NewId() x NewSequentialId
原文链接:http://www.codeproject.com/Articles/32597/Performance-Comparison-Identity-x-NewId-x-NewSeque AgileWare, 16 Jan 2009 IntroductionThe NEWSEQUENTIALID system function is an addition to SQL Server 20转载 2016-01-25 19:05:08 · 715 阅读 · 0 评论 -
SQL Server中的四舍五入函数ROUND
通过函数ROUND四舍五入在SQL Server中,若想完成四舍五入,可使用函数ROUND。如下对ROUND的使用做简单演示。保留2位小数,对第3位做四舍五入处理(注意最后一位数字:4或5)--保留2位小数,并对第3位小数四舍五入SELECT ROUND(123.005, 2), ROUND(123.004, 2)四舍五入后,补全小数位:--对小数第3位进行四舍五入,并补全小数位原创 2016-01-25 11:20:01 · 26519 阅读 · 0 评论 -
正确使用SQL Server中的count()函数
count()函数的正确使用count()函数用于统计SQL Server表中的记录行。但是当表中存在NULL的内容时,那么如下3种写法的结果将不一样: select count(*) select count(1) select count(列名)我们创建一个表,然后循环插入5000条记录,并做查询对比--创建一个test表CREATE TABLE test ( id原创 2016-01-22 08:10:03 · 6271 阅读 · 0 评论 -
修改SQL Server的TEMPDB路径(含修改失败后,修复SQL Server)
SQL Server的TEMPDB默认存放在数据库安装路径,根据SQL Server性能或使用的需要,我们可能会需要移动TEMPDB存放的路径。如下是描述如何移动TEMPDB及移动失败后,如何修复启动SQL server移动TEMPDB路径打开SSMS(即SQL Server Management Studio),并运行如下代码:use tempdbgo--查原创 2016-01-21 16:09:06 · 5949 阅读 · 5 评论