随笔分类 - DB:Sql Server
摘要:原文:http://msdn.microsoft.com/en-us/library/ms179355(SQL.90).aspx检查点在数据库中的执行过程:在日志文件中写入LOP_BEGIN_CKPT表示checkpoint开始、记录MinLSN,MinLSN=min(LSN of the start of the checkpoint,LSN of the start of the oldest active transaction)如果数据库使用的是简单恢复模式,则截断(truncate)MinLSN之前的所有VLFs。如果是完整恢复或者是大容量日志模式,不会截断任何事务日志。将dirty
阅读全文
摘要:官方原文:http://msdn.microsoft.com/en-us/library/ms179355(SQL.90).aspxThe transaction log in a database maps over one or more physical files. Conceptually, the log file is a string of log records(一串日志记录). Physically, the sequence of log records is stored efficiently in the set of physical files that imp
阅读全文
摘要:引用:http://msdn.microsoft.com/en-us/library/ms180892(SQL.90).aspx The SQL Server 2005 transaction log operates logically as if the transaction log is a string of log records. Each log record is identified by a log sequence number (LSN). Each new log record is written to the logical end of the log wi.
阅读全文
摘要:引用:http://msdn.microsoft.com/en-us/library/ms186259(SQL.90).aspx最近在学习sql server事务日志的东西,知道现在大部分数据库都支持先写log再写数据的策略,也就是保证数据不先于日志写入磁盘。我们将这样的日志叫做Write-Ahead Transaction Log。Write-Ahead Transaction Log的完整解释可以在MSDN上找打,写的非常详细,也很透彻,不难懂,我把这部分内容摘录下来。Write-Ahead Transaction Log的解释SQL Server 2005 uses a write-ah
阅读全文
摘要:前言在前篇的一篇博客Sql Server中的表组织和索引组织(聚集索引结构,非聚集索引结构,堆结构)中写到了数据中表和索引的结构。当时在写聚集索引的时候说聚集索引的叶子节点就是真实的数据,而非聚集索引的叶子节点是指针,要么指向聚集索引,要么指向行号。当时就在考虑一个,如果索引都带真实数据了,那么到底是索引大还是表呢呢?今天在msdn上查到了如何估算数据库的大小,其中在估算表的大小时,给出了如下说明:可以使用下列步骤估计在表中存储数据所需的空间:按照估计堆的大小或估计聚集索引的大小中的说明计算堆或聚集索引所需的空间。对于每个非聚集索引,按照估计非聚集索引的大小中的说明计算其所需的空间。对步骤 1
阅读全文
摘要:活动事务日志所谓活动事务日志,就是所有没有提交的事务所产生的日志记录,以及在它们之后的所有日志记录。如果一个事务还没有提交,那它可以在任何时候回滚。SQL Server必须做好这种准备,以便能够从日志记录中找回修改前的数据内容,完成回滚。在SQL Server里面,所有的日志记录都有严格顺序,中间不可以有任何跳跃。所以如果某个数据库有没有提交的事务,SQL Server会标记所有从这个事务开始的日志记录(不管和这个事务有没有关系)为活动事务日志 。这些日志记录都有可能“需要”被用来做回滚。事务的提交与回滚事务在提交前,所有的操作都是在虚拟的环境中进行的,事务提交时才将事务进行的所有修改更新到数
阅读全文
摘要:Question:What is Collation? How it will affect SQL Server database, and server?Answer:字符的存储 在将collation之前,我们首先需要知道字符是如何被存储的。在计算机中,所有数据都是用0和1这样的位来描述。一个字节有8位,因此一个字节最多可以描述256个字符。在欧美国家,比如美国,他们的文字字符主要就是26个字母加上一些特殊符号(+-*/等),用一个字节就可以存储,一个国家使用的所有字符就是一个code page,用一个字节存储字符的code page 叫做single-byte code page。但是
阅读全文
摘要:参考文献:http://www.cnblogs.com/mekong/archive/2009/04/17/1437996.htmlhttp://msdn.microsoft.com/en-us/library/ms186939.aspx前言这几天在查阅sql server collation的问题,这其中就牵涉到了unicode,non-unicode,varchar,nvarchar,ANSI等字符编码的问题。首先我们讲解一些基础背景知识定长或变长所谓定长就是长度固定的,当输入的数据长度没有达到指定的长度时将自动以英文空格在其后面填充,使长度达到相应的长度;有var前缀的,表示是实际存储空
阅读全文
摘要:0.参考文献[1]SQL Server的还原(2)——STOPAT[2]SQL Server的还原[3]恢复到日志序列号 (SQL Server)1.日志序列号的概述事务日志中的每个记录都由一个日志序列号 (LSN) 唯一标识。并且LSN是有序的,后发生的日志其LSN肯定大于早发生的日志。2.还原到 LSN 的 Transact-SQL 语法通过使用RESTORE语句,可以在 LSN 处或刚好在 LSN 之前停止,如下所示:使用 WITH STOPATMARK='lsn:<lsn_number>'子句,其中 lsn:<lsnNumber>是一个字符串,它
阅读全文
摘要:参考文献[1]SQL Server的还原[2]如何还原到某个时间点 (Transact-SQL)数据库备份在参考1中我们提到了sqlserver中数据库还原的操作,但是没有提到数据库还原中一个很有用的关键字STOPAT。下面我们就来讨论如何使用STOPAT关键字来还原数据库。--开始:实验4:使用STOPAT关键字来还原数据-------------------------------------step1:创建备份设备EXEC sp_addumpdevice 'disk', 'TESTDB2Backups', 'd:\backup\TESTDB2Bac
阅读全文
摘要:参考文献表和索引数据结构体系结构SqlServer存储结构组织其分区中的数据或索引页漫谈数据库索引正文SqlServer用三种方法来组织其分区中的数据或索引页:1、聚集索引结构聚集索引是按B树结构进行组织的,B树中的每一页称为一个索引节点。每个索引行包含一个键值和一个指针。指针指向B树上的某一中间级页(比如根节点指向中间级节点中的索引页)或叶级索引中的某个数据行(比如中间级索引页中的某个索引行指向叶子节点中的数据页)。每级索引中的页均被链接在双向链接列表中。数据链内的页和行将按聚集索引键值进行排序,聚集索引保证了表格的数据按照索引行的顺序排列;补充(PS:2012-7-9)从上图可以看出,聚集
阅读全文
摘要:0.参考文献Table Scan, Index Scan, Index SeekSQL SERVER – Index Seek vs. Index Scan – Diffefence and Usage – A Simple Noteoracle表访问方式Index Seek和Index Scan的区别以及适用情况1.oracle中的表访问方式在oracle中有表访问方式的说法,访问表中的数据主要通过三种方式进行访问:全表扫描(full table scan),直接访问数据页,查找满足条件的数据通过rowid扫描(table access by rowid),如果知道数据的rowid,那么直接
阅读全文
摘要:在oracle中,我们要查看查询统计信息,我们可以设计autotrace,可以参考设置SQL*PLUS的AUTOTRACE,那么在sqlserver中如何设置呢?在sqlserver中也有统计信息,主要有statistics time和statistics io,比如我们执行如下查询,set statistics time onset statistics io onselect * from Sales.Ordersset statistics time offset statistics io off在MESSAGE标签中我们可以查看到一下一下信息SQL Server parse and
阅读全文
摘要:要使用sharepoint开发一个项目,下载sharepoint server 2010并安装,我的开发环境是win 7(x64),因此需要进行特定的设置才可以安装,可以参考将Sharepoint Server 2010部署到WINDOWS 7,而更加具体的sharepoint安装,包括数据库连接配置可以参考SharePoint 2010安装配置详解。 参考上述文章进行安装都很顺利,但是在最后进行配置的时候出现错误,错误内容如下:Failed to create a database.An exception of type System.Data.SqlClient.SqlExcept...
阅读全文
摘要:参考文献:http://www.cnblogs.com/xianspace/archive/2009/04/05/1429835.html前言今天在安装sqlserver2008 r2的时候,在Server Configuration阶段要求我设定sqlserver中各种服务的账户名称,如下图所示:账户类型可以在后期修改,改的就是服务中的log on as里面的属性。那么Local system/Network service/Local Service这三种账户有什么区别呢?LocalSystem 账户LocalSystem是预设的拥有本机所有权限的本地账户,这个账户跟通常的用户账户没有任.
阅读全文
摘要:参考文献:http://hi.baidu.com/baootong/blog/item/36f0a1229d7410be4723e824.html1、服务中服务名称的区别:默认实例:MSSQLSERVER;命名实例:实列名为:benet,在服务中的名称是:MSSQL$BENET; 注:如果你有多个实例的时候会在服务中出现多个服务名称,一个实例对应一个服务。2、连接到查询分析器或探查器的连接字符串的区别:默认实例可以使用:“.”(点)、“(local)”、“计算机名称”实例名称:计算机名:pcname,实例名:benet,连接时使用的名称是:pcname\benet3、端口区别默认实例:1433
阅读全文
摘要:问题在学习sql server 索引的时候,发现找到的很多资料都用的是一个Credit的数据,但是我不知道Credit数据库是从哪里来的。后来在聚集索引与非聚集索引详解这篇文章中找到了如下信息:USE CREDIT go -- These samples use the Credit database. You can download and restore the -- credit database from here: -- http://www.sqlskills.com/resources/conferences/CreditBackup80.zip -- NO...
阅读全文
摘要:参考文献SQL Server dump 介绍前言之前听同事们之间交流经常会听到dump这个词,但是一直不明白dump是什么东西,今天特地整理一下这方面的资料。我们称dump为转储,但这边我们说的dump不是SQL Server本身的DUMP备份命令,而是指通过sqldumper.exe中的dump。那什么是dump呢,dump指的是将某种内容转换为另外一种更具可读性的方式。在ORACLE中,有专门的dump命令可以dump出数据文件等的内容,其trace也相当于另外一种dump。通过dump,我们便可以了解整个系统的运行原理。SQL Server这方面的资料很少,当然,这也符合了微软不开源的策
阅读全文
摘要:0.参考文献:SQL Server Service Broker MSDN文档总览SQL Server 2005 Service Broker 初探Servic Broker对话会话1.Service Broker 编程Service Broker 功能通过 SQL Server 中的新对象启用,这些新对象可以由一组 T-SQL 扩展来创建和操作。为了数据库程序员的方便,使用了他们熟悉的用于配置其他数据库对象的 CREATE、ALTER 和 DROP DDL 语句来配置 Service Broker 应用程序。用于创建 Service Broker 对话以及在对话中发送和接收消息的命令是 Tr
阅读全文
摘要:1.差异备份的还原不备份结尾日志的情况下还原数据创建差异备份的放在我们已经在前面一篇博客SQL Server的备份中提到了,这里我们不再赘述,下面我们给出差异备份与还原的T-SQL方法,代码如下:--创建备份设备EXEC sp_addumpdevice 'disk', 'MyAdvWorks_1', 'd:\backup\MyAdvWorks_1.bak';EXEC sp_addumpdevice 'disk', 'MyAdvWorks_diff1', 'd:\backup\MyAdvWorks_diff1
阅读全文