随笔分类 -  DBA

for DBA
修改机器名后无法使用复制
摘要:执行以下脚本后, 重启SQL Server服务即可if serverproperty('servername') @@servernamebegindeclare @server sysnameset @server = @@servernameexec sp_dropse... 阅读全文
posted @ 2015-09-22 09:45 黑暗之眼 阅读(221) 评论(0) 推荐(0)
查看SQL所有表大小
摘要:SQL 如下:create table #Data(name varchar(100),row varchar(100),reserved varchar(100),data varchar(100),index_size varchar(100),unused varchar(100)) dec... 阅读全文
posted @ 2014-11-18 11:05 黑暗之眼 阅读(188) 评论(0) 推荐(0)
SQL SERVER 强制排序规则查询
摘要:有时会需要在2个DB之间的数据做比较, 但因为一些原因, 数据库的默认排序规则是不一样的, 例如SELECT A.Col1, B.Col1, A.* FROM DB1.dbo.A LEFT JOIN DB2.dbo.B ON A.Code = B.CodeWHERE 1 = 1ORDER BY A.... 阅读全文
posted @ 2014-04-23 15:28 黑暗之眼 阅读(2644) 评论(0) 推荐(0)
清除SQL Server执行计划
摘要:有时需要调试SQL语句的性能, 需要不断的执行SQL语句,可是多次执行同一条语句的时候,SQL Server 会缓存表的数据,结果就测不出来 实际的 SQL 的性能用以下SQL可以清除缓存数据DBCC FREEPROCCACHEDBCC DROPCLEANBUFFERS 阅读全文
posted @ 2014-04-21 17:19 黑暗之眼 阅读(1150) 评论(0) 推荐(0)
监控SQL Server的job执行情况
摘要:在服务器没有设置发邮件并且不允许发邮件的情况下, 可以通过下列语句来检查SQL Server 的job的执行情况select top 150 a.run_date,a.run_time, b.name,step_id,step_name,a.message,a.run_status,a.run_duration from msdb.dbo.sysjobhistory a ,msdb.dbo.sysjobs b where a.job_id=b.job_id and name not in('job_exclude') and a.step_id>0 order by ru 阅读全文
posted @ 2013-08-15 11:16 黑暗之眼 阅读(484) 评论(0) 推荐(0)
转:在SQL Server 2008中SA密码丢失了怎么办?
摘要:如果你丢失了SA密码或者SA账号被禁用了,在以下情况下,还是可以登录SQL Server 2008, 重置SA密码.1.如果Builtin\Administrator在SQL Server中还存在,你可以用Administrators group的成员去登录,然后重置SA密码。2.或者你还有其它的sysadmin权限的账号,你可以用此账号登录,重置SA密码。但是在以下情况下,怎么办呢?1.SA密码丢失或者SA账号被禁用。2.你进行了一些安全操作,把Builtin\Administrator账号从SQL Server中删除了。然后你不可以用sysadmin权限的账号登录SQL Server了,是 阅读全文
posted @ 2012-07-19 10:28 黑暗之眼 阅读(7473) 评论(0) 推荐(0)
在DB中查找所有表的字符串字段是否有指定值
摘要:declare @TableName nvarchar(100),@ColName nvarchar(100),@SQL nvarchar(4000),@TableID int,@FindValue nvarchar(100)SET @FindValue = 'sp_CopyInterventionDffToInspectionReportDff'DECLARE TCur CursorFOR SELECT NAME,ID FROM sysobjectsWHERE Xtype = 'U'OPEN TCurFETCH NEXT FROM TCur INTO @Tab 阅读全文
posted @ 2012-03-15 09:21 黑暗之眼 阅读(325) 评论(0) 推荐(0)
在数据库中人为添加死锁的代码
摘要:有时, 为了能够检测到死锁, 需要人为的创建一个死锁, 以验证检测工具到底是否正常动作, 以下代码可以让我们人为的创建一个死锁创建检验数据CREATETABLELock1(C1intdefault(0));CREATETABLELock2(C1intdefault(0));INSERTINTOLock1VALUES(1);INSERTINTOLock2VALUES(1);然后分别在SQL Server的两个窗口运行以下两块代码 (注: 必须在两个窗口中运行)代码块1:BeginTranUpdateLock1SetC1=C1+1;WaitForDelay'00:01:00';SE 阅读全文
posted @ 2011-02-09 14:13 黑暗之眼 阅读(336) 评论(0) 推荐(0)
多核CPU服务器无法安装SQL Server 2005问题
摘要:环境: Window Server 2003 std 32bit问题: 安装SQL Server 2005std 32时无法安装SQL Server DataBase Engine, 显示无法启动SQL Server解决方案: 在开始 -- 运行 -- 输入msconfig -- 选Boot.ini --Advanced Options --选中/NUMPROC, 并值选中1, 再重新安装SQL Server即可. 阅读全文
posted @ 2010-12-24 15:20 黑暗之眼 阅读(871) 评论(0) 推荐(0)
清除SQL Server Error Log无需重启SQL Server服务
摘要:SQL Server有个专门的文件记录SQL Server服务的错误, 文件名叫ErrorLog, 在SQL Server运行期间, 此文件被锁定正常情况下, 如果SQL Server服务不重启, 此文件不会被释放出来, 此文件会不断增大, 如果要清理这个文件, 需要重启SQL Server服务来释放这个文件.sp_cycle_errorlog这个系统过程可以让系统管理员无需重启SQL Serve... 阅读全文
posted @ 2010-11-15 10:14 黑暗之眼 阅读(894) 评论(0) 推荐(0)
SQL Server DB 基于多核CPU的设置
摘要:随着多核CPU的普及, SQL SERVER在处理并发情况会碰到这样一个情况: 一旦有个复杂查询占用了CPU, 则所有的CPU都会被Block住, 导致SQL Server的等待队列很长, 在这种情况下, CPU使用率也许不高, 磁盘IO的情况也很好, 但用户就是感觉慢.SQL Server 2008 有一个参数(以前的版本有没有未测试), 可以设置多少个CPU去处理一个查询, 这样, 剩下的CP... 阅读全文
posted @ 2010-11-05 10:28 黑暗之眼 阅读(1989) 评论(2) 推荐(0)
如何在64位的Windows 2008的系统配置导入Excel功能
摘要:在Windows 2008 64bit中配置导入Excel的功能需要注意以下几点1. IIS匿名访问的帐号必须拥有对IIS所对应的路径的操作权限, 其实就是要对上传后的Excel文件有操作权限2. IIS匿名访问的帐号要在DCom中有操作权限3. IIS匿名访问的帐号要在系统管理员组中(原因不明, 但必须这样设置)4. IIS的应用程序池的Identity属性设置为LocalSystem 阅读全文
posted @ 2010-08-16 16:10 黑暗之眼 阅读(1664) 评论(0) 推荐(0)
Dcom miss office on Windows 2008 64bit system
摘要:在64位的Windows 2008系统, 直接在Run里运行Dcomcnfg是找不到Microsoft Excel Application这一项的, 要在Run里运行mmc -32, 然后再点File --> Add/Remove Snap in --> add Component Services, 然后在这里就可以找到了. 阅读全文
posted @ 2010-08-15 18:43 黑暗之眼 阅读(480) 评论(0) 推荐(0)
查看索引碎片脚本
摘要:SELECTobject_name(a.object_id) [TableName],a.index_id,name [IndexName],avg_fragmentation_in_percentFROM sys.dm_db_index_physical_stats(DB_ID(), NULL, NULL, NULL, NULL) AS aJOIN sys.indexes AS bON a.ob... 阅读全文
posted @ 2010-07-09 15:37 黑暗之眼 阅读(245) 评论(0) 推荐(0)
统计数据库表信息的脚本
摘要:--Get Table usage spaceif object_id(N'tempdb..[#TableSizes]') is not null drop table #TableSizes ;/*——————————————&... 阅读全文
posted @ 2010-07-09 14:51 黑暗之眼 阅读(252) 评论(0) 推荐(0)
Kill 所有连接到某一数据库的连接
摘要:可以通过下面代码Kill所有连接到某一数据库的所有连接USE masterDECLARE @spid intDECLARE CUR CURSORFOR SELECT spid FROM sysprocesses WHERE dbid = 5FETCH NEXT FROM CUR INTO @spidWHILE @@FETCH_STATUS = 0BEGIN--EXEC ('KILL ' + @sp... 阅读全文
posted @ 2010-05-12 10:21 黑暗之眼 阅读(448) 评论(0) 推荐(0)