自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Kevin's Blog SQL讨论群21426959 Dynamics AX 438084988

技术是靠累计的,每天记录一点。 关注数据库,BI,大树据,移动开发,云技术

  • 博客(51)
  • 资源 (12)
  • 收藏
  • 关注

原创 ISDATE函数对于1753年之前的日期都返回0

今天看到一个帖子,将1753年之前的一个日期用ISDATE函数会返回0,自己也做了多个测试,发现确实如此: declare @date asdate set @date =convert(date,'17000101') print @date  --可以转化为Date类型 print ISDATE('17000101') 结果确实返回0: 1700

2012-08-31 23:17:59 2158 1

原创 使用SQLIO评估数据库磁盘性能

对于DBA来说,安装SQLServer之前先要了解磁盘的性能,这个很重要。微软提供了SQLIO可以帮助我们在系统安装之前评估磁盘的性能。 1.  下载SQLIO并安装 http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=20163 2.修改SQLIO’s 配置文件  如果直接启动SQLI

2012-08-31 11:40:01 3810 1

原创 你使用DBA数据库吗?

曾经看到一篇文章,对于DBA来说应该创建自己的专门数据库,这个数据库存储的是DBA进行数据库维护调优的脚本或者配置信息,而且这个数据库只开放给SYSADMIN访问,普通用户无法访问。 我也是这个做法,在每个单独的Instance上面创建一个单独的数据库给DBA使用。在这个数据库存储对数据库管理或者调优的相的脚本包括存储过程,View 等等。当发现服务器出现问题的时候,只要打开自己的DBA数

2012-08-30 14:26:25 1314

原创 Error: 17172, Severity: 16 SNIInitialize() failed with error 0x2.

为了安装SCCM 2012,今天将测试数据库升级到SQL Server 2008 SP3 + CU4, 但是改为端口后发现Servcie无法启动。 从SQL Server errorlog中看到下面的错误信息: Error: 17172, Severity: 16, State: 1.SNIInitialize() failed with error 0x2.SQL

2012-08-29 15:32:27 2556

原创 WM Workstation 8创建SQL Server 2012 集群(cluster) Part2

在Part1中我们需要创建Cluster的资源都已经准备好了,下面创建windows Cluster并且安装SQL Server 2012 . 1.  创建Windows Cluster  输入要加入Cluster的机器名: 验证Cluster配置:  如果发现有问题的可以点开看里边具体的错误修正后重新运行验证。输入Clust

2012-08-27 20:22:16 2975

原创 WM Workstation 8创建SQL Server 2012 集群(cluster) Part1

SQL Server提供了集群的高可用性,但是因为硬件的要求比较高,所以一般我们很难找到物理机做测试,不过我们可以使用VMWorkstation模拟硬件从而安装SQLServer集群。 由于安装DC和配置网卡都比较容易实现,所以这里我就不提了,网上可以找到很多资料。下面主要是创建共享磁盘到安装SQLServer 2012 Cluster的过程. 服务器列表:

2012-08-27 17:03:18 4154

原创 SQL Server 2012 使用OFFSET FETCH轻松实现分页

SQL Server 2012中提供了新的T-SQL(OFFSETFETCH)可以让我们更方便的实现分页功能。  先看一下以前是如何实现分页的: ----使用ROW_NUMBER() CTE查找第一页20行记录WITH Paging AS(SELECT       TransactionID       , ProductID       , Trans

2012-08-23 11:57:25 1972

翻译 使用VM Workstation8 创建共享磁盘

今天准备测试SQL Server 2012 Cluster的功能,但是Cluster需要共享磁盘。按照以前在VM7中的方法增加磁盘然后修改都失败了,后来看到网上用iSCSI Software Initiator模拟共享磁盘的。测试下来完全没有问题,今天把这篇文章转载过来跟大家分享。 Creating a SQL Server Failover Cluster in virtual mach

2012-08-22 15:58:51 2351

转载 SQL Server 密码丢失如何重置

如果你WINDOWS密码和SQL Server密码都忘记了,无法连接到SQL Server,有没有办法可以恢复密码呢?答案是将数据单用户模式启动,用Windows Local administrator连接到SQL Server,然后重置密码。 You may have faced the issue of losing the SQL Server SA password. Perh

2012-08-22 10:50:37 3261

原创 初探SQL Server 2012 包含数据库

SQL Server将认证和授权分散给了不同的对象来完成。SQL Server的“登录名”用于认证,连接SQL Server的Windows账号或账号所在的组必须在SQL Server中有对应的登录名才能成功登录到SQL Server上。而每个数据库中的“用户”被授予了操作数据库中对象的相应权限。登录名和用户之间通过SID联系起来。每个登录名在master数据库中都记录有该登录名所对应的SID。而

2012-08-22 10:25:38 1645

翻译 SQL Server 2008和2008 R2评估版过期的解决办法

今天在论坛看到有人遇到评估版本过期的问题,正好以前自己碰到过,所以把网上解决这个问题的步骤发出来供大家参考。 (不需要卸载重装,只需要做版本升级) 原文来自:http://www.sqlcoffee.com/Troubleshooting073.htmApplies to: Microsoft SQL Server 2008, Microsoft SQL Server 2008 R2.

2012-08-21 21:25:53 9477

原创 Msg 3059 This BACKUP or RESTORE command is not supported on a database mirror or secondary replica

配置好 2012 AlwaysOn High availability Group就想体验一下在辅助数据库做备份的新功能。在辅助服务器备份,这样可以减轻主服务器的负载(非常好的一项改进,以前Databasemirroring辅助数据库是不可以访问的)。  但是备份的时候却报错: Backup databasetesttodisk='c:\test.bak' Msg 30

2012-08-21 16:56:50 3352 1

原创 SQL Server Always on Listener 配置和作用

在SQLServer 2012 Always On中我们可以通过创建一个可用性组侦听器来提供到给定可用性组的数据库的客户端连接。可用性组侦听器是一个虚拟网络名称 (VNN),客户端可连接到此名称以访问 AlwaysOn 可用性组的主副本或辅助副本中的数据库。可用性组侦听器使客户端无需知道它要连接到的 SQL Server物理实例的名称,即可连接到某个可用性副本(相当于SQLServer集群的V

2012-08-21 15:00:30 3982

原创 使用XML Schema验证XML数据输入

现在XML使用的越来越多,在SQL Server表中我们可以创建XML列存储数据。 昨天在论坛看到有人说创建了一个存储过程处理XML,但是插入目标表的时候报错,而报的错误不详细。 其实这个问题的根本原因是XML的数据有问题,应该在插入的时候对输入的数据进行验证(对于用户输入的数据一定要做验证)。 其实SQL Server已经提供了XML Schema验证,下面我们看一个例子: --

2012-08-21 13:45:50 1284

翻译 SQL Server 2008 R2 系统配置检查器的检查参数和妨碍性问题的解决办法

在安装SQL Server的时候经常会遇到安装失败,这是很伤脑筋的事情,花费很多时间和精力也不一定能够解决。 针对于规则检查导致的安装错误,如果有一份列表能够说明规则以及解决办法将会给我们提高极大的帮助。微软其实已经帮助我们提供了类似的文档。 安装操作完成之前,SQL Server 安装程序会验证您的计算机配置。下表描述了系统配置检查器的检查参数和妨碍性问题的解决办法。

2012-08-20 20:47:36 5279

原创 SQL Server 2012 Always on Availability Groups安装Step by step 3

可用性组我们已经创建成功了,现在测试一下Node2 上读取数据以及Failover.  1.  数据测据:Node1上创建表test插入记录       在Node2上访问test数据库,数据可以查到(在Mirror中是不可以查询的,而且数据同步不会导致Node2的连接断掉): 2.  Failover测试: 连接到Node2:

2012-08-20 15:34:16 7118 17

原创 SQL Server 2012 Always on Availability Groups安装Step by step 2

Part1中我们已经配置了Cluster,Part2 我们安装SQL Server 2012 评估版(要使用64位的SQLServer, X86不支持Always On)并且配置Alaways On Group. 1.  以管理员身份安装           2.选择单机安装(不是集群安装)   3.SQL Server 2012的新功能,可以在安装的时候搜索最

2012-08-20 15:34:12 9087 2

原创 SQL Server 2012 Always on Availability Groups安装Step by step 1

SQLServer 2012 Always on是针对高可用性和灾难恢复的新解决方案。可以配置一个或多个辅助副本以支持对辅助数据库进行只读访问,并且可以将任何辅助副本配置为允许对辅助数据库进行备份。 这样就提供了硬件的使用效率。  “可用性组”针对一组离散的用户数据库(称为“可用性数据库”,它们共同实现故障转移)支持故障转移环境。一个可用性组支持一组主数据库以及一至四组对应的辅助数据库。可

2012-08-20 15:33:47 13462 9

原创 一条语句将字段中的多个空格变成一个空格

这里先产生一些测试数据,前后中间都有多个空格: DECLARE @test TABLE(stringVARCHAR(8000)) INSERT INTO @test(string) SELECT N'  做   个  测试 'UNIONALL  SELECT  N' OK   '  --第一步是将左右的空格去掉--第二不是将空格替换成空格加特殊字符,这里我是用c

2012-08-18 14:52:24 3087

原创 几个有用的DBCC 命令

--file headerpages (存储了文件的元数据信息,如果损坏没办法修复) DBCC FILEHEADER('database', 1); --查看Boot Page信息(page 9是boot page,如果损坏没办法修复) DBCC TRACEON(3604);GODBCC PAGE(DBA, 1, 9, 3);GODBCC TRACEOFF(

2012-08-18 09:54:42 1069

翻译 你需要差异备份吗?

通过下面的脚本可以计算出数据库从上次完整备份之数据的更改率,在Pual之前还没有人写过类似的代码。 根据运行的结果,我们可以知道数据库的数据自上次完整备份之后的数据修改程度,如果更概率非常大的情况下,我们可以直接选择完整备份,而省掉差异备份,如果更改率非常小则可以选择差异备份。(当然如果数据库小的话即使数据更改很小也不需要差异备份) 即使不需要调整你的备份计划你也可以对数据库的状况

2012-08-18 09:49:06 1427

原创 一条语句将一个字段数据换转成一个字符串

例如数据 列Namename abcd最后的结果a*b*c*d*declare @test table( namevarchar(10)) insert into @testvalues('a'),('b'),('c'),('d');                               select distinct (s

2012-08-18 07:28:55 2429 3

原创 DBCC ACTIVECURSORS 查看未关闭的游标

DBCC ACTIVECURSORS 这个命令会将当前系统所有未关闭的游标打印出来: SPID Cursor Id Pages Stmt   Buffer Pool Stolen. 是buffer pool中如下5个部分的总和(General, Query Plan, Optimizer, Utilities, Connection). 这个部分的内存分配页面都是小于8KB的。

2012-08-17 14:00:20 1419

原创 SQL Server 数据库完整备份不只是备份数据还有日志

以前认为SQLServer完整备份只是备份数据库的数据而不包含日志,其实这是错误的。使用RESTOREHEADERONLY可以帮我们验证(msdb.dbo.backupset也包含相应的信息)。 RESTORE HEADERONLY回包含特定备份设备上所有备份集的所有备份标头信息的结果集。查询结果包含三列: FirstLSN numeric(25,0)

2012-08-15 14:57:50 2957 1

原创 无法删除Maintainplan Job 错误547

今天删除SQLServer维护计划的时候出现下面的错误: The DELETE statement conflicted with the REFERENCE constraint "FK_subplan_job_id". The conflict occurred in database "msdb", table "dbo.sysmaintplan_subplans". (Micros

2012-08-15 11:14:50 3272

原创 Reporting Service 2005到2008升级测试

SQL Server 2008的Reporting不管是在功能性能还是管理上上都比2005有了很大的提高,所以很多公司都会将Reporting2005进行升级。 我这次的测试是将Reporting的数据库从2005迁移到2008上(不是直接在原来的服务器升级)。 升级步骤: 1.      首先备份SQL Server 2008的ReprotServer和ReportSer

2012-08-15 10:33:38 2338

原创 SQL Server 自动更新统计信息的基本算法

最初接触SQL Server的时候认为SQLServer数据更改的同时就会相应的更新统计信息,其实SQL Server不是这样做的.基于性能考虑,SQL Server使用下面的算法更新统计信息。   自动更新统计信息的基本算法是:·        如果表格是在 tempdb数据库表的基数是小于 6,自动更新到表的每个六个修改。·        如果表的基数是大于 6,但小于或等

2012-08-14 13:36:04 1674

原创 查询sys.dm_os_wait_stats 了解数据库等待信息

当用户告诉你数据库很慢的时候,你要怎么开始Narrowdown问题呢?SQL Server提供了sys.dm_os_wait_stats可以帮助我们查看CPU,内存或者IO的等待状况。SQL Server执行过程中中等待信息会被记录到这个View中。 通过下面的语句我们可以抓取一段时间内SQL Server等待的累积信息,通过对这些信息进行排序可以找出资源瓶颈。 先看一下各个W

2012-08-14 11:06:39 3273

原创 数据库镜像和日志传送配合完成高可用性以及灾难恢复

数据库现在已经变成企业的基石,所以需要保证数据库的高可用性。同时也需要防止意外事情导致整个数据中心出现问题(比如地址,水灾等等)。所以对于数据中心高可用性和灾难恢复是同时要考虑。 使用SQL Server的数据库镜像和日志传送两项功能可以帮助我们完成上述目标。 情景:A 数据中心有SQL2K8和R2两台数据库服务器,B数据中心有SQL28(与A地域不同,为了防止意外导致整个A数据中

2012-08-14 10:04:04 5057

原创 测试一个数据库Log shipping到多SQL Server实例

今天测试了一个Logshipping多个数据库实例(测试数据库dbLogTest,主服务器实例SQL2K8,Secondary1实例R2,Secondary2实例 SQL28),步骤如下: 1.      在SQL2K8备份Logshipping数据库 2.      在R2和SQL28上还原数据库(norecovery) 3.      在SQL2K8上配置到R2的日志传

2012-08-13 16:55:42 1175

转载 如何控制用户访问数据库

使用SQL Server Log On trigger: CREATE DATABASE AuditDb GO USE AuditDb GO /* Create AuditTable */ CREATE TABLE ServerLogonHistory (SystemUser VARCHAR(512), DBUser VARCHAR(512), SPID

2012-08-10 17:08:35 1402

转载 查看Buffer Pool使用情况

转自微软技术支持论坛:“我的SQL Server buffer pool很大,有办法知道是哪些对象吃掉我的buffer Pool内存么?比方说,能否知道是哪个数据库,哪个表,哪个index占用了buffer Pool么?”针对这个问题可以使用(DMV) sys.dm_os_buffer_descriptors。这个DMV非常强大。根据SQL Server 联机丛书,这个视图的作用是 “返回

2012-08-10 15:55:56 2320

原创 删除整张表但是空间没有减少

首先看一个例子: --创建测试表CREATE TABLE testfreespace( column1 INT,column2 CHAR(20),column3 VARCHAR(8000)) --插入数据DECLARE @count INT;SET @count = 0;WHILE @count 3000BEGINSELECT@count

2012-08-10 14:55:24 7298

原创 删除变长列字段后使用DBCC CLEANTABLE回收空间

SQL Server在删除变长列或者减小变长列的长度后,表的大小不会响应自动减小,除非DBA重建索引或者reorganized索引。变长列包括varchar,nvarchar, varchar(max), nvarchar(max), varbinary, varbinary(max), text, ntext,image, sql_variant,和xml。 SQL Server提供

2012-08-10 14:26:05 1433

转载 SQL Server升级安全组SID(安全标识符)检查规则失败

今天在论坛看到有用户出现Security Group upgrade rule失败 错误:rule "Security Group SID(Security Identifier)" failed。发生这个错误的原因是SQL Server创建的Windows本地组SID信息与注册表中的SID不匹配,需要用 WHOAMI /GROUPS查出正确的SID然后替换注册表中的错误SID,问题可以解决。

2012-08-10 10:42:37 4186

原创 查询Blocking脚本

SELECT SPID=p.spid,       DBName = convert(CHAR(20),d.name),       ProgramName = program_name,        LoginName = convert(CHAR(20),l.name),       HostName = convert(CHAR(20),host

2012-08-09 21:38:31 1573

原创 灾难:正式数据库和测试测试数据库在一台服务器

曾经看到很多人喜欢将测试数据库和正式数据库放到一台服务器上,认为这样可以节省资源。虽然正式和测试分成两个实例配置,安全性上不会有问题,但是性能和维护上会有很多问题。 1. 维护:一般来说测试服务器不需要什么高可用性,测试需要停机就可以停机,不需要跟用户去做沟通。但是对于正式服务器都是有业务在跑的,而且有SLA的限制,不能说停就停。所以放到一起,测试服务器就失去了灵活性。 2.性能:

2012-08-09 13:25:42 3300

原创 使用sp_cycle_errorlog循环SQL Server错误日志

由于于高可用的数据库服务器可能很少停机,SQLServer的日志文件增长会非常大。这样对于DBA使用错误日志查找信息就会比较困难,而且日志大了写入以后性能也会受到影响。 我们通常认为SQLServer启动的时候才会创建错误日志,所以需要停机才能重新创建日志文件,而这样的维护对于高可用性的数据库是不可想象的。  其实完全可以不通过重启服务就可以实现日志的循环。 微软提供了一个存储过程

2012-08-08 15:34:16 3427 3

原创 使用Profiler Blocked Process Report & Alert 监控数据库Blocking

SQL Server Profiler中提供了一个Blocked Process Report 事件,这个事件可以记录阻塞超过指定的时间的任务,使用这个事件我们可以记录数据库的阻塞信息。 下面我们来看一下如何使用Blocked ProcessReport: 使用Blocked Process Report需要配置阈值和报告生成频率,使用sp_configure 命令配置 block

2012-08-08 13:32:03 1983 1

原创 数据库修复系列Part4:重建数据库日志文件

我们可能会遇到日志文件损坏或者被不小心删除的问题,导致数据库无法访问。在没有备份的情况下,可以用重建日志文件恢复数据库,但是可能会有数据丢失。 另外本篇文件还通过举例证明了日志文件的重要性(许多人说日志文件是可以删除的,这个是完全错误的)。 1.  select * from Test(有两条记录1,2)查询结果:idTest-----------12 2.

2012-08-07 15:47:27 2963

The Guru's Guide to SQL Server Architecture and Internals.chm

I can pretty much guarantee that anyone who uses SQL Server on a regular basis (even those located in Redmond working on SQL Server) can learn something new from reading this book."

2009-10-13

Windows Server 2003 用户管理指南

由微软资深顾问,微软MVP所著,很精彩的一本书,希望对大家都有帮助

2009-09-27

Sqlserver性能调整

很多客户偶尔会遇到SQL Server 数据库性能下降。原因可能涉及从不良好的数据库设计到不正确的负载配置。作为一个管理员,你应该预先阻止或最小化问题,并当问题发生时,诊断原因并尽可能的做出正确的操作来解决问题。这片白皮书所述的问题通常来源于Microsoft® Corporation 的Customer Support Service(CSS or PSS)部门所遇到的,因为将所有可能的问题都详尽的分析是不合实际的。我们提供了按部就班的指导,通过使用可用的工具例如SQL Server Profiler,System Monitor和在SQL Server 2005中新的Dynamic Management View来为一般的性能问题诊断和排错。

2009-09-27

使用CPU计数器监视SQL Server性能的

当使用CPU计数器测量CPU活动时,记住下面是SQL Server中耗用CPU资源最多的进程: • 上下文切换:当SQL Server在多个CPU之间切换线程时就会发生上下文切换,过多的上下文切换会吃掉CPU资源。有些情况下,打开LightweightPooling选项可以减少上下文切换。

2009-09-27

inside-microsoft-r-sql-server-tm-2005-the-storage-engine

Although one goal of ours was to minimize the amount of overlap between volumes so that readers of the complete series would not have to deal with duplicate content, we also realized that not everyone would start with the same volume. Itzik and I have different approaches to describing SQL Server query processing, index use, and tuning, so when those topics are covered in more than one volume, that duplication is actually a bonus.

2009-09-27

SQL SERVER 2005

Written by a T-SQL guru, this thorough, hands-on reference for database developers and administrators focuses on language features and how they are interpreted and processed by the SQL Server execution engine.

2009-09-27

SQL+Server+2005技术内幕-存储引擎1-5章.pdf

Dive deep into the internals of query tuning and optimization in SQL Server 2005 with this comprehensive reference. Understanding the internals of SQL Server helps database developers and administrators to better create, access, and effectively process information from enterprise data. Written by experts on SQL Server, this volume from the Inside Microsoft SQL Server series of books focuses on query tuning and optimization. You'll take an in-depth look at the best ways to make queries more efficient and effective, while maximizing existing resources. Includes extensive code samples and table examples to help database developers and administrators understand the intricacies and help promote mastery of query tuning and optimization.

2009-09-24

Microsoft Press - Inside Microsoft SQL Server 2005 Query Tuning and Optimization (Sep 2007).chm

Dive deep into the internals of query tuning and optimization in SQL Server 2005 with this comprehensive reference. Understanding the internals of SQL Server helps database developers and administrators to better create, access, and effectively process information from enterprise data. Written by experts on SQL Server, this volume from the Inside Microsoft SQL Server series of books focuses on query tuning and optimization. You'll take an in-depth look at the best ways to make queries more efficient and effective, while maximizing existing resources. Includes extensive code samples and table examples to help database developers and administrators understand the intricacies and help promote mastery of query tuning and optimization.

2009-09-24

Inside Microsoft SQL Server 2005: T-SQL Programming

Written by a T-SQL guru, this thorough, hands-on reference for database developers and administrators focuses on language features and how they are interpreted and processed by the SQL Server execution engine.

2009-09-24

SQL.Server.2005.Administration

There you are, standing in front of the book rack at your favorite book store, leafing through these pages, wondering if this is the one you are looking for. Go ahead; look around to see if I’m watching you. I’ll wait.... OK, the coast is clear. So, did we write this book for you? Since you’re reading this, it’s very likely. Our primary audience is IT professionals (both developers and administrators) who have found themselves responsible for the management and maintenance of a SQL Server 2005 database. You may have been responsible for a SQL Server 2000 database and were just getting used to that when your company decided to move to SQL Server 2005. The new features and new tool set can be intimidating. We wrote this book for you. You may be thinking, “I’m a senior DBA and this book’s title is Beginning SQL Server 2005 Administration. I am not a beginner.” I understand. However, we also wrote this book for you. SQL Server 2005 is a dramatic departure from its predecessors and, even if you are an expert on SQL Server 2000 or SQL Server 7, you will find a great deal of very useful information in this book. Go ahead, flip through the pages, and check it out for yourself. I believe you will find what you’re looking for.

2009-05-25

TSQL Query Tuning

This article is the second in a series that describes a variety of performance tuning techniques that you can apply to your Microsoft SQL Server Transact-SQL programs. In many cases, you could use the graphic user interface provided in Microsoft SQL Enterprise Manager or Microsoft SQL Query Analyzer to achieve the same or similar results to those described here. However, this series focuses on using Transact-SQL as the basis for our solutions. All examples and syntax are verified for Microsoft SQL Server 2000.

2009-05-25

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除