我想找回微信好友找回手机软件 用手机版的SQL可以吗? 可以的话怎么用啊? 或者你有其

2010年7月 荣获微软MVP称号
2008年11月 MS-SQL Server大版内专家分月排行榜第一2008年10月 MS-SQL Server大版内专家分月排行榜第一
2010年6月 Windows专区大版内专家分月排行榜第三2010年3月 Windows专区大版内专家分月排行榜第三
2008年 总版技术专家分年内排行榜第二
2010年 总版技术专家分年内排行榜第四2009年 总版技术专家分年内排行榜第五2007年 总版技术专家分年内排行榜第六
本帖子已过去太久远了,不再提供回复功能。Posts - 746,
Articles - 0,
Comments - 1463
随笔分类 -数据库技术(MS SQL)
08:53 by 潇湘隐者, 14 阅读, ,
在不同地域的两个SQL Server服务器上配置了复制(Replication)用于同步数据(生产环境配置有Replication,测试环境也配有Replication),两地通过专线连接起来,这些复制(Replication)已经稳定运行了一两年了, 但是前阵子,测试环境的SQL Server的Replication中突然遇到下面错误: Error messages: The...
15:36 by 潇湘隐者, 34 阅读, ,
在SQL Server中有时候会使用提示(Hint)强制SQL使用行锁(Row Lock),前两天有个同事咨询了一个问题,如何定位Row Lock具体锁定了哪一行。其实这个问题只适合研究一下,实际意义并不大,因为找到、定位被锁定的行的代价开销较大,而意义却不怎么大,而且使用场景也很少。那么下面我们来探讨、研究一下这个问题吧: 在会话窗口(会话ID=65)下执行下面SQL语句,模拟SQL S...
17:03 by 潇湘隐者, 491 阅读, ,
SQL Server数据库中,如果应用程序正在执行一个事务的时候突然遭遇了网络异常,例如网络掉包,网络中断等,那么这个事务会怎么样? SQL Server数据库是通过什么机制来判断处理呢? 估计很多人跟我一样都有不少疑问, 我们下面构造一个测试实验来测试验证一下。如下所示: 步骤1:在客户端连使用S
11:21 by 潇湘隐者, 113 阅读, ,
在迁移或升级SQL Server数据库服务器时,很多场景下我们不能还原msdb,所以我们必须手工迁移SQL Server相关作业。如果手工生成每一个作业的脚本话,费时又费力,其实SQL Server中有好几种方法可以批量生成作业脚本的方法, 下面介绍一下。 1:SSMS客户端工具批量生成创建作业脚本 1:在SSMS—&SQL Server Agent下,单击Jobs。 2: 按快捷键F...
11:56 by 潇湘隐者, 68 阅读, ,
同事反馈一个系统在运行一个存储过程时遇到了下面错误: Msg 1206, Level 18, State 169, Procedure xxxxxx, Line 118The Microsoft Distributed Transaction Coordinator (MS DTC) has cancelled the distributed transaction. 费了九牛二虎之力才定位到...
15:35 by 潇湘隐者, 98 阅读, ,
一工厂的中控服务器遇到了下面Alert提示,'XXX\SERVERNAME$' XXX表示对应的域名, SERVERNAME$(脱敏处理,SERVERNAME为具体的服务器名称+$),而且如下所示,客户端是本机,研究了一下,才搞清楚具体原因. 日期/时间:
12:24:51 说明: 用户 'XXX\SERVERNAME$' 登录失败。 原因: 找不到与提...
09:08 by 潇湘隐者, 77 阅读, ,
前言: 本文是对博客/sqlservertip/2827/troubleshooting-sql-server-resourcesemaphore-waittype-memory-issues/的翻译,本文基本直译,部分地方读起来有点不自然。 如有翻译不对或不好的地方,敬请指出,大家一起学习进步。尊重原创和翻译劳动成果,转载时请注明出处htt...
17:53 by 潇湘隐者, 115 阅读, ,
最近突然发现我们部署在数据库上面的告警(Alert),当错误日志里面出现错误时,并不是每个错误日志都会发送邮件出来。如下所示,设置了告警“SQL Server Severity Event 14” USE [msdb] GO IF NOT EXISTS(SELECT 1 FROM msdb.dbo.syscategories WHERE NAME='DBA_MONITORING' AN...
16:36 by 潇湘隐者, 112 阅读, ,
一直习惯使用sys.master_files来统计数据库的大小以及使用情况,但是发现sys.master_files不能准确统计tempdb的数据库大小信息。如下所示: SELECT database_id AS DataBaseId ,DB_NAME(database_id) ...
23:09 by 潇湘隐者, 114 阅读, ,
在系统视图sys.syslogins中,有createdate与updatedate两个字段,分别表示创建登录名与更新登录名的日期,如果你用updatedate的值来判断一个登录名的权限是否被修改过,那么你就要跳坑里了。当然sys.sysusers视图里面updatedate字段也不能作为某个use
17:05 by 潇湘隐者, 131 阅读, ,
很多时候,我们经常使用sp_spaceused来查看表的空间使用情况,上个月群里有个网友说他使用DELETE删除了数据后,使用sp_spaceused查看,发现该表的分配的空间总量(reserved)与数据使用的空间总量(data)没有变化,当时和他讨论了并分析了一下原因,随手记录了一下这个案例,这个周末刚好有点时间,正好分析整理一下这个案例、分享在这篇文章。如下所示,我们先构造数据,我们的测...
17:07 by 潇湘隐者, 945 阅读, ,
这个月碰到几个人问我关于“SQL SERVER中INNER JOIN 与 IN两种写法的性能孰优孰劣?”这个问题。其实这个概括起来就是SQL Server中INNER JOIN与子查询孰优孰劣(IN是子查询的实现方式之一,本篇还是只对比INNER JOIN与子查询IN的性能,如果展开INNER JOIN与子查询性能对比,范围太大了,没法一一详述)。下面这篇文章,我们就INNER JOIN与子查询I...
08:44 by 潇湘隐者, 391 阅读, ,
关于SQL Server 2014中的基数估计,官方文档Optimizing Your Query Plans with the SQL Server 2014 Cardinality Estimator里有大量细节介绍,但是全部是英文,估计也没有几个人仔细阅读。那么SQL Server 2014中基数估计的预估行数到底是怎么计算的呢? 有哪一些规律呢?我们下面通过一些例子来初略了解一下,下...
00:34 by 潇湘隐者, 175 阅读, ,
案例环境: 操作系统: Windows 2003 SE 32bit(SP2) 数据库版本:Microsoft SQL Server 2005 - 9.00.5069.00 (Intel X86) Aug 22 :52 Copyright (c)
Microsoft Corporation ...
09:56 by 潇湘隐者, 425 阅读, ,
最近遇到两起关于SQL Server数据库邮件发送异常的案例,这些问题也有点意思,顺便记录一下。方便以后遇到类似问题的人参考,不要被这些问题弄得抓狂! 案例1:我们一台数据库服务器突然发送邮件都不行了,出现问题时,检查邮件发送记录,你会发现发送状态都是failed。 SELECT * FROM msdb.dbo.sysmail_faileditems SELECT * FROM ms...
15:51 by 潇湘隐者, 246 阅读, ,
需求背景 上周遇到了这样一个需求,维护人员发现一个表的数据经常被修改,由于历史原因;文档缺少;以及维护人员的经常变更,导致他们对系统也业务也不完全熟悉,他们也不完全清楚哪些系统和应用程序会对这个表的数据进行操作。现在他们想找出有哪些服务器,哪些应用程序会对这个表进行INSERT、UPDATE操作。那么问题来了,怎么去解决这个问题呢? 解决方案 由于数据库版本是标准版,我们选择了...
17:30 by 潇湘隐者, 171 阅读, ,
在SQL Server服务器上一个作业执行时,遇到下面错误信息: Message: Executed as user: dbo. The server principal &sa& is not able to access the database &xxxx& under the current
12:23 by 潇湘隐者, 310 阅读, ,
今天遇到了两个关于Reporting Service的问题, 出现问题的环境为Microsoft SQL Server 2008 R2 (SP2) - 10.50.4000.0 (X64) 。具体情况请见下面描述。 1:在修改报表的订阅后,保存时出现下面错误: 提示:报表服务器数据库内出错。此错误可能是因连接失败、超时或数据库中磁盘空间不足而导致的。 (rsReportServerDataba...
11:41 by 潇湘隐者, 164 阅读, ,
SQL Server 2005(Microsoft SQL Server 2005 - 9.00.5000.00)下的一个作业执行一个存储过程,存储过程中动态SQL语句使用链接服务器(Linked Servers),从另外一台SQL Server服务器获取数据。但是执行时报“Access to the remote server is denied because the current secu...
15:03 by 潇湘隐者, 472 阅读, ,
在SQL Server中,如何用SQL去实现得到一批字符串的全部组合呢?这个是同事在实际需求当中遇到的一个问题,他的具体需求如下所示: 传入参数格式为'1,2,3,224,15,6' 'A,BC,GHT,TTY,B,E' 输出的内容为分割后字符串的所有非排列组合 !-阶乘,如!=5××××=120 (M!/(N!*((M-N)!))) 公式描述:组合数公式是从m个不同元...
11:12 by 潇湘隐者, 311 阅读, ,
本文属于一篇内部规范文档,整理的初衷是为了规范、统一集团的Windows服务器(仅仅SQL Server数据库服务器)防火墙设置,仅仅供内部其它同事设置Windows防火墙时作为参考的文档资料。如有不足,敬请指正。后续将不断完善、整理该文档。文档里面部分内容直接摘抄自MSDN,敬请知晓! 文档类型 Windows服务器防火墙配置规范 创建日期
17:14 by 潇湘隐者, 158 阅读, ,
在两台测试服务器部署了复制(发布订阅)后,发现订阅的表一直没有同步过来。重新生成过snapshot ,也重新初始化过订阅,都不能同步数据,后面检查Distributor To Subscriber History, 发现有如下日志信息: The concurrent snapshot for publication 'RPL_PUB_Tecdb' is not available because ...
14:50 by 潇湘隐者, 140 阅读, ,
在一个测试服务器删除发布(Publication)时遇到下面错误,具体如下所示 标题: Microsoft SQL Server Management Studio ------------------------------ Could not delete publication 'RPL_GES_MIS_QCSDB'. ------------------------------ 其他信...
11:10 by 潇湘隐者, 874 阅读, ,
SQL Server 其实从SQL Server 2005开始,也提供了类似ORACLE中固定执行计划的功能,只是好像很少人使用这个功能。当然在SQL Server中不叫&固定执行计划&这个概念,而是叫&执行计划指南&(Plan Guide 很多翻译是计划指南,个人觉得执行计划指南稍好一些)。当然两者虽然概念与命名不同,实质上它们所说的是相同的事情,当然商业包装是很常见的事情。个人还是觉得“...
12:17 by 潇湘隐者, 221 阅读, ,
在SQL Server数据库中,数据文件与事务日志文件的修改日期(Date Modified)是会变化的,但是有时候你会发现你的数据文件或日志文件的修改日期(Date Modified)几个月甚至是半年以上都没有变化了,如下截图所示: 为什么呢?不会是什么bug吧? 相信很多人都会有这样的反应。下面我们通过实验来看看数据库的数据文件与事务日志文件在什么情况或条件下, 修改日期(Date ...
23:06 by 潇湘隐者, 505 阅读, ,
在SQL Server中,我们知道一个SELECT语句执行过程中只会申请一些意向共享锁(IS) 与共享锁(S), 例如我使用SQL Profile跟踪会话86执行SELECT * FROM dbo.TEST WHERE OBJECT_ID =1 这个查询语句,其申请、释放的锁资源的过程如下所示: 而且从最常见的锁模式的兼容性表,我们可以看到IS锁与S锁都是兼容的,也就是说SELECT...
23:31 by 潇湘隐者, 626 阅读, ,
一数据库服务器(SQL Server 2014)上的一个作业执行报错,具体错误信息如下: Executed as user: NT SERVICE\SQLSERVERAGENT. 用户 'xxxx\xxxxx$' 登录失败。 [SQLSTATE 28000] (Error 18456). The step failed. 其中用户 'xxxx\xxxxx$',反斜杠前面是域名,后面为...
11:48 by 潇湘隐者, 306 阅读, ,
有一台SQL Server(SQL Server 2014 标准版)服务器中的scheduler_count与cpu_count不一致,如下截图所示: SELECT cpu_count , scheduler_count FROM sys.dm_os_sys_ SQL Server中Scheduler数量应该与逻辑CPU的核数一致,而sys.dm_os_sy...
11:16 by 潇湘隐者, 115 阅读, ,
昨天遇到一个案例,YourSQLDba做事务日志备份时失败,检查YourSQLDba输出的错误信息如下: yMaint.backups backup log [gewem] to disk = 'M:\DB_BACKUP\LOG_BACKUP\xxxx_[_01h11m05_Tue]_logs.TRN' with noInit, checksum, name = '...
11:56 by 潇湘隐者, 183 阅读, ,
我们一个SQL Server服务器在执行YourSQLDBa的作业YourSQLDba_FullBackups_And_Maintenance时遇到了错误: Exec YourSQLDba.Maint.ShowHistoryErrors @JobNo = 1227 yMaint.IntegrityTesting DBCC checkDb('xxxx') In case of non-com...
00:15 by 潇湘隐者, 405 阅读, ,
在一些IT技术人员的推广、简单培训后,公司很多部门都有一些非IT技术人员参与开发各自需求的Reporting Service报表。原因很简单,罗列出来的原因大概有这样一些: IT部门的考量: 1:IT部门这边工作量很大,跟进各个项目都力不从心。不想腾出精力和时间来解决各个部门层出不穷的报表需求。 2:IT技术人员可能对各个部门的业务的理解和那些精通业务的员工有一定的差距。业务人员才是真正...
14:36 by 潇湘隐者, 5 阅读, ,
9点多钟,Support的同事反馈一系统的数据不正确,怀疑一个作业可能出现异常了。检查时发现该作业在7点没有执行。 下面先介绍一下这个作业的具体情况: 作业的Schedule是这样设置的,每天的7:00、15:00、 20:30各执行一次。作业计算、处理一些数据。 检查的时间点为
11:37 by 潇湘隐者, 302 阅读, ,
前言感想:一时兴起,突然想写一个关于MS SQL的巡检系列方面的文章,因为我觉得这方面的知识分享是有价值,也是非常有意义的。一方面,很多经验不足的人,对于巡检有点茫然,不知道要从哪些方面巡检,另外一方面,网上关于MS SQL巡检方面的资料好像也不是特别多。写这个系列只是一个分享,自己的初衷是一个知识梳理、总结提炼过程,有些知识和脚本也不是原创,文章很多地方融入了自己的一些想法和见解的,不足和肤浅之...
15:26 by 潇湘隐者, 629 阅读, ,
前言感想:一时兴起,突然想写一个关于MS SQL的巡检系列方面的文章,因为我觉得这方面的知识分享是有价值,也是非常有意义的。一方面,很多经验不足的人,对于巡检有点茫然,不知道要从哪些方面巡检,另外一方面,网上关于MS SQL巡检方面的资料好像也不是特别多。写这个系列只是一个分享,自己的初衷是一个知识梳理、总结提炼过程,有些知识和脚本也不是原创,文章很多地方也是融入了自己的一些想法和见解的,不足和肤...
12:02 by 潇湘隐者, 386 阅读, ,
在一数据库服务器(Microsoft SQL Server 2014 (SP2) (KB3171021) - 12.0.5000.0 (X64))发现有个作业调用Database Mail发送邮件时,有时候出现同样的邮件发送两封的情况,经过详细检查,排除了该作业里面业务逻辑有问题的情况,确实存在重复发送邮件的情况, 检查Database Mail日志,发现在0:00~0.03报“The mail ...
17:40 by 潇湘隐者, 533 阅读, ,
以前写了篇SQL SERVER 2008数据库各版本功能对比,官网提供的那个功能确实很好很强大,后面发现那个链接失效了。今天又遇到要对比SQL Server 2014数据库版本功能需求,搜索找了好久才找到,索性将这些链接收录在此,以备不时之需。 SQL Server 2008/zh-cn/subscriptions/cc645993(v...
17:44 by 潇湘隐者, 1231 阅读, ,
今天遇到一个很奇怪的情况,发现一个会话异常,这个会话只是在执行一个简单的存储过程,里面使用了链接服务器(Linked Server)查询另外一台服务器数据(存储过程里面没有任何显性事务、UPDATE、DELETE操作,只有几个简单的SELECT查询,其中有两个查询使用了链接服务器Linked Server,由于生产环境,不好贴出SQL语句),在DPA监控工具里面,发现该会话引起了非常长的OLEDB...
11:51 by 潇湘隐者, 180 阅读, ,
今天遇到这样一个问题:一个系统的作业需要给系统Support人员开放SQL Agent下作业的查看、执行权限。数据库版本为SQL Server 2014 SP2,给这个系统Support人员的NT账号授予msdb数据库下面权限后: 该系统Support人员反馈在双击查看该作业时报下面错误。于是我测试,验证了一下这个权限是否OK, 我测试的时候使用的是Microsoft SQL ...
13:57 by 潇湘隐者, 233 阅读, ,
最近遇到一起关于&I/O is frozen on database xxx. No user action is required. However, if I/O is not resumed promptly, you could cancel the backup.&的案例。 出现问题的时候,我去执行一个非常简单的SQL语句,执行时间非常长,检查没有阻塞。正常情况下,应该是几秒就OK。后...
15:32 by 潇湘隐者, 1519 阅读, ,
其实这是一篇没有技术含量的文章,精通SQL优化的请绕道。这个缘起于在优化一个SQL过程中,同事问了我一个问题,为什么SQL中存在隐式转换,但是执行计划没有变? 我思索了一下,觉得这个问题也有点意思,说不定有些对隐式转换了解得不深入的同学都有此疑问,那么下面结合上下文场景做一个细节方面的解答。 我们一个系统中使用了ORMLite框架,粗心的开发人员弄出了不少下面这样的SQL语句,都存在隐式转换问题,...
23:01 by 潇湘隐者, 314 阅读, ,
今天一同事反馈使用SQL Server 2012 Management Studio连接SQL Server 2014后,选择数据库中某个表,然后单击右键时,就会遇到下面错误: 这个错误初看以为是权限问题,后面验证、检查、查找资料过后,发现这个是一个bug来的,需要升级或应用SQL Server Management Studio工具的补丁来解决这个问题。下面链接有描述这个问题的相关...
17:40 by 潇湘隐者, 878 阅读, ,
在SQL Server中使用OPENROWSET访问ORACLE数据库时,你可能会遇到各种坑,下面一一梳理一下你会遇到的一些坑。 1:数据库没有开启&Ad Hoc Distributed Queries&选项,那么你就会遇到下面坑。 SELECT TOP 10 * FROM OPENROWSET('OraOLEDB.Oracle', 'ESCM_134';'test';'test', '...
11:29 by 潇湘隐者, 173 阅读, ,
在SQL Server中,在链接服务器中调用表值函数(table-valued function)时,会遇到下面错误: SELECT * FROM LNK_TEST.TEST.DBO.TEST(12) 消息 4122,级别 16,状态 1,第 1 行 Remote table-valued function calls are not allowed. 以前几乎没有在链接服务器(Lin...
17:57 by 潇湘隐者, 300 阅读, ,
假设你创建一个数据库时,指定其初始化大小(SIZE )非常大。例如,如下测试案例所示 USE [master]GO CREATE DATABASE [TEST] ON PRIMARY ( NAME = N'TEST_Data', FILENAME = N'D:\SQL_DATA\TEST_Data.mdf' , SIZE = KB , MAXSIZE = UNLIMITE...
10:37 by 潇湘隐者, 2411 阅读, ,
上周六,一工厂系统管理员反馈一数据库连接不上,SSMS连接数据库报“连接超时时间已到。在尝试使用预登录握手确认时超过了此超时时间.......”, 如下截图所示: 另外远程连接也连接不上,系统管理员只能通过vSphere Client连接到这台服务器,我这边也无法远程登录检查具体情况,ping 这台服务器发现网络正常,没有丢包或时延严重情况,那我就在Linux上使用nmap扫描了...
22:43 by 潇湘隐者, 308 阅读, ,
昨天在检查YourSQLDba备份时,发现有台数据库做备份时出现了下面错误信息,如下所示: yMaint.ShrinkLog Log Shrink -- ========================================================================-- Shrink of log file E:\SQL_LOG\xxxx_log.l...
23:18 by 潇湘隐者, 138 阅读, ,
YourSQLDba可以将数据库备份到网络路径(共享路径),这个也是非常灵活的一个功能,以前一直没有使用过这个功能,最近由于一个需求,于是我测试了一下YourSQLDba备份到网络路径,中间遇到了一些问题,遂整理如下。 测试环境: 操作系统: Windows Server Standard 2012 数据库版本: SQL SERVER 2014 1:设置共享路径权限 ...
13:40 by 潇湘隐者, 360 阅读, ,
以前总结过一遍博文SQL Server删除distribution数据库,里面介绍了如何删除distribution数据库。今天介绍一个删除distribution的特殊案例, 在这之前,我不知道这个服务器上的Replication被如何折腾过,在SSMS管理界面的Local Publications和Local Subscriptions里面已经看不到任何关于发布、订阅相关的内容...
16:07 by 潇湘隐者, 436 阅读, ,
在SQL SERVER中列权限(Column Permissions)其实真没有什么好说的,但是好多人对这个都不甚了解,已经被人问了几次了,所以还是在这里介绍一下,很多人都会问,我能否单独对表的某列授权给某个用户? 答案是可以,我们可以对表中的列授予SELECT、UPDATE权限,我们结合下面的简单案例来阐述一下可能效果更好。 案例1: 在AdventureWorks2014中,登...
23:29 by 潇湘隐者, 163 阅读, ,
在使用YourSQLDba做数据库备份、维护时,像其它软件一样,版本升级是不可避免的。因为YourSQLDba一直在不停更新版本、扩展功能。下面介绍一下升级YourSQLDba时的具体步骤和一些注意事项。下面案例,YourSQLDba原版本为YourSQLDba version: 5.0.2 ,升级到YourSQLDba 6.2.5.1。 步骤1: 首先查看服务器对...
12:09 by 潇湘隐者, 515 阅读, ,
我们一数据库服务器上有个作业最近几天偶尔会遇到下面错误(敏感信息已做处理),主要是报“TCP Provider: The semaphore timeout period has expired. [SQLSTATE 07008] (Error 121) OLE DB provider &SQLNCLI& for linked server &(null)& returned messa...
10:32 by 潇湘隐者, 1273 阅读, ,
在SQL SERVER中用脚本管理作业,在绝大部分场景下,脚本都比UI界面管理作业要高效、简洁。打个简单的比方,如果你要查看作业的运行时长,如果用UI界面查看,100个作业,你就得在历史记录里面至少查看一百次甚至更多,还要记录、统计作业各个步骤的执行时间。而用脚本,一个查询就OK了。这篇文章分享一些我在数据库管理过程中积累的一些常用脚本。 如有不足或需要完善的地方,也请多多指教。 1:...
09:59 by 潇湘隐者, 617 阅读, ,
早上巡检的的时候,发现一数据库的作业报如下错误(作业名等敏感信息已经替换),该作业的OWNER为一个域账号: JOB RUN: 'JOB_NAME' was run on
at 7:00:00 DURATION: 0 hours, 0 minutes, 1 seconds STATUS: Failed MESSAGES: The job failed. Unable to det...
15:57 by 潇湘隐者, 473 阅读, ,
DBCC CHECKDB检查指定数据库中的所有对象的逻辑和物理完整性,具体请参考MSDN文档。我们必须定期对数据库做完整性检查(DBCC CHECKDB),以便能及时发现一些数据库损坏(Corruption)的情况。如果你的数据库长时间没有做DBCC CHECKDB,这样是做是不合理,并且很危险的。那么我们怎么检查数据库上一次做DBCC CHECKDB的时间呢? 可以通过DBCC DBINFO来获...
14:31 by 潇湘隐者, 515 阅读, ,
在使用桦仔的分享一个SQLSERVER脚本(计算数据库中各个表的数据量和每行记录所占用空间)的脚本时,遇到下面一些错误 这个是因为这些表的Schema是Maint,而不是默认的dbo,造成下面这段SQL在执行EXEC sp_spaceused @tablename时出现 Msg 15009, Level 16, State 1, Procedure sp_spaceused, Line 75 ...
11:10 by 潇湘隐者, 633 阅读, ,
生产环境一数据库服务器(SQL Server 2014)的Agent服务突然停掉了,检查了错误日志,发现在&SQL Server Agent&里面没有&SQLServerAgent terminated (normally)&的信息,只有如下错误信息 根据作业运行的日志信息,以及上面错误信息,可以判断SQL SERVER Agent服务应该在 9:20: PM(21...
23:59 by 潇湘隐者, 341 阅读, ,
这两天收到一SQL 2008 R2数据库服务器的磁盘空间告警,在检查过程中发现ReportServerTempDB已经暴增到60多GB,其中数据文件接近60G,日志文件9G大小左右。如下截图所示 我们知道ReportServerTempDB是SSRS使用的临时数据库。这个数据库负责存储中间处理结果,例如报表服务器生成的会话和执行数据、缓存报表以及工作表。正常情况下,Report Serv...
12:09 by 潇湘隐者, 4568 阅读, ,
一同事跟我反馈他遇到了一个SQL性能问题,他说全表只有69条记录,客户端执行耗费了两分多钟,这不科学呀。要我分析一下原因并解决。我按照类似表结构,构造了一个案例,测试截图如下所示 这个表有13800KB(也就是13M多大小),因为该表将图片保存到数据库(Item_Photo字段为iamge类型),这个是历史原因,暂且不喷这种的设计。看来这个SQL执行时间长的性能问题不在于IO和SQL本身...
23:21 by 潇湘隐者, 733 阅读, ,
有时候我们需要将SQL SERVER的数据一次性导入到ORACLE中,对于数据量大的表。我一般习惯先从SQL SERVER导出特殊格式的平面文件(CSV或TXT),然后用SQL*Loader装载数据到ORACLE数据库。 有时候由于一些特殊数据,我们需要导出一些特殊格式的文件,例如: 1:导出的平面文件,字段分隔符不要用逗号, 而使用其它分隔符,例如 | 或 &等 2:我们需...
11:52 by 潇湘隐者, 284 阅读, ,
在服务器A数据库TEST新建了一个本地发布(Local Publications)RPL_GES_MIS_TEST,在服务器B数据库RPL_TEST上创建了一个本地订阅(Local Subscriptions),它订阅了了这个发布RPL_GES_MIS_TEST.如下截图所示,本地发布只有DB_OBJECTS 、Location两个表 假设现在有一个需求,我们需要同步一个视图V_DB_O...
12:13 by 潇湘隐者, 1029 阅读, ,
一直以来对SQL SERVER的游标都不怎么感冒,也很少使用SQL Server里面的游标,前几天有一位网友问如何检查数据库里面没有释放的游标,觉得有点意思,就测试验证了一下,顺便整理于此。 会话1:我们模拟一个应用程序或脚本,在打开游标后,忘记关闭、释放游标。 DECLARE Cursor_Test CURSOR FORSELECT * FROM dbo.TEST;OPEN Cu...
17:34 by 潇湘隐者, 169 阅读, ,
今天碰到一雷死人的事情,在Windows Server 2012 R2上安装SQL SERVER 2005标准版过程中一直遇到“The SQL Server service failed to start。 For more information......&,最后下面两个组件无法安装成功。 后面查了一下,原来Microsoft SQL Server 2005在Windows Server...
11:59 by 潇湘隐者, 1559 阅读, ,
SQL SERVER普通用户需要什么权限才能执行sp_configure命令呢? 例如如下存储过程所示 CREATE PROCEDURE PRC_TESTASBEGIN exec sp_configure 'show advanced option',1;RECONFIGURE;exec sp_configure 'Ole Automation Procedures', 1;RECONFIGU...
23:13 by 潇湘隐者, 1383 阅读, ,
在SQL SERVER 中,如果将有序的记录插入临时表,则从临时表查询出来的记录是有序的(不依赖ORDER BY也是有序状态),但是从SQL SERVER 2012开始,即使插入的记录集有序,查询出来的结果变成无序了。需要依赖ORDER BY来或得到一个有序结果。例如下面例子: SELECT * INTO #tables FROM sys.tables ORDER BY n...
22:04 by 潇湘隐者, 656 阅读, ,
OLEDB等待事件介绍 OLEDB等待类型是SQL SERVER 数据库中最常见的几种等待类型之一。它意味着某个会话(SPID)通过SQL Server Native Client OLEDB Provider发生了调用请求并等待数据库返回所需的数据。它出现在远程系统(remote system )或网络连接速度不够快,因此调用服务器必须等待要返回结果的情况下。OLEDB等待事件一般是由那些活动造...
17:41 by 潇湘隐者, 1292 阅读, ,
用户定义函数(UDF)分类 SQL SERVER中的用户定义函数(User Defined Functions 简称UDF)分为标量函数(Scalar-Valued Function)和表值函数(Table-Valued Function)。其中表值函数又分为Inline table-valued functions和Multistatement table-valued funct...
12:10 by 潇湘隐者, 232 阅读, ,
使用Microsoft SQL SERVER 2014 Management Studio访问Azure SQL Database时,查看存储过程时遇到下面错误信息: TITLE: Microsoft SQL Server Management Studio ------------------------------ Failed to retrieve data for this req...
11:32 by 潇湘隐者, 725 阅读, ,
在前阵子写的一篇博文“SQL SERVER 2014 下IF EXITS 居然引起执行计划变更的案例分享”里介绍了数据库从SQL SERVER 2005升级到 SQL SERVER 2014后,发现一个SQL出现性能问题,当时分析后发现执行计划变了,导致SQL出现了性能问题。但是没有彻底搞清楚为什么出现这种情况。当时看到Actual Number of Rows 与Estimated Nu...
00:47 by 潇湘隐者, 276 阅读, ,
我们知道SQL SERVER建立链接服务器(Linked Server)可以选择的驱动程序非常多,最近发现使用ODBC 的 Microsoft OLE DB 驱动程序建立的链接服务器(Linked Server), 调用存储过程过程时,参数不能为NULL值。 否则就会报下面错误提示: 对应的英文错误提示为: EXEC xxx.xxx.dbo.Usp_Test NULL,NULL,'ALL...
10:45 by 潇湘隐者, 207 阅读, ,
我们都知道CHAR(integer_expression)将ASCII代码转换为字符。当integer_expression介于 0 和 255 之间的整数。如果该整数表达式不在此范围内,将返回 NULL 值。这些都是官方资料介绍的。具体参考/zh-cn/library/ms187323(v=sql.120).aspx 但是在我们最近...
21:14 by 潇湘隐者, 427 阅读, ,
一同事将测试服务器从SQL Server 2008 R2 SP2升级到了SQL Server 2008 R2 SP3后发现Report Service的报表编辑时启动不了Report Builder,错误信息如下所示: PLATFORM VERSION INFO Windows : 6.1. (Win32NT) Common Lan...
21:35 by 潇湘隐者, 179 阅读, ,
最近遇到一个关于发布订阅(Replication)的奇葩问题,特此记录一下这个案例。我们一SQL SERVER数据库服务器出现大量告警。告警信息如下所示: DESCRIPTION: Replication-Replication Distribution Subsystem: agent xxxxxx failed. Column names in each table must be uni...
11:30 by 潇湘隐者, 464 阅读, ,
在项目前期评估数据库的增长情况,然后根据数据库数据量的增长情况来规划存储的分配其实是一件比较麻烦的事情。因为项目没有上线,用什么来评估数据库的数据增长情况呢? 如果手头没有实际的数据,我们只能从表的数量以及预计一天的数据增长情况来预估数据增长量。当然这里猜测的成分较大。这个是非常不靠谱,也是不准确的。当然我们可以监控测试环境的数据库大小的增长情况来评估数据增长情况。我们可以监控数据库大小...
23:20 by 潇湘隐者, 569 阅读, ,
这个问题是在SQL SERVER 2005 升级到SQL SERVER 2014的测试过程中一同事发现的。我觉得有点意思,遂稍微修改一下脚本展示出来,本来想构造这样的一个案例来演示,但是畏惧麻烦,遂直接贴上原表,希望Leader不要叼我(当然个人觉得真没啥,两张表名而已,真泄露不了啥信息)。 脚本如下所示,非常简单的一段SQL语句,我将其分为SQL1、SQL2、SQL3. 其实SQ...
11:33 by 潇湘隐者, 526 阅读, ,
一服务器上的数据库全部被置于紧急模式(EMERGENCY),在错误日志里面能看到大量下面的错误 Failed to create AppDomain &YourSQLDba.dbo[runtime].79&. Exception has been thrown by the target of an invocation. Failed to create AppDomain &YourSQLDb...
16:32 by 潇湘隐者, 943 阅读, ,
这篇博文主要演示”CREATE FILE encountered operating system error 5(Access is denied.)“错误如出现的原因(当然只是导致这个错误出现的一种场景而已)和如何解决这个问题以及一些不解的迷惑。 实验环境: 操作系统版本: Windows Server 2012 SP2 数据库的版本:Micr...
15:36 by 潇湘隐者, 374 阅读, ,
Windows server 2012中使用SQLBackupAndFTP备份数据库时遇到一个错误: ERROR: The server principal &NT AUTHORITY\SYSTEM& is not able to access the database &xxxx& under the current security context. BACKUP DATABASE is t...
15:11 by 潇湘隐者, 10750 阅读, ,
我们偶尔会有将数据从SQL SERVER导入到ORACLE当中的这种需求,那么这种跨数据库导数有那些方法呢?这些方法又有那些利弊呢? 下面比较肤浅的总结了一些可行的方法。 1:生成SQL脚本然后去ORACLE数据库执行。 CREATE TABLE TEST( ID INT , NAME VARCHAR(12) ) INSERT INTO dbo.TEST SELECT 100...
14:07 by 潇湘隐者, 1728 阅读, ,
在SQL SERVER中如何通过SQL语句获取服务器硬件和系统信息呢?下面介绍一下如何通过SQL语句获取处理器(CPU)、内存(Memory)、磁盘(Disk)以及操作系统相关信息。如有不足和遗漏,敬请补充。谢谢! 一:查看数据库服务器CPU的信息 ---SQL 1:获取数据库服务器的CPU型号 EXEC xp_instance_regread 'HKEY_LOCAL_MACHI...
11:55 by 潇湘隐者, 1315 阅读, ,
SQLSERVER为了确保返回正确的值,或者处于性能上的顾虑,有意不重用缓存在内存里的执行计划,而重新编译执行计划的这种行为,被称为重编译(recompile)。那么引发存储过程重编译的条件有哪一些呢?下面罗列了一些导致重编译(recompile)的条件: - 对查询所引用的表或视图进行更改(ALTER TABLE 和 ALTER VIEW)。 - 对执行计划所使用的任何索...
21:21 by 潇湘隐者, 433 阅读, ,
今天遇到一个案例:右键单击数据库的属性时出现下面错误提示: 属性Owner不可用于数据库xxx,该对象可能没有此属性,也可能是访问权限不足而无法检索。 使用脚本查看该数据库的Owner时发现Owner为null。具体原因是因为该数据库的Owner是一个系统管理员的账号,由于该同事离职,接手的系统管理员将该账号清除了,所以出现上面错误.此时用下面脚本查询,就会发现该O...
00:00 by 潇湘隐者, 2849 阅读, ,
SQL Server 2008 master数据库损坏后,SQL SERVER服务启动失败,查看错误日志,你会看到下面错误信息:
10:15:21.01 spid6s Starting up database 'master'.
10:15:23.01 spid6s 错误: 9003,严重性: 20,状态: 1。 2015-1...
23:55 by 潇湘隐者, 659 阅读, ,
在上篇文章Could not obtain information about Windows NT group/user 'xxxx\xxxx', error code 0x5里面,我介绍了SQL Server服务启动账号域账号锁定的情况下,有些Job Owner为域账号的作业执行会报错,其实在域账号被锁定的情况下(该域账号是SQL Server服务的启动账号),执行xp_cmdshe...
00:13 by 潇湘隐者, 372 阅读, ,
案例描述 昨晚踢球回来,接到电话说一个系统的几个比较重要作业出错,导致系统数据有些问题。让我赶紧检查看看。检查作业日志时发现,作业报如下错误(关键信息用xxx替换) The job failed. Unable to determine if the owner (xxxx\xxxx) of job xxxxx has server access (reason: Could not ...
22:21 by 潇湘隐者, 376 阅读, ,
巡检发现一个SQL SERVER Express 2005数据库备份时出现下面错误: Database 'xxxx' is being recovered. Waiting until recovery is finished. 出现这个错误有点让人纳闷,有很多情况可能出现这个错误,例如,系统出现异常重启,或数据库服务被人为突然重启,数据库服务启动后,数据库正在恢复中,此时备份就会出现这种错误...
16:45 by 潇湘隐者, 643 阅读, ,
有台数据库服务器(开发服务器),开发人员邮件告诉我,SSMS连接不了这台服务器,远程登录后,发现SQL SERVER的服务停止了,启动服务时报错,服务启动不了。检查错误日志发现下面一些信息
13:47:09.98 spid17s The Service Broker endpoint is in disabled or stopped state.2015-10-...
15:16 by 潇湘隐者, 203 阅读, ,
在备份一个客户的数据库时(数据库版本为SQL 2005 Express版本),做DBCC CHECKDB时遇到了下面错误信息: dbcc checkdb('DB_NAME'); 消息 5030,级别 16,状态 12,第 1 行 The database could not be exclusively locked to perform the operation. 消息 7926,级别 1...
00:12 by 潇湘隐者, 4063 阅读, ,
今天同事咨询一个SQL语句,如下所示,SQL语句本身并不复杂,但是执行效率非常糟糕,糟糕到一塌糊涂(执行计划也是相当复杂)。如果查询条件中没有NOT EXISTS部分,倒是不要一秒就能查询出来。 SELECT * FROM dbo.UVW_PDATest a WITH(NOLOCK)WHERE Remark='前纺' AND Operation_Name='粗纱' AND One_Status...
09:12 by 潇湘隐者, 4397 阅读, ,
SQL Server 中什么情况会导致其执行计划从索引查找(Index Seek)变成索引扫描(Index Scan)呢? 下面从几个方面结合上下文具体场景做了下测试、总结、归纳。 1:隐式转换会导致执行计划从索引查找(Index Seek)变为索引扫描(Index Scan) Implicit Conversion will cause index scan instead of ind...
10:46 by 潇湘隐者, 516 阅读, ,
在SQL SERVER 2008上上禁用sa登录时,遇到下面错误:“Cannot set a credential for principal 'sa'. (Microsoft SQL Server,错误: 15535)” 官方文档/zh-cn/kb/956177 分析了原因以及解决方案。 出现原因 如果在登录属性-sa对话框的常规选...
11:41 by 潇湘隐者, 2459 阅读, ,
今天一同事使用SSMS 2012 连接数据库时,遇到了“provider:SSL Provider,error:0-等待的操作过时”,搜索了一下,遇到一哥 们也遇到这个问题:SQLServer 2012 已成功与服务器建立连接,但是在登录前的握手期间发生错误。 (provider: SSL Provider, error: 0 - 等待的操作过时。 在cmd命令窗口输入...
15:32 by 潇湘隐者, 158 阅读, ,
如果Reporting Service偶尔出现不可访问或访问出错情况,这种情况一般没有做监控的话,很难捕捉到。出现这种问题,最好检查Reporting Service的日志文件。 今天早上就遇到这样一个案例,应用程序监控到调用SQL SERVER 2005的Reporting Service出现Method failed: HTTP/1.1 500 Internal Server Err...
18:31 by 潇湘隐者, 4241 阅读, ,
在SQL SERVER的查询语句中使用OR是否会导致不走索引查找(Index Seek)或索引失效(堆表走全表扫描 (Table Scan)、聚集索引表走聚集索引扫描(Clustered Index Scan))呢?是否所有情况都是如此?又该如何优化呢? 下面我们通过一些简单的例子来分析理解这些现象。下面的实验环境为SQL SERVER 2008,如果在不同版本有所区别,欢迎指正。 堆表单索...
16:28 by 潇湘隐者, 260 阅读, ,
作业配置规范文档(MS SQL) 文档类型 MS SQL数据库作业配置规范文档 创建日期
版本变化 V3.0 修改记录 修改人 修改日期 版本 修改描述 潇湘隐者
V1.0 创建制定文档 潇湘隐者
V2.0 修改部分内容,例如Schedule命名 ...
16:26 by 潇湘隐者, 4884 阅读, ,
SQL Server中的最大并行度(max degree of parallelism)如何设置呢? 设置max degree of parallelism有什么好的建议和指导方针呢?在微软官方文档Recommendations and guidelines for the &max degree ...
16:35 by 潇湘隐者, 4616 阅读, ,
本文总结一下SQL SERVER 链接到SQL SERVER 2000的各种坑,都是在实际应用中遇到的疑难杂症。可能会有人说怎么还在用SQL SERVER 2000,为什么不升级呢? 每个公司都会有一两个几乎快被人遗忘的系统,接手维护这些系统的人可能都不知换了多少批了。它们的命运注定慢慢消亡。然而偏偏却又生命力顽强,总还有一些人在使用着这些系统。所以就处在一种尴尬的...
16:12 by 潇湘隐者, 402 阅读, ,
前几天一同事反映海外工厂A的SSRS报表比较慢,让我检查优化一下。于是我检查了下到 12:00这段时间报表的耗时记录 USE [ReportServer]; GO SELECT C.Name AS ReportName ,E.ReportID ...
11:48 by 潇湘隐者, 1056 阅读, ,
开发人员遇到一个及其诡异的的SQL性能问题,这段完整SQL语句如下所示: declare @UserId INTdeclare @PSANo VARCHAR(200)declare @ShipMode VARCHAR(10)declare @CY_FLAG VARCHAR(1)declare @P...
20:14 by 潇湘隐者, 1329 阅读, ,
开发人员测试时,发现生产服务器与测试服务器执行SELECT CAST(GETDATE() AS VARCHAR(10))语句显示的格式不一样。如下所示 Server A Server B 其实出现这个问题,是因为登录名(login)的语言不一致所致,如下所示 可以使用下面SQL语句来检查对应的默认语言 SELECT @@LANGUAGE 或 SELECT loginname,name...
12:03 by 潇湘隐者, 455 阅读, ,
使用SSMS 2008客户端工具逆向生成了创建链接服务器的脚本时,在测试环境执行是报如下错误:'(null)' is an invalid product name. USE [master]GOIF EXISTS (SELECT srv.NAME FROM sys.servers srv WHERE srv.server_id != 0 ...
00:01 by 潇湘隐者, 10743 阅读, ,
其实本来这个问题没有什么好说的,今天优化的时候遇到一个SQL语句,因为比较有意思,所以我截取、简化了SQL语句,演示给大家看,如下所示 declare @bamboo_Code varchar(3); set @bamboo_Code='-01'; SELECT DISTINCT yarn_lotFROM dbo.rsjob WITH ( nolock )WHERE RIGHT(...
12:19 by 潇湘隐者, 281 阅读, ,
案例环境: 服务器A系统: Windows Server 2000 数据库版本 : Microsoft SQL Server 2000 - 8.00.2282 (Intel X86) 服务器B系统: Windows Server 2003 数据库版本 : Microsoft SQL Server...
17:19 by 潇湘隐者, 1163 阅读, ,
在新UAT服务器上,需要将tempdb放置在SSD(固态硬盘)上。由于SSD(固态硬盘)特性,所以tempdb的文件只能放置在D盘下面,而不能是D盘下的某一个目录下面。 ALTER DATABASE tempdbMODIFY FILE(name='tempdev', filename='D:\tempdb.mdf') ; GO ALTER DATABASE tempdbMODIFY FI...
23:54 by 潇湘隐者, 10351 阅读, ,
在SSMS(Microsoft SQL Server Management Studio)里面,查看数据库对应的表的时候,会遇到“Lock Request time out period exceeded.(Microsoft SQL Server, 错误1222)”,对应的中文错误提示为“已超过了锁请求超时时段。 (Microsoft SQL Server,错误: 1222)”,如下截图...
15:46 by 潇湘隐者, 530 阅读, ,
今天收到一封邮件说我们的一台SQL SERVER 2000服务器发送邮件有问题。我测试中发现了如下错误: exec xp_sendmail '','hello, 123' xp_sendmail:由于邮件错误0x而失败解决方法 一直对手头的SQL SERVER 2000服务器关注比较少。之前这台服务器也偶尔会出现发送不了邮件的问题,一...
11:13 by 潇湘隐者, 494 阅读, ,
在测试服务器还原生产服务器的一个数据库时遇到了下面错误:System.Data.SqlClient.SqlError: RESTORE detected an error on page (0:0) in database &xxxx& as read from the backup set. (...
23:54 by 潇湘隐者, 4328 阅读, ,
案例描述 这是在索引重组过程中遇到的有意思的错误案例,搜索了一下也没有看到相关资料,估计我第一个碰到这类错误的人(It's just a joke)。具体情况是YourSQLDba在做维护数据库索引时遇到了索引重组错误,然后我排查时就发现了这个案例。我下面用一个简单的测试例子演示一下具体情况。 数据库版本: SQL SERVER 2005 CREATE TABLE TEST ( ...
23:53 by 潇湘隐者, 5044 阅读, ,
在SQL Server数据库中如何修改数据库对象(表、视图、存储过程..)的所有者(Owner)呢?一般我们可以使用系统提供的系统存储过程sp_changeobjectowner来修改。 我们先看看sp_changeobjectowner在MSDN的文档介绍吧 更改当前数据库中对象的所有者。 重要提示:此存储过程只针对 Microsoft SQL Server 2000 中可用的对象进行。...
12:06 by 潇湘隐者, 293 阅读, ,
使用YourSQLDba做备份、维护、管理时,偶尔会收到一些备份失败的邮件。导致YourSQLDba备份失败的情况比价多,打算在此篇中对YourSQLDba备份失败的案例做一些总结、整理。 1:YourSQLDba由于事务日志满了。具体情况如下: 检查YourSQLDba备份失败日志信息,你会看到下面这类错误信息。 The transaction log for database 'x...
09:13 by 潇湘隐者, 641 阅读, ,
案例环境: 操作系统 : Microsoft Windows Server 2003 Standard Edtion SP2 数据库版本 : SQL Server 2005 Standard Edition SP4 案例描述: 服务器重启过后,MSSQLSERVER服务自动重启了,但是SQLSERVERAGENT服务启动失败(当然SQL Agent服务的启动类型为自...
14:01 by 潇湘隐者, 458 阅读, ,
今天有个同事找我,他说他有个需求,需要进行行转列,但是又跟一般的行转列有些区别,具体需求如下所说,需要将表1的数据转换为表2的显示格式. 我想了一下,给出了一个解决方法,具体如下所示(先给出测试数据) INSERT INTO TEST SELECT 1, 1, '定型名称', '预定型' UNION ALLSELECT 1, 2, '进布...
23:58 by 潇湘隐者, 533 阅读, ,
我们监控SQL SERVER数据库的阻塞情况时,老是收到在SSRS 里面出现SQL阻塞情况,刚开始由于事情多,没有太关注ReportServerTempDB里面的会话阻塞情况,但是老是出现这种频繁阻塞情况,不得不仔细研究一下SSRS的Blocking问题。 Blocking SQL Text CREATE PROCEDURE [dbo].[Writelocksession] @Se...
00:25 by 潇湘隐者, 1639 阅读, ,
遇到一个有意思的Reporting Services报表的案例,在号的凌晨20分左右的时候,有人发现Reporting Services的速度非常慢,而且最后有抛出异常,当时不知道什么情况。只是记录了其中一张报表的名字,以及出错信息截图。如下所示: 第二天,我首先通过下面SQL查看这张报表在 00:00到 02...
00:29 by 潇湘隐者, 1377 阅读, ,
在SQL SERVER的复制(Replication)中,有可能出现由于业务需求变更,需要新增一张表或一些表到已有的复制(发布订阅)当中,这种需求应该是很正常,也很常见的。但是在已有的复制(发布订阅)当中增加新表/文章,往往需要将整个快照重新初始化,这样做虽然简单,但是往往在实际应用中会出现一些问题,例如,发布订阅的表比较多,数据量比较大,那么重新初始化快照往往需要很长一段时间,影响系统正常运行...
11:42 by 潇湘隐者, 1093 阅读, ,
昨天下午5点多收到几封告警邮件,我还没有来得及看,GLE那边的同事就电话过来,说数据库出现告警了。让我赶紧看看,案例具体信息如下所示: 告警邮件内容: DATE/TIME:
17:08:52 DESCRIPTION: The log for database 'ecmsDB' is not available. Check the event log for ...
10:55 by 潇湘隐者, 1022 阅读, ,
这两天遇到一个非常奇怪的问题,给人的感觉有点匪夷所思,如下所示,在更新一个表的统计信息时,会遇到“遇到以零作除数错误”,本来这个错误是属于数学错误,但是居然出现在更新统计信息的SQL语句里面 UPDATE STATISTICS [dbo].[FIInspectFabric] SAMPLE 20 PERCENT; 消息 8134,级别 16,状态 1,第 1 行 遇到以零作除数错误。 ...
10:08 by 潇湘隐者, 1529 阅读, ,
早上检查数据库的备份邮件时,发现一台Microsoft SQL Server 2008 R2 (SP2)数据库的Maintenance Report有错误 在SSMS里面执行Exec YourSQLDba.Maint.ShowHistoryErrors 729脚本后,发现如下错误信息(数据库名用XXX替代): yMaint.backups backup log ...
15:13 by 潇湘隐者, 1858 阅读, ,
我们的一个Reporting Service服务上部署了比较多的SSRS报表,其中有一个系统的SSRS报表部署后,执行时间相对较长,加之供应商又在ASP.NET页面里面嵌套了Reporting Service的报表,使得用户对报表响应速度非常不满,于是和几个同事研究了一番如何定位、优化SSRS报表性能。 案例环境: 操作系统 : Windows Server 200...
16:48 by 潇湘隐者, 2696 阅读, ,
今天遇到了Reporting Services(SQL SERVER 2008 R2)的报表执行异常情况,报表加载数据很长时间都没有响应,最后报“An error occurred within the report server database. This may be due to a connection failure, timeout or low disk conditi...
10:25 by 潇湘隐者, 9482 阅读, ,
在整理手上几台SQL SERVER 2000的数据库备份时,一方面为了方便快速还原数据库,另外一方面为了备份冗余、备份方式统一(先备份到本地,然后收上磁带),将以前通过Symantec Backup Exec直接备份上带的作业改成了如下方式: Step 1: 通过数据库维护计划将备份生成在本地磁盘M,完整备份保留2天,事务日志备份保留3天 M:\DB_BA...
12:09 by 潇湘隐者, 2079 阅读, ,
SQL Server的错误消息(Error Message)按照消息的严重级别一共划分25个等级,级别越高,表示严重性也越高。但是如果你统计sys.messages,你会发现,实际上只有16(SQL SERVER )或17个(SQL SERVER 2005)个级别。猜测应该是一些留作扩展用,一些留作用户自定义错误消息的级别。 sys.messages中有个字段is...
11:36 by 潇湘隐者, 3304 阅读, ,
在数据库服务器删除复制(发布订阅)后,如何删除掉数据库distribution呢?如果你通过SSMS工具去删除数据库distribution,你会发现根本没有删除选项。 下面介绍一下删除distribution的步骤 步骤1: 查看相关订阅服务器的信息,如果还存在对应的订阅服务器,从注册的服务器中删除订阅服务器名称 exec sp_go exec...
17:17 by 潇湘隐者, 8817 阅读, ,
微软SQL Server Product Team在9月26号官方博客宣布,Microsoft SQL Server 2008 R2 Service Pack 3 (SP3)正式发布了 。具体信息可以参考官方发布的博客SQL Server 2008 R2 Service Pack 3 has re...
12:18 by 潇湘隐者, 267 阅读, ,
今天登录YourSQLDba的官方网站http://yoursqldba.grics.ca/index_en.shtml,发现YourSQLDba项目已经发布到开源网站/了。YourSQLDba项目的地址为http://yoursqldba.codep...
15:01 by 潇湘隐者, 1373 阅读, ,
案例环境: 操作系统版本 : Windows Server 2012 R2 Standard 数据库版本 : SQL Server 2012 Standard Edition SP2 案例介绍: 其实已经是第二次碰到这种情况,还是决定将这个案例记录一下。第一次是做数据库迁移时碰到,没有时间整理记录,第二次准备一个测试环境,从虚拟机一个服务器克...
17:00 by 潇湘隐者, 1045 阅读, ,
案例环境: 操作系统版本: Windows Server 2012 R2 Standard 数据库版本 : SQL SERVER 2012 SP2 案例介绍: 今天进入一台新安装的SQL Server服务器的Reporting Service管理界面时,出现如下错误信息 The report server cannot open a connection to the report ser...
16:34 by 潇湘隐者, 2322 阅读, ,
案例环境: 服务器环境 : Windows Server 2012 R2 Standard 数据库版本 : SQL Server 2012 SP1 案例介绍: 在Windows Server 2012 R2 Standard版本上安装SQL SERVER 2012时,安装过程弹出如下错误提示:Error while enabling Windows feature: NetFx3, E...
11:58 by 潇湘隐者, 45015 阅读, ,
概念介绍 开发人员喜欢在SQL脚本中使用WITH(NOLOCK), WITH(NOLOCK)其实是表提示(table_hint)中的一种。它等同于 READUNCOMMITTED 。 具体的功能作用如下所示(摘自MSDN): 1: 指定允许脏读。不发布共享锁来阻止其他事务修改当前事务读取的数据,其他事务设置的排他锁不会阻碍当前事务读取锁定数据。允许脏读可能产生较多的并发操作,但其...
10:28 by 潇湘隐者, 1084 阅读, ,
案例环境: 服务器配置: CPU: Intel E5-2690 RAM: 12G 虚拟机 操作系统 : Windows Server 2008 R2 Standard Edtion x64 数据库版本: SQL SERVER 2008R2 案例介绍: 晚上收到数据库一封告警邮件SQL Server Alert System: 'Severity 016' occurred o...
23:21 by 潇湘隐者, 1796 阅读, ,
前言: 本文对这篇博客Clustered Tables vs Heap Tables 的翻译, 如有翻译不对或不好的地方,敬请指出,大家一起学习进步。 问题描述 创建一个新表时,一个非常重要的设计原则就是创建还是不创建聚集索引的决定。没有聚集索引的表被称为堆,拥有聚集索引的表叫聚集索引表。 聚集索引表比堆表拥有一些好处(优势),比如聚集索引表是基于聚集索引键顺序存储的,正因为如此,所以通过聚集...
22:19 by 潇湘隐者, 1376 阅读, ,
今天一个同事说在一个生产库执行某个存储过程,遇到了错误: Fatal error 605 occurred at jul 29 2014 我试着执行该存储过程,结果出现下面错误,每次执行该存储过程,得到的错误内容都不一样(page变化,还有就是allocation unit)变化 消息 605,级别 21,状态 3,过程 usp_xxxxxxxxx,第 228 行 Attempt to ...
16:17 by 潇湘隐者, 4715 阅读, ,
案例环境: 操作系统版本 : Windows Server 2008 R2 Standard SP1 数据库版本 : Microsoft SQL Server 2012 (SP1) - 11.0.3000.0 (X64) 案例介绍: 由于不能将生产环境的代码和数据贴上来,所以我构造了下面一个小案例,当然没法和生产环境的案例一致。只能是接近而已。但是足以反映问题本质就足够了。 DRO...
23:17 by 潇湘隐者, 1444 阅读, ,
前几天在在桦仔的SQLSERVER走起微信公众帐号看到一篇文章MS SQL Server2014链接MS SQL Server 2000,当时手机上囫囵吞枣看了个大概,知道是由于SQL SERVER Native Client版本问题,没想到不过几天,自己就一脚踩到这个坑里面了,真是感概万千,下文主要讲述一下SQL SERVER Native Client 10的安装过程。 网上搜索SQL ...
21:56 by 潇湘隐者, 3419 阅读, ,
案例环境: 数据库版本: Microsoft SQL Server 2005 (Microsoft SQL Server 2005 - 9.00.5000.00 (X64) ) 案例介绍: 对一个数据库实例做清理工作时,发现有一个很久之前禁用的数据库维护作业,于是遂删除该作业,但是删除该作业时,遇到如下错误: 脚本删除操作: USE [msdb]GOEXEC msdb.dbo.sp_de...
23:18 by 潇湘隐者, 807 阅读, ,
公司一直使用YourSQLDba做本地备份,磁带机将本地备份文件上带做异地容灾备份。近期整理、验证备份时发现本地备份目录命名五花八门 其中有历史原因,也有无规划化的缘故,看着这些五花八门的目录,越看越不顺眼。于是想统一规范化。备份目录统一为DB_BACKUP,完整备份位于FULL_BACKUP子目录,事务日志备份位于LOG_BACKUP子目录下。例如如下所示: 完整备份目录 :G:\D...
15:30 by 潇湘隐者, 3248 阅读, ,
在查看执行计划或调优过程中,执行计划里面有些现象总会让人有些疑惑不解: 1:为什么同一条SQL语句有时候会走索引查找,有时候SQL脚本又不走索引查找,反而走全表扫描? 2:同一条SQL语句,查询条件的取值不同,它的执行计划会一致吗? 3: 同一条SQL语句,其执行计划会变化,为什么 4: 在查询条件的某个或几个字段上创建了索引,执行计划就一定会走该索引吗? 5:同时存在几个索引...
14:10 by 潇湘隐者, 9021 阅读, ,
案例环境: 启动一台数据库服务器(Windows Server 2003)的Reporting Service(SQL Server 2008 R2)服务时,出现如下错误信息: System.InvalidOperationException: Cannot start service ReportServer on computer 'xxx'. ---& ponen...
10:34 by 潇湘隐者, 554 阅读, ,
今天开发同事找我,说为什么Reporting Services服务器的报表管理的订阅选项里面只有”新建订阅“选项, 没有”数据驱动订阅&选项,说实话,我也基本上没有用过这项功能,于是去官方文档查看关于“数据驱动订阅”的一些知识。 搞了半天,原来SQL Server 2008只有Evaluation、Developer、Enterprise三个版本支持这个功能,标准版本以及具有高级服务的 SQL...
09:08 by 潇湘隐者, 1168 阅读, ,
问题出现环境: 使用SQL Server Management Studio 2008 连接到SQL Server 2000的数据库,点击其中一个Oracle链接服务器,单击“目录”时,Linked Server弹出如下错误信息.使用另外一个拥有sysadmin角色的账号登录检查发现没有此类问题。 错误详细信息如下所示:有用的信息只有一条:EXECUTE permission denied o...
09:18 by 潇湘隐者, 2837 阅读, ,
前言: 本文是对博客//5-performance-killers-when-working-with-linked-servers/的翻译, 如有翻译不对或不好的地方,敬请指出,大家一起学习进步。尊重原创和翻译劳动成果,转载时请注明出处。谢谢! 当使用链接服务器(Linked Servers)时,最昂贵的代价就是网络带宽间...
11:17 by 潇湘隐者, 2717 阅读, ,
数据库产生阻塞(Blocking)的本质原因 :SQL语句连续持有锁的时间过长 ,数目过多, 粒度过大。阻塞是事务隔离带来的副作用,它是不可避免的,而且是一个数据库系统常见的现象。 但是阻塞的时间和出现频率要控制在一定的范围内,阻塞持续的时间过长或阻塞出现过多(过于频繁),就会对数据库性能产生严重的影响。 很多时候,DBA需要知道数据库在出现性能问题时,有没有发生阻塞? 什么时候...
10:30 by 潇湘隐者, 9925 阅读, ,
在操作系统Win7上安装SQL Server 2012时,报如下错误:也就是说SQL Server 2012如要要安装在Windows 7 上,则至少需要安装SP1补丁。否则就会弹出上面提示信息。关于安装SQL Server 2012的硬件和软件的要求,MSDN有详细的说明:下面内容摘抄自MSDN...
16:05 by 潇湘隐者, 4047 阅读, ,
如果DBCC CHECKDB发现了比较少的一致性错误,可以使用 DBCC UPDATEUSAGE(DatabaseName,&dbo.ObjectName&); 语句逐个针对表或索引中的每个分区更正行、已用页、保留页、叶级页和数据页的计数。但是如果数据库出现大量一致性错误。例如如下所示:DBCC ...
15:05 by 潇湘隐者, 1098 阅读, ,
MS SQL统计信息浅析上篇对SQL SERVER 数据库统计信息做了一个整体的介绍,随着我对数据库统计信息的不断认识、理解,于是有了MS SQL统计信息浅析下篇。 下面是我对SQL Server统计信息的一些探讨或认识,如有不对的地方,希望大家能够指正。 触发统计信息更新条件疑问 关于这个触发统计信息更新的条件。因为我在很多资料上看到过,例如Microsoft ...
17:11 by 潇湘隐者, 20765 阅读, ,
前言:有时候管理、维护Windows服务器需要定期重启服务器(为什么需要重启,你懂的),但是这个“定期”有时候会受很多因素影响,例如某台服务器忘了重启;某台服务器那个时间段业务繁忙,不能重启;那个时间段你忘了重启服务器.....。 诸如此类。当你的Schedule被打乱了。这个时候,你就需要查看服务器运行了多长时间,下面介绍一下如何查看Windows服务器运行时间的方法 方法一:如果这台Wind...
14:57 by 潇湘隐者, 6943 阅读, ,
案例背景:公司从意大利购买了一套中控系统,前期我也没有参与其中(包括安装、实施都是第三方),直到最近项目负责人告诉我:前期谈判以为是数据库的License费用包含在合同中,现在经过确认SQL Server 数据库的License需要我们这边提供。等我连接到该数据库服务器检查时,发现数据库版本为2012 Enterprise Evaluation Edition (64-bit),而公司现在只购买了2012 Standard Edition 。那么我现在需要安装SQL SERVER 2012 Standard Edition。 刚开始我在纠结是卸载该版本后重新安装还是是否可以通过“Edit...
12:10 by 潇湘隐者, 229 阅读, ,
有一朋友咨询我,他配置的YourSQLDba 备份作业经常出现备份失败的情况,我帮忙查看了一下,首先从告警邮件中查看出错的具体信息,执行了下面SQL语句(来自于告警邮件) Exec YourSQLDba.dbo.ShowHistory @JobNo = 37732, @DispLimit = 1, @FilterErr = 1 最后一行的详细信息如下所示:& -- This line is NULL in the command output. If an Antivirus runs on the SQL check that backup directory is
12:06 by 潇湘隐者, 16673 阅读, ,
背景介绍: 公司一套系统使用的是SQL SERVER 2008数据库,突然一天收到邮件,需要将这套系统部署到各个不同地方(海外)的工厂,需要在各个工厂部署该数据库,等我将准备工作做好,整理文档的时候,坑爹的事情发生了,居然发现有两三个工厂使用的还是SQL SERVER 2005数据库,要命的是这几个工厂没有SQL SERVER 2008的数据库服务器。而其中两个正准备做服务器的迁移升级,但...
23:11 by 潇湘隐者, 7602 阅读, ,
今天修改SQL SERVER 2012的数据库默认位置:即数据文件、日志文件默认位置时遇到一个问题,单击&服务器属性”(Server Properties)——& 数据库设置(Database Settings), 修改了数据文件和日志的默认路径。点击确认后再打开该属性窗口,居然发现修改的值变回修改前的值了。刚开始我以为是修改没有生效,没有修改到注册表,但是检查注册表,在HKEY_LOCAL_MA...
17:31 by 潇湘隐者, 693 阅读, ,
如果在客户端计算机上启动Microsoft SQL Server 2012的 ClickOnce 版本的 Microsoft SQL Server 报表生成器时出现“无法检索应用程序文件。部署中的文件已损坏”时,一般是由于客户端计算机上没有安装 Microsoft.NET Framework 4 或更高版本的.NET Framework 版本,安装了Microsoft.NET Framework ...
23:21 by 潇湘隐者, 988 阅读, ,
Dell PowerVault TL4000 磁带库机的指示灯告警,从Web管理平台登录后,在菜单“Library Status”下发现如下告警信息: Library Status: Media Attention 出现这个告警,一般是因为磁带卡住、磁带损坏等原因造成,需要进一步验证、检查具体原因,在菜单Inventory下找到了原因: Slot 32下有一盒编码为的...
12:20 by 潇湘隐者, 1029 阅读, ,
在分离数据库DatabaseName(暂且用DatabaseName代替该数据库名)后,我将其数据文件以及日志文件移动到新增的磁盘上。然后附加该数据库,结果报如下错误: Database 'DatabaseName' cannot be upgraded because it is read-only or has read-only files. Make the database or ...
14:12 by 潇湘隐者, 1205 阅读, ,
早晨宁波那边的IT人员打电话告知数据库无法访问了。其实我在早晨也发现Ignite监控下的宁波的数据库服务器出现了异常,但是当时正在检查查看其它服务器发过来的各类邮件,还没等到我去确认具体情况,就收到了电话。我首先检查网络是否畅通,结果发现网络没有问题,然后远程登录到该服务器,查看了一下数据库的服务发现其运行正常,但是在本机使用MSSMS管理工具亦无法连接数据库,当下有两种方案:方案一:...
11:39 by 潇湘隐者, 2769 阅读, ,
一同事在测试服务器(系统:Windows 2008 R2 Standard 数据库:SQL SERVER 2008 R2)通过链接服务器test使用分布式事务测试时出错,出错信息如下: set xact_abort on begin tran update test.mydb.dbo.test_one set name='test' where id= 3 ; commit O...
22:20 by 潇湘隐者, 4631 阅读, ,
今天一个同事突然告诉我,以前跑得很正常的一个SQL语句,执行时突然报如下错误: 消息1222,级别16,状态18,第1 行 已超过了锁请求超时时段。 消息8630,级别16,状态1,第1 行 内部查询处理器错误: 查询处理器在执行过程中遇到意外错误。 我执行了一下这个SQL语句,也是报如上错误,感觉有点奇怪,还...
15:44 by 潇湘隐者, 7829 阅读, ,
今天在一台数据库服务器上(Microsoft SQL Server 2008 R2 (SP2) - 10.50.4000.0 (X64) Standard Edition (64-bit))使用sp_configure更改当前服务器的全局配置设置时,遇到错误提示为“消息 5808,级别 16,状态 1,第 1 行 Ad hoc update to system catalogs is not supported”,一般对应的中文错误提示为:“消息 5808,级别 16,状态 1,第 1 行 不支持对系统目录进行即席更新”。Code SnippetEXEC sp_configure'sh
17:58 by 潇湘隐者, 4366 阅读, ,
实验环境:服务器 Windows Server 2008 R2 Standard 64bit 数据库 SQL SERVER 2008 R2 Standard 64bit 问题1:在SQL Server 2008下,配置了Reporting Services后,在IE里输入http://localhost/Reports/Pages/Folder.asp...
15:47 by 潇湘隐者, 2690 阅读, ,
孤立用户概念 所谓孤立用户即指在服务器实例上未定义或错误定义了其相应 SQL Server 登录名的数据库用户无法登录到实例。 这样的用户被称为此服务器实例上的数据库的“孤立用户”。 如果删除了对应的 SQL Server 登录名,则数据库用户可能会变为孤立用户。 另外,在数据库还原或附加到 SQL Server 的其他实例之后,数据库用户也可能变为孤立用户。 如果未在新服务器实例...
20:45 by 潇湘隐者, 8491 阅读, ,
在上篇MS SQL 排序规则总结中,大致就数据库服务器排序规则(或者叫数据库实例排序规则)、数据库排序规则、列的排序规则粗浅的叙说了一遍,重点讲述了修改数据库服务器排序规则(数据库实例排序规则),其中对于数据库排序规则的修改只是粗略带过。其实相对而言,修改服务器排序规则(数据库实例排序规则)相对简单一些,修改数据库的排序规则就复杂多了,因为涉及到数据、SQL脚本等等,例如,一不小心,修改排序规则后...
10:05 by 潇湘隐者, 954 阅读, ,
有时候,分发数据库(Distribution Database)会增长得非常大,那么如何解决呢,请看Chris Skorlinski, Microsoft SQL Server Escalation Services 的解决方案。原文地址:How to resolve when Distribution Database is growing huge (+25gig), 本人翻译水平有限,如果有什么地方翻译不当或不对的地方,请不吝指教!是的,我当然知道大数据库是相对的,但总体来说,如果你看到分发数据库越来越大增长到25G,这意味着清理进程很难删除复制事务,后面我将介绍如何以及为什么清理过程会
09:22 by 潇湘隐者, 1434 阅读, ,
昨天发现发布服务器S(SQL Server 2008 R2),出现大量如下错误错误细节如下所示:Date 10/16/:14 PMLog SQL Server (Current - 10/16/:00 PM)Source spid52MessageReplication-Replication Transaction-Log Reader Subsystem: agent xxxxx failed. The process could not execute 'sp_repldone/sp_replcounters' on ' Ser
21:54 by 潇湘隐者, 12486 阅读, ,
排序规则术语 什么是排序规则呢? 排序规则是根据特定语言和区域设置标准指定对字符串数据进行排序和比较的规则。SQL Server 支持在单个数据库中存储具有不同排序规则的对象。MSDN解释:在 Microsoft SQL Server中,字符串的物理存储由排序规则控制。排序规则指定表示每个字符的位模式以及存储和比较字符所使用的规则 当 Transact-SQL 语句在具有不同排...
22:39 by 潇湘隐者, 2229 阅读, ,
SQL SERVER作业的计划(Schedules),如果你没仔细研究过或没有应用一些复杂的计划(Schedules),那么你觉得SQL SERVER作业的计划(Schedules)非常好用,也没啥问题,但是我要告诉你一个“残酷”的真相,相比Linux系统的Crontab,SQL SERVER作业的计划其实是一个二等残废,很多功能要实行起来真的是让人头疼!如果你自认为非常了解作业的配置(不要想当然,实践验证保证会让你大吃一惊)?那么接下来先看看几个问题:1:如果你要配置作业在每个小时的第20分钟执行,例如1:20、2:20、3:20........执行,你怎么配置?2:在计划(Schedul.
14:36 by 潇湘隐者, 17113 阅读, ,
今天有个同事问我一个SQL问题,觉得有点意思,虽然能很快定位并解决问题,但是就是有种说不清道不明的感觉。因为不能解释清楚(很多是建立在假设上),顺便记录一下,希望有清楚原理的人能解答一二。原SQL语句不便于说明问题,我用一个简单的例子来描述这个问题,请看下面SQL:SELECT TYPE, COUNT(1) FROM sys.objects tGROUP BY sys.objects.消息 4104,级别 16,状态 1,第 2 行无法绑定由多个部分组成的标识符 &sys.objects.type&。如果是English版本,则会报如下错误:消息 4104,级别
11:45 by 潇湘隐者, 6028 阅读, ,
在SQL SERVER 2005中,微软引入了一个叫做数据库专用管理员连接方式(DAC Dedicated Administrator Connection)的特性,使用这个新特性,数据库管理员可以在数据库引擎不能响应正常连接时,可以通过DAC连接到数据库,执行诊断函数或T-SQL语句,对数据库服务器进行问题诊断和故障排除(即使数据库实例以锁定或非正常状态下运行)。其实DAC还有一个非常有用的用途,用来研究数据库内部的表、目录视图等。以前我也写过关于DAC的一篇文章SQL Server数据库专用管理员DAC连接方式,当时的实验环境是SQL Server 2005,现在来看,感觉有些侧重点和问题
13:59 by 潇湘隐者, 1877 阅读, ,
微软SQL SERVER 2008数据库有6个版本,分别是数据中心版、企业版、标准版、Web版、工作组版、简易版,有时候购买的时候或需要使用某项功能时,需要了解各个版本的区别,功能差异,很多时候,大部分人都没法记得那么清楚,只能上网搜索一下,但是很多搜索结果往往不那么让人满意,要么挂羊头卖狗肉,要么信息残缺不全,其实微软官网有提供了/zh-cn/SQLServer/product-info/compare.aspx这样一个对比功能,你只需选择你需要对比的版本,就可以从可伸缩性、高可用性、虚拟化支持、复制.....等多方面得到你想要的结果。非常方便
20:13 by 潇湘隐者, 1145 阅读, ,
最近碰到一个有趣的错误:海外的一台数据库服务器上某些作业偶尔会报错,报错信息如下所示:-------------------------------------------------------------------------------------------------------------------------------------------------日期
12:00:00日志 作业历史记录 (JOB_SYNCHRONIZING_ESCM_DATA_EAV)步骤 ID 0服务器 EGVNT02作业名称 JOB_SYNCHRONIZING_ESCM_DA
23:08 by 潇湘隐者, 4079 阅读, ,
统计信息概念 统计信息是一些对象,这些对象包含在表或索引视图中一列或多列中的数据分布有关的统计信息。数据库查询优化器使用这些统计信息来估计查询结果中的基数或行数。 通过这些基数估计,查询优化器可以生成高质量的执行计划。 例如,查询优化器可以使用基数估计选择索引查找运算符而不是耗费更多资源的索引扫描运算符,从而提高查询性能。[参考MSDN] 其实如果你以前没有接触过统计信息,你可以将其看做是数据库为了得到最优的执行计划,统计数据库里面表、索引等对象的一些数据,例如表的记录数、所有列的平均长度、直方图....等一些优化器需要用到的数据信息。SQL查询优化器是一个基于成本的优化器,类似于ORACLE
13:49 by 潇湘隐者, 1741 阅读, ,
公司有一个老系统,这个系统所用的数据库是SQL SERVER 2000,它所在的Dell服务器已经运行超过10年了,早已经过了保修服务期,最近几乎每周会出现一次故障,加之5月份另外一台服务器坏了两个硬盘,所以非常担心这台服务器“寿终正寝”,跟开发维护那边沟通,想将数据库迁移升级到SQL SERVER 2008,但是由于是老旧系统,现在的负责人不敢做数据库升级,最终协商下来,只能迁移到另外一台服务器,不做升级。 在部署测试环境时,先将master,msdb等系统数据库直接拷贝过去覆盖原系统数据库,启动数据库后,出现了莫名错误。不得已只能从生产库备份master后在测试库还原,然后莫名的错误解决.
19:00 by 潇湘隐者, 8351 阅读, ,
作业介绍 SQL SERVER的作业是一系列由SQL SERVER代理按顺序执行的指定操作。作业可以执行一系列活动,包括运行Transact-SQL脚本、命令行应用程序、Microsoft ActiveX脚本、Integration Services 包、Analysis Services 命令和查询或复制任务。作业可以运行重复任务或那些可计划的任务,它们可以通过生成警报来自动通知用户作业状态,从而极大地简化了 SQL Server 管理[参见MSDN]。 创建作业、删除作业、查看作业历史记录....等所有操作都可以通过SSMS管理工具GUI界面操作,有时候也确实挺方便的。但是当一个实例有多个
21:20 by 潇湘隐者, 576 阅读, ,
从SQL SERVER 2000 上迁移了一个数据库到SQL SERVER 2008 R2上,暂且用DataBaseName代替迁移的真实的数据库名(后面的资料也会将数据库真实的名字用DataBaseName代替),迁移过程中也没有啥问题,配置了YourDataBase,作业“YourSQLDba_FullBackups_And_Maintenance”每天凌晨12点整运行,结果第一天晚上YourDatabase将数据库DataBaseName置于紧急模式,检查错误日志情况如下:错误现象: YourSQLDba对数据库做一致性检查时,发现有错误,所以它将该数据库置于紧急模式,具体内容如下所查.
09:30 by 潇湘隐者, 2281 阅读, ,
前言碎语 关于对SQL SERVER 日志文件管理方面了解不多的话,可以参考我的这篇博客文章“MS SQL 日志记录管理”,不过这篇文章只是介绍对SQL SERVER日志记录的深入认知了解,并没有提出如何管理日志文件的方案,如果你有兴趣的话,倒不妨可以钻研一下如何管理、提取日志记录信息,这是数据库精...
15:23 by 潇湘隐者, 2763 阅读, ,
SQL Server方面的博客文章也陆陆续续的写了不少了,顺便也将这些知识点整理、归纳一下下。方便自己和他人查看。 MS SQL 数据类型 三大数据库对比研究系列——数据类型 MS SQL 表和视图 数据库表的基本信息,你知道吗? 数据查询表,列名对比 MS SQL 建表SQL的脚本 查看数据库、表、索引的物理存储情况 慎用SELECT INTO复制表 MS SQL 索引约束 ...
23:47 by 潇湘隐者, 2478 阅读, ,
今天在Windows Server 2008 下安装SQL SERVER 2008时,碰到如下错误:You must use the Role Management Tool to install or configure Microsoft .NET Framework 3.5 SP1。既然碰到了顺便还是记录一下,虽然感觉没啥技术含量也没有难度,有时候有必要养成一个好习惯。记录你碰到的问题、解决问题的方案,你思考的点点滴滴!打开 Server Manager,在“Features”下勾选&.NET Framework 3.5.1 Features(Installed)&,
23:19 by 潇湘隐者, 2809 阅读, ,
在SQL SERVER 2008 R2下用Windows 身份认证的登录名创建了一个访问ORACLE数据库的链接服务器xxxxx,测试成功,木有问题,但是其它登录名使用该链接服务器时,报如下错误:消息 7302,级别 16,状态 1,第 1 行Cannot create an instance of OLE DB provider &OraOLEDB.Oracle& for linked server &xxxxxx&.此时需要在“服务器对象”——&“链接服务器”——&“访问接口”下,找到OraOLEDB.Oracle选项,单击右键选择属性,
20:21 by 潇湘隐者, 1018 阅读, ,
公司一台老旧的SQL SERVER 2000 数据库,一周内会出现若干次(一次或多次)CPU 持续100%,导致应用程序没有反应的情况,如下图所示:错误信息如下所示:日期
2:14:03日志 SQL Server (存档编号6 -
8:49:00)源 server消息错误: 17883,严重度: 1,状态: 0日期
2:14:03日志 SQL Server (存档编号6 -
8:49:00)源 server消息调度程序 2 似乎已被...
20:47 by 潇湘隐者, 1402 阅读, ,
前几天给开发部门部署测试数据库时,遇到一个很诡异的问题:创建一个链接服务器GEK-MIS01时,报错如下: 消息 15190,级别 16,状态 1,过程 sp_dropserver,第 56 行 仍有对服务器 'GEK-MIS01' 的远程登录或链接登录。脚本如下(略去登录名等关键信息):/****** Object: LinkedServer [GEK-MIS01] Script Date: 07/05/:58 ******/IF EXISTS (SELECT srv.name FROM sys.servers srv WHERE srv.serv...
23:39 by 潇湘隐者, 789 阅读, ,
服务器环境大致情况如下:操作系统: Microsoft Windows Server 2003 R2 Enterprise Edition Service Pack 2数据库 : Microsoft SQL Server 2005 - 9.00.5000.00 (Intel X86) 。机器物理内存8G,开启了“使用AWE分配内存选项(U)&在这台服务器上,创建YourSQLDba后,配置过程中创建函数的时候,报如下错误,重试了几次都是如此,但是其它应用从来没有出过这个错误,而且这是一台生产服务器,很多应用在跑,所以这才是让我纳闷的地方:消息 701,级别 17,状态 13,过程 c
00:08 by 潇湘隐者, 4029 阅读, ,
纸上得来终觉浅,绝知此事要躬行。搞技术尤其如此,看别人配置SQL SERVER的复制,发布-订阅、镜像、日志传送者方面的文章,感觉挺简单,好像轻轻松松的,但是当你自己去实践的时候,你会发现还真不是那么一回事,毕竟环境不同、数据库版本或经验关系,你实践的时候会或多或少碰到一些问题,有可能人家是多次实践
23:10 by 潇湘隐者, 3808 阅读, ,
最近在配置SQL 2008的发布订阅功能时,遇到了几个小错误,顺便归纳总结一下(以后碰到各类关于发布订阅的错误都将收录、更新到这篇文章),方便自己在以后碰到这类问题时,能够迅速解决问题。毕竟人的记忆能力有时效性,时间久了,有可能有些东西就模糊了或忘了,好记性不如烂笔头。 错误1:在数据库服务器上新建本地发布服务时报错。 ...
20:57 by 潇湘隐者, 5665 阅读, ,
监控数据库运行下面是整理、收集监控数据库运行的一些常用脚本,也是MS SQL 日常维护管理常用脚本(一)的续集,欢迎大家补充、提意见。查看数据库登录名信息Code SnippetSELECT name AS LoginName ,dbnameAS DefaultDB ,createdateAS CreateDate,updatedateAS UpdateDate,languageAS Language,CASE WHEN isntname = 1 THEN 'NT USER'ELSE 'SQL USER'ENDAS UserTypeFROM
22:22 by 潇湘隐者, 1077 阅读, ,
今天上午,接到一个任务:迁移SQL SERVER 2005的报表服务到另外一台SQL SERVER 2008服务器,结果等我备份了两边服务器的ReportServer,ReportServerTempDB以及相关准备工作后,准备用Reporting Services 配置管理器(Reporting Services Configuration Manage)备份RS秘钥时,结果悲剧的一幕出现了。WMI错误,具体错误细节请见下面See the end of this message for details on invokingjust-in-time (JIT) debugging inst.
00:03 by 潇湘隐者, 6979 阅读, ,
SQL SERVER 数据库日常维护,管理,巡检过程中你可能经常需要用到一些SQL语句(亦或方法)来查看数据库服务器环境(操作系统版本, 磁盘空间,CPU,RAM信息),数据库信息(数据库版本,实例名称...),数据库对象等。查看数据库信息查看数据库服务器名称 方法1:SQL脚本查询,可以通过下面脚本来查询。 默认实例默认实例查询SELECT @@SERVERNAME AS SERVERNAME;SELECT SERVERPROPERTY('servername') AS ServerNSELECT srvname AS ServerName FROM sys.syss
22:57 by 潇湘隐者, 5172 阅读, ,
当SQL SERVER数据库状态为质疑(SUSPECT)状态时,我们可以用以下方法来处理:1. 修改数据库为紧急模式:ALTER DATABASE DBName SET EMERGENCY .2. 检查数据库的完整性:DBCC CHECKDB(‘DBName’)3. 检查没有错误则恢复数据库为正常模式:ALTER DATABASE DBName SET ONLINE;4 如检查数据库有错误则修改数据库为单用户模式,依情况选择以下命令行进行修复数据;Code SnippetDBCC CHECKDB('DBName',REPAIR_FAST);DBCC CHECKDB('D
20:24 by 潇湘隐者, 11176 阅读, ,
卸载SQL SERVER 数据库可能很多人都做过,但是我们需要注意,有时候可能没有完全卸载干净。当然SQL SERVER不像ORACLE数据库,卸载不干净也完全可以重新安装,可能会出现安装不成功的情况,那么如何完全卸载数据库呢?下面的操作环境以WIN2008 + SQL SERVER 2008 R2为例来实验一下:步骤1: 关闭SQL SERVER的所有服务。步骤2: 若要开始卸载过程,请从“开始”菜单单击“控制面板”,然后双击“程序和功能”。选择要卸载的 SQL Server 组件,然后单击“卸载”。步骤3: 此时将启动 SQL Server 安装向导,点击Remove按钮,即可开始卸载SQ
00:43 by 潇湘隐者, 3933 阅读, ,
前言,这几天查看了很多关于SQL SERVER收缩数据文件方面的文章,准备写一篇关于收缩日志方面的文章,但是突然有种冲动将看过经典的文章翻译出来,下面这篇文章是翻译的是Paul Randal – “Why You Should Not Shrink Your Data Files”。有些比较难以翻译、清晰的地方,我会贴上原文。好了,不啰嗦了,直接看下面的翻译吧。 我最大的一个热点问题是关于收缩数据文件,虽然在微软的时候,我自己写了相关收缩数据文件代码,我再也没有机会去重写它,让它操作起来更方便。我真的不喜欢收缩。 现在,不要混淆了收缩事务日志文件和收缩数据文件,当事务日志文件的增长失控或为了.
18:54 by 潇湘隐者, 24648 阅读, ,
MS SQL的日志信息/日志记录,可能对你来说,既熟悉又陌生,熟悉是因为你可能一直都在使用,查看、关注一些日志信息/记录,例如,作业历史记录;陌生是因为你可能从不关注日志信息/记录的管理,这里我一直用日志信息/记录这个词,而没有用日志文件这个词来阐述,是想让大家把它和事务日志文件(ldf)区分开来,网上你用日志文件做搜索关键词,可能搜出来的都是事务日志相关的信息。其实它真的也叫日志文件,这篇文章我大概从日志记录分类、如何查看日志记录、日志记录的位置、日志记录的设置、为什么错误日志会暴增、如何清除日志记录等方面来讲述。日志记录分类按日志文件查看器,习惯将错误日志归为SQL SERVER、 SQ.
12:13 by 潇湘隐者, 1018 阅读, ,
SQL SERVER的事物日志传送(log shipping)功能,相信很多人都使用过或正在应用,这是MS SQL提供的一个非常强大的功能,一般需要一个主数据库服务器(primary/production database server)和辅助数据库服务器(standby server)来完成这个配置,默认情况下,主数据库和辅助数据库的版本应该是一致的,那么如果这两个数据库版本不一致,会不会有什么问题?还能做log shipping配置吗?那么数据库版本不一致分两种情况: 1: 类似于MS SQL 2005 64 bit SP4 与MS SQL 2005 SP3 32 bit这样的版本差别 .
23:15 by 潇湘隐者, 970 阅读, ,
前言: 在ORACLE数据库的SQL*PLUS里面有个DES(DESCRIBE)命令,它可以返回数据库所存储对象的描述,如下所示 SQL& DESC STUDENT_SCORE Name Type Nullable Default Comments ---------------- -------...
11:28 by 潇湘隐者, 1051 阅读, ,
用本机的 Microsoft SQL Server Management Studio 2005 客户端连接数据库服务器时报错:“This version of Microsoft SQL Server Management Studio can only be used to connect to SQL Server 2000 and SQL Server 2005 servers. (ConnectionDlg)”,截图如下:具体环境:本机安装的是Microsoft SQL Server Management Studio 2005 客户端工具, 具体版本号为9.00.1399.00,服
23:38 by 潇湘隐者, 1982 阅读, ,
在工作当中遇到一个类似这样的问题:要对数据库账户的权限进行清理、设置,其中有一个用户Test,只能拥有数据库MyAssistant的DML(更新、插入、删除等)操作权限,另外拥有执行数据库存储过程、函数的权限,但是不能进行DDL操作(包括新建、修改表、存储过程等...),于是需要设置登录名Test的相关权限:1:右键单击登录名Test的属性.2: 在服务器角色里面选择&public&服务器角色。3:在用户映射选项当中,选择&db_datareader&、&db_datawriter&、&public&三个数据库角色
22:08 by 潇湘隐者, 1087 阅读, ,
前几天,在所有数据库服务器部署了监控磁盘空间的存储过程和作业后(MS SQL 监控磁盘空间告警),今天突然收到了两封告警邮件,好吧,存储规划是一方面,但是,是不是要分析一下是什么原因造成磁盘空间不足的呢?会不会是因为突然暴增的日志文件,抑或是系统业务猛增导致数据量暴增,还是历史数据累计原因....分析总得有数据来支

我要回帖

更多关于 微信好友找回 的文章

 

随机推荐