假设你创建一个数据库时,指定其初始化大小(SIZE )非常大.例如,如下测试案例所示 USE [master] GO   CREATE DATABASE [TEST] ON  PRIMARY  ( NAME = N'TEST_Data', FILENAME = N'D:\SQL_DATA\TEST_Data.mdf' , SIZE = 11527027KB , MAXSIZE = UNLIMITED, FILEGROWTH = 102400KB ) LOG ON  ( NAME = N'TEST…
收缩整个数据库 DBCC SHRINKDATABASE (dbName) 收缩单个文件DBCC SHRINKFILE (FileName) 查找所有的文件名称USE dbNameEXEC sp_helpfile 例如对 AdventureWorks 数据库/* Shrink Whole AdventureWorks Database */DBCC SHRINKDATABASE (AdventureWorks)GO/* Get the Logical File Name */USE Adventu…
我们一个SQL Server服务器在执行YourSQLDBa的作业YourSQLDba_FullBackups_And_Maintenance时遇到了错误: Exec YourSQLDba.Maint.ShowHistoryErrors @JobNo = 1227 <row> <ctx>yMaint.IntegrityTesting</ctx> <Sql>DBCC checkDb('xxxx') </Sql> <err>In case…
DBCC是SQL Server提供的一组控制台命令,功能很强大,掌握一些必要的语句,对操作数据库有不少帮助,所以决定整理一下,发现已有不少类似的整理,减少了不少工作,归类如下: 一.DBCC 帮助类命令 * DBCC HELP('?') 查询所有的DBCC命令 * DBCC HELP('checktable') 查询指定的DBCC命令的语法说明 * DBCC USEROPTIONS 返回当前连接的活动(设置)的SET选项 二.DBCC 检查验证类命令 * DBCC CHECKALLOC ('数据…
--DBCC命令与用法 DBCC HELP('?') DBCC HELP('useroptions') DBCC USEROPTIONS WITH NO_INFOMSGS --当前DB的区及文件 DBCC showfilestats --各数据库事务日志大小及百分比 DBCC sqlperf(logspace) --当前虚拟日志数量 DBCC loginfo --数据库活动游标 DBCC activecursors --表索引碎片情况 DBCC showcontig('[dbo].[table]…
本文摘自http://www.cnblogs.com/lilycnblogs/archive/2011/03/31/2001372.html 留作查阅 DBCC是SQL Server提供的一组控制台命令,功能很强大,掌握一些必要的语句,对操作数据库有不少帮助,所以决定整理一下,发现已有不少类似的整理,减少了不少工作,归类如下: 一.DBCC 帮助类命令 * DBCC HELP('?') 查询所有的DBCC命令 * DBCC HELP('命令') 查询指定的DBCC命令的语法说明 * DBCC U…
http://msdn.microsoft.com/zh-cn/library/ms188796.aspx Transact-SQL 编程语言提供 DBCC 语句以作为 SQL Server 的数据库控制台命令. 数据库控制台命令语句可分为以下类别.   命令类别 执行 维护 对数据库.索引或文件组进行维护的任务. 杂项 杂项任务,如启用跟踪标志或从内存中删除 DLL. 信息 收集并显示各种类型信息的任务. 验证 对数据库.表.索引.目录.文件组或数据库页的分配进行的验证操作. DBCC 命令使…
DBCC SQLMGRSTATS 用于产生3个不同的值,这些值用在你想查看高速缓存在ad-hoc和预编译的TSQL语句中是如何工作的 Memory Used(8K Pages):若内存页的数量非常大,这也许表明一些用户连接正在预处理许多T-SQL语句. Number CSql Objects:表明已经在高速缓存中的T-SQL的语句的总数 Number False Hits:有时,当sql server匹配在高速缓存中已经存在的T-SQL语句时会出现错误的命中.在理想的情况下,这个数字应该尽可能地…
DBCC Commands or Database Consistency Checker commands have been with SQL Server from its early ages itself. In this article we would list the available DBCC commands listed using the DBCC Help command. Many in this list are undocumented and  are rar…
These commands may affect system performance and/or force table-level locks.There is no guarantee these commands will remain available in any future release of SQL server. DBCC activecursors [(spid)] DBCC addextendedproc (function_name, dll_name) DBC…
一.DBCC维护语句:对数据库.索引或文件组进行维护的任务--1.DBCC CLEANTABLE,回收删除的可变长度列和文本列的空间 DBCC CLEANTABLE  ( { 'database_name' | database_id | 0 } ,{ 'table_name' | table_id | 'view_name' | view_id } [ , batch_size ] )  [ WITH NO_INFOMSGS ] DBCC CLEANTABLE ('mydb','t_test'…
1. TRUNCATEONLY参数的使用我们在建立的Job中通常使用如下的语法DBCC SHRINKDATABASE (N'DB', 10,TruncateOnly)其中TruncateOnly的用处是把:“将文件末尾的所有可用空间释放给操作系统,但不在文件内部执行任何页移动”,所以此时前面指定的“10”(target_percent),将不起作用,由于删除数据等作业导致的大量的空闲的数据页,将不会被回收,上面的语句的作用,只能把文件结尾部分有限的空闲数据页回收.也就不能完全达到数据库收缩的作用…
http://blog.163.com/ruifeng_00/blog/static/6904584200971291923462/   一.定义 微软当初从SYBASE将DBCC是作为数据库一致性检查(Database Consistency Check)命令扩展过来的,但经过后来的扩展,DBCC命令的功能范围增大,现在称之为数据库控制台命令(Database Console Command). 二.公开的DBCC命令 2.1验证类 对数据库.文件组.表.索引.数据库页的分配.系统目录进行的验…
DBCC DROPCLEANBUFFERS:从缓冲池中删除所有缓存,清除缓冲区 在进行测试时,使用这个命令可以从SQLSERVER的数据缓存data cache(buffer)清除所有的测试数据,以保证测试的公正性. 需要注意的是这个命令只移走干净的缓存,不移走脏缓存.由于这个原因,在执行这个命令前,应该先执行CheckPoint,将所有脏的缓存写入磁盘, 这样在运行DBCC RROPCLEANBUFFERS 时,可以保证所有的数据缓存被清理,而不是其中的一部分. DBCC CacheStats…
SQL Server DBCC命令大全   原文出处:https://www.cnblogs.com/lyhabc/archive/2013/01/19/2867174.html DBCC DROPCLEANBUFFERS:从缓冲池中删除所有缓存,清除缓冲区 在进行测试时,使用这个命令可以从SQLSERVER的数据缓存data cache(buffer)清除所有的测试数据,以保证测试的公正性. 需要注意的是这个命令只移走干净的缓存,不移走脏缓存.由于这个原因,在执行这个命令前,应该先执行Chec…
原文出处:https://www.cnblogs.com/lyhabc/archive/2013/01/19/2867174.html DBCC DROPCLEANBUFFERS:从缓冲池中删除所有缓存,清除缓冲区 在进行测试时,使用这个命令可以从SQLSERVER的数据缓存data cache(buffer)清除所有的测试数据,以保证测试的公正性. 需要注意的是这个命令只移走干净的缓存,不移走脏缓存.由于这个原因,在执行这个命令前,应该先执行CheckPoint,将所有脏的缓存写入磁盘, 这样…
SQLSERVER性能计数器的简单剖析 今晚看了这篇文章:SQL Server 2012新performance counter:非常实用的Batch Resp Statistics 文章里介绍到SQLSERVER2012新的性能计数器“Batch Resp Statistics” 其实我有一个问题:当我的电脑里有多个版本的SQLSERVER或者多个SQLSERVER实例,SQLSERVER是怎麽区分不同版本的不同计数器的呢? 比如下面SQL脚本,在SQL2012里执行可以看到新的性能计数器Ba…
一.背景 我们遇到的问题如下图所示:自动增长无端端就按照这样的比例进行增长: (Figure1:问题所在) 尝试使用SSMS修改自动增长值,就会出现下面的错误: (Figure2:错误信息) 遇到上面的问题,我们需要解决两个问题: 1. 把数据文件收缩到一定范围内的值,腾出磁盘空间: 2. 重新设置自动增长的值,可以按照百分比,也可以使用指定的空间大小,我个人倾向使用n*1024M这样的值,仅供参考: 3. 如果有需要你也可以进行日志文件的收缩: 二.解决过程 1. 使用下面的脚本修改自动增长的…
Performance Considerations for Entity Framework 5 By David Obando, Eric Dettinger and others Published: April 2012 1. Introduction Object-Relational Mapping frameworks are a convenient way to provide an abstraction for data access in an object-orient…
SqlServer 一个查询语句导致tempdb增大55G 今天操作着服务器,突然右下角提示“C盘空间不足”! 吓一跳!~ 看看C盘,还有7M!!!这么大的C盘空间怎么会没了呢?搞不好等下服务器会动不了! 第一反应就想可能是日志问题,很可能是数据库日志问题 于是查看日志,都不大,正常. dbcc sqlperf(logspace) 看看系统报错: 是tempdb问题,但是刚才看日志才几M,根据提示查看日志状态: select name,log_reuse_wait_desc from sys.d…
数据库在使用过程中会使日志文件不断增加,使得数据库的性能下降,并且占用大量的磁盘空间.SQL Server数据库都有log文件,log文件记录用户对数据库修改的操作.可以通过直接删除log文件和清空日志在清除数据库日志. 一.删除LOG 1.分离数据库.分离数据库之前一定要做好数据库的全备份,选择数据库——右键——任务——分离. 勾选删除连接 分离后在数据库列表将看不到已分离的数据库. 2.删除LOG文件 3.附加数据库,附加的时候会提醒找不到log文件. 删除数据库信息信息的ldf文件: 附加…
怎样查出SQLServer的性能瓶颈 --王成辉翻译整理,转贴请注明出自微软BI开拓者[url]www.windbi.com[/url]--原帖地址 如果你曾经做了很长时间的DBA,那么你会了解到SQLServe的性能调优不是一个精密的科学.即使是,对于为最佳的性能找到最佳的配置也是很困难的.这是因为对于调优来说很少东西是绝对的.例如,一个性能调优可能对某一方面有用,可是却会影响其他的性能. 我曾经做过DBA,在最后7年的日子里,我总结了一套SQLServer调优的清单.当第一次进行SQLSer…
SQL Server 的数据库引擎通过事务服务(Transaction Services)提供事务的 ACID 属性支持.ACID 属性包括: 原子性(Atomicity) 一致性(Consistency) 隔离性(Isolation) 持久性(Durability) 事务日志(Transaction Log) 事务日志(Transaction Log)存储的是对数据库所做的更改信息,让 SQL Server 有机会恢复数据库.而恢复(Recovery)的过程就是使数据文件与日志保持一致的过程.…
Sqlserver2005日志文件太大,使其减小的方法: 运行下面的三行 dbName为数据库名: backup log dbNamewith NO_LOG backup log dbNamewith TRUNCATE_ONLY DBCC SHRINKDATABASE(dbName) 日志文件减小到1MB 或者見:http://hovertree.com/menu/sqlserver/ sql server清空日志文件2011-04-06 23:05 1: 删除LOG1:分离数据库 企业管理器-…
1.检查数据库完整性 dbcc checkdb(Portal) 检查数据库完整性checkdb Portal的 DBCC 结果. Service Broker 消息 9675,状态 1: 已分析的消息类型: 14. Service Broker 消息 9676,状态 1: 已分析的服务约定: 6. Service Broker 消息 9667,状态 1: 已分析的服务: 3. Service Broker 消息 9668,状态 1: 已分析的服务队列: 3. Service Broker 消息…
下面的代码非但有图文,简直是视频,地址http://www.cnthc.com/?/article/67http://www.cnthc.com/?/article/73 --创建一个玩的数据库Create database Stu_db2go --查看数据库--1.通过图形化界面查看,所有的选项的解释 http://www.cnthc.com/?/explore/category-9 注意看<数据库选项>这个话题--2.通过系统内置函数DATABASEPROPERTYEX   具体可用属性查…
    在讨论数据库之前我们先要明白一个问题:什么是数据库?     数据库是若干对象的集合,这些对象用来控制和维护数据.一个经典的数据库实例仅仅包含少量的数据库,但用户一般也不会在一个实例上创建太多的数据库.一个数据库实例最多能创建32767个数据库,但是按照实际情况,一般设计是不会达到这个限制值.     为了更明显地说明数据库,数据库包含了以下属性和功能:     *. 它是很多对象的集合,比如表.视图.存储过程.约束.对象集合的最大值是2(31) - 1(超过2百亿).一般对象的数量在几…
Asp.net核心技术思想 1.概述反射和序列化 反射:程序集包含模块,而模块包含类型,类型又包含成员.反射则提供了封装程序集.模块和类型的对象.您可以使用反射动态地创建类型的实例,将类型绑定到现有对象,或从现有对象中获取类型.然后,可以调用类型的方法或访问其字段和属性 序列化:序列化是将对象转换为容易传输的格式的过程.例如,可以序列化一个对象,然后使用 HTTP 通过 Internet 在客户端和服务器之间 传输该对象.在另一端,反序列化将从该流重新构造对象. 2.如何把一个array复制到a…
SQL code --备份declare @sql varchar(8000) set @sql='backup database mis to disk=''d:\databack\mis\mis'+rtrim(convert(varchar,getdate(),112))+'.bak''' exec(@sql) --删除15天前备份文件 set @sql='del d:\databack\mis\mis' +rtrim(convert(varchar,getdate()-15,112))+'…
--SQL Server:Select TOP N * From TABLE Order By NewID() --开头到N条记录Select Top N * From 表--N到M条记录(要有主索引ID)Select Top M-N * From 表Where ID in (Select Top M ID From 表) Order by ID  Desc--选择10从到15的记录select top 5 * from (select top 15 * from table order by …