08 2012 档案
摘要:0.参考文献:SQL SERVER 分区表的总结SQL Server 2005 分区表实践——建立分区表(partition table)SQL Server中数据库文件的存放方式,文件和文件组(from CareySon)T-SQL查询进阶--理解SQL SERVER中的分区表(fromCareySon)1.基础知识一直对于表分区和filegroup的概念不是很清晰,今天通过具体的实例来学习什么事filegroup和partition,以及他们的作用。1.1通过文件组来管理文件的特性对于用户角度来说,需对创建的对象指定存储的文件组只有三种数据对象:表,索引和大对象(LOB)使用文件组可以隔离
阅读全文
摘要:0.参考文献Microsoft SQL Server企业级平台管理实践第11章Buffer Latch Timeout的解析什么是PAGELATCH和PAGEIOLATCH1.PAGELATCH_x和PAGEIOLATCH_x介绍在分析SQL server性能的时候你可能经常看到PAGELATCH和PAGEIOLATCH。比方说执行如下TSQL语句Select * from sys.dm_os_wait_stats它输出结果里面就有Latch的有关信息,如下图所示:1.1什么是LATCH呢?Latch是SQL server内部用来同步资源访问的一个数据结构,和操作系统的critical sec
阅读全文
摘要:参考文献Monitoring with SQL ProfilerReadTrace在sql server中有一个profiler的工具用于追踪sql server的执行过程,可以监控sql server的的所有过程。假如我们使用SSMS来操作sql server,那么在profiler中反映的就是ssms这个图形界面所对应的命令。我们在troubleshooting的时候一般都要求客户抓取这个profiler最终的trace文件,该文件名后缀是.trc。但是我们得到的这个trace文件可能很大,往往有几万甚至几十万条记录,那么我们如何来分析这个trace呢?这个时候我们就需要引入一些工具,在这
阅读全文
摘要:参考文献:Microsoft NTLMKerberos连接过程正文NTLM有Interactive和Noninteractive两种,Interactive就是用户登录类型的,只有client和DC两个参与者,而Noninteractive则是Client要去连接一个Server。在Microsoft NTLM给出了NTLM的Noninteractive验证过程,有如下7步过程:(Interactive authentication only) A user accesses a client computer and provides a domain name, user name, an
阅读全文
摘要:参考文献:netmon中解析非1433端口的TDS协议TDS的解析在前面一篇博客netmon中解析非1433端口的TDS协议中我们提到了netmon如何去解析非1433端口的TDS。我们是通过在tcp.npl这个文件中添加命名实例的tcp端口号,让该端口的tcp包跳转到tds.npl中去解析。下面我们来看一下tds.npl中有哪些内容呢?首先我看到在tds.npl中定义了一个TDSPacketTypeTable:View Code Table TDSPacketTypeTable( value ){ switch( value ) { case 0x01: "SQLB...
阅读全文
摘要:参考文献:How to enable TDS parser to display TDS frames when SQLServer is listening on port other than default 1433正文如果你使用netmon3.4抓sql server网络包的话,在协议中你会发现有各种类型的协议,常见的由TCP/TDS/TLS等。如下图所示:但是,之所以我们能够抓到TDS协议,是因为我们连接的是默认实例,其端口号是1433。如果我们连接的是命名实例,端口号不再是1433了,那么我们就抓不到TDS协议了,如下图所示:在上图中我们已经找不到prelogin,response
阅读全文
摘要:打开目录C:\Windows\Microsoft.NET\Framework,查看都安装了那些版本的.net framework,我的如下图所示:从上图中我们看出我已经安装了.net framework 4.0了
阅读全文
摘要:0.参考文献:SQL Server BCP使用小结bcp Utility某社区600万用户数据导入MYSQL、MSSQL、Oracle数据库方法SELECT INTO 和 INSERT INTO SELECT 两种表复制语句1.bcp命令参数解析bcp命令有许多参数,下面给出bcp命令参数的简要解析用法: bcp {dbtable | query} {in | out | queryout | format} 数据文件 [-m 最大错误数] [-f 格式化文件] [-e 错误文件] [-F 首行] [-L 末行] ...
阅读全文
摘要:参考文献:How the Kerberos Version 5 Authentication Protocol Works: Logon and AuthenticationSQL Kerberos的原理及实验SQL Server配置delegation实现double-hop前言之前写过两篇关于kerberos的博客,但是对于kerberos的验证过程还不够透彻,现在来详细讲解kerberos的验证过程。1.Kerberos Exchange and Message Summary常见的windows验证有NTLM和kerberos两种,而本文的主题就是讲解kerberos连接过程。kerb
阅读全文
摘要:参考文献:细说SQL Server中的加密Transparent Data Encryption (TDE)Database Encryption Key (DEK) managementSQL Server中的加密简介 在SQL Server2000和以前的版本,是不支持加密的。所有的加密操作都需要在程序中完成。这导致一个问题,数据库中加密的数据仅仅是对某一特定程序有意义,而另外的程序如果没有对应的解密算法,则数据变得毫无意义。举个例子来说,我以前写过一个web应用程序(参考博客:自定义SqlMembershipProvider方法),想让用户信息中的密码字段用密文保存,我是在程序中将用户.
阅读全文
摘要:参考文献:T-SQL查询进阶—理解SQL Server中的锁
阅读全文
摘要:参考文献:1.Backup-SPSite2.Restore-SPSite3.SharePoint 2010 网站集 备份 还原备份如果要备份site collection,那么我们就要使用sharepoint的management shell这个命令行,而不是我们平时使用的cmd。备份使用Backup-SPSite这个命令,具体的参数可以参考文献1。我对自己的site collection的备份命令是:backup-spsite -identity http://spserver -Path c:\backup\a.bak -force还原还原的命令跟备份的命令差不多,我的还原命令是:rest
阅读全文
摘要:参考文献:SQL Server Configuration Manager – Cannot connect to WMI provider – Invalid class [0x80041010]正文启动sql server configuration manager的时候报错:Cannot connect to WMI provider. You do not have permission or the server is unreachable. Note that you can only manage SQL Server 2005 and later servers with S
阅读全文
摘要:参考文献http://nishantrana.wordpress.com/2011/03/14/%E2%80%9Cthe-password-supplied-with-the-username-administrator-was-not-correct-verify-that-it-was-entered-correctly-and-try-again%E2%80%9D-error-while-creating-web-application-in-sharepoint-2010/问题在sharepoint central administration中通过Configuration Wiza
阅读全文
摘要:我本来是想改sharepoint的的URL的,因为URL就是主机名,所以我想改主机名以后是不是就可以自动更改URL了。但是后来发现这个想法是很愚蠢的,也很幼稚。当我更改主机名以后,再去用新的主机名去连接sharepoint站点,出现错误:cannot connect to the configuration database。我就使用sharepoint 2010 product configuration wizard重新配置,首先断开连接,然后connect已有的sharepoint farm,连接到本地数据库服务器,找到sharepoint_config数据库,重新配置成功。这时再去连接
阅读全文
摘要:如果要在windows7下面安装sharepoint的话,那么参考:将Sharepoint Server 2010部署到WINDOWS 7如果是在windows server 2008下安装的话,可以参考:史上最详细SharePoint 2010安装步骤图解新手教程,SharePoint 2010安装配置详解安装sharepoint的先决条件有很多。.net framework 4.0Windows identity foundation,我现在的是x64的6.1版本Chart ControlFilter Pack,在这在安装文件中有,如我的就放在SharePoint_Server_2010\
阅读全文
摘要:参考文献SQL Kerberos的原理及实验SQL Server native client与sqlcmd单独安装前言在上一篇博客SQL Kerberos的原理及实验中讲到了windows验证的两种模式分别是NTLM和Kerberos,那么他们有何区别,在功能上又有何不同。NTLM是一种比较简单的方法,能够在大部分情况下完成任务。但是它只能完成单跃点认证(只有一个客户端和一个SQL Server服务器)。有些情况下有双跃点(double hop)甚至多跃点的认证需求,这时候就需要用到Kerberos技术。例如,一个用户利用IE浏览器访问有数据库连接脚本的网页,连接配置为使用它自己的Window
阅读全文
摘要:参考文献Microsoft SQL Server企业级平台管理实践Kerberos ExplainedKerberos (protocol)wiki正文这一周一直在研究kerberos的原理,并做了一些实验,现在做一下总结。首先我们要知道,SQL Server中的验证机制。SQL Server有两种验证机制,一种是windows验证,还有一种是SQL Server验证,这也就对应了两种用户类型,即SQL Server自己的用户账号和Windows用户账号。对于SQL Server账号,SQL Server会对用户发过来的用户名与密码进行核对(比如我们安装数据库是自动创建的sa账号就是sql s
阅读全文
摘要:背景我有一台虚拟机,想要连接sql server,但是又不想安装sql server怎么办。方案sql server有专门的访问客户端叫做sql server native client,然后还有一个命令行连接程序sqlcmd,其中sqlcmd依赖于sql server native client。这两者可以在Microsoft® SQL Server® 2008 R2 功能包下载到。Microsoft® SQL Server® 2008 R2 Native ClientMicrosoft SQL Server 2008 R2 Native Client
阅读全文
摘要:创建域首先是如何创建域,我是参考了一下这篇文章。Step By Step Guide for Windows Server 2008 Domain Controller and DNS Server Setup这篇文章里面的步骤很详细,不过我需要补充我安装过程中的几点内容:创建域的最简单方法就是使用dcpromo这个命令,意思就是domain controller promote,将一台机器升级为DC安装开始阶段的时候没有选择“Use Advanced mode installation”,选择了这一个的话那么后面会让你填写netbios。Netbios的作用就是域名的缩写。比如我创建的域叫做
阅读全文
摘要:前言想在自己的windows7系统上搭建hyper-v来创建虚拟机,因为公司有许多现成的VHD文件,直接加载就可以,看同事们都是那么做的。但是后来发现windows7下找不到任何关于hyper-v的程序,在网上找到了这篇文章:INSTALLING HYPER-V MANAGER ON WINDOWS 7按照文中提示我下载了那个补丁并安装,安装过程持续一个多小时,我看完两集big bang才见到这个补丁安装好,在程序中添加hyper-v功能,这样我就能在管理工具中找到“hyper-v管理器”。但是,这只是一个hyper-v管理器而已,是用来连接到其他服务器的,不能在windows7 localh
阅读全文
摘要:之前写过一篇博客数据库连接池分析分析了,通过代码来分析数据库连接池的作用。这里要搞清楚一个概念,数据库连接池并不是数据库服务的内容,而是客户端应用程序创建的一种应用架构。所以我们在数据库服务器上找不到什么开启数据库连接池的选项。接下来将开启与不开启数据库连接池的区别。使用数据库连接池View Code using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Data.SqlClient;namespace ConnectionPool{ class Pro...
阅读全文
摘要:参考文献:Sql Server的JDBC测试程序与远程连接前言:之前写过一篇博客:Sql Server的JDBC测试程序与远程连接,现在来讲讲在.net 平台下如何连接sql server数据库。有多种方式可以连接数据库,分别是ODBC,OLEDB,ADO,ADO.NET。每一种连接所使用的驱动程序以及连接字符串都不相同,具体如何写数据库连接字符串可以参考这个网站http://www.connectionstrings.com/。上面列出了大多数数据源的数据库连接字符串。ADO.NET首先我们将如何使用ado.net来连接数据库,这也是使用最频繁的方法了。参考程序如下:View Code us
阅读全文
摘要:之前在sql server configuration manager中的native client 11.0 configuration中设置client protocol的keep alive的时间的时候,发现并不起作用,我即使将keep alive的时间从默认的30000ms改成了25000ms,但是我用netmon测试的时候发现每一次客户端的keepalive还是没30秒发送一次。当时以为我改了sql server configuration manager中的keepalive,但是没有修改相应的注册表,所以我去注册表下查看相应的内容,keepalive所对应的注册表键值如下:HKE
阅读全文
摘要:背景:今天在做keepalive的实验,设法模拟keepalive不成功的场景,从而达到“the local TCP will keep sending “Keep Alive” packet in an interval of KeepAliveInterval for TcpMaxDataRetransmissions times.”的目的。但是通过:stop sqlserver服务,tcp\ip能够检测到服务断开,因此在netmon中可以看到最后一条信息是服务器端发给客户端的的keepalive,scale factor=0。pause sqlserver服务,keepalive继续进行
阅读全文