SQL Server清空数据库中ldf日志文件】的更多相关文章

USE [master] ALTER DATABASE [Whir_InternalSystem] SET RECOVERY SIMPLE WITH NO_WAIT ALTER DATABASE [Whir_InternalSystem] SET RECOVERY SIMPLE GO USE [Whir_InternalSystem] DECLARE @logname VARCHAR(150) SELECT @logname = NAME FROM sys.database_files WHER…
/************************************************************ * Sql Server 2008 R2 清空数据库中ldf日志文件 * 将Whir_InternalSystem替换为您要操作的数据库即可 ************************************************************/ USE [master] ALTER DATABASE [Whir_InternalSystem] SET R…
在Linux中,有时需要批量清空当前目录中的日志文件,同时还要保留日志文件. 其实一行shell命令就可以搞定,一起来看看吧. 在当前目录下,键入如下命令: for i in `find . -name "*.log"`; do cat /dev/null >$i; done for i in `find . -name "*.log"`;do >$i; done for i in `find . -name "*.log" -o -…
最近,电脑重装系统之后,安装了SQL Server 2008.附加数据库文件的时候,发现无法附加,提示版本不对.想起来,原来的数据库版本是SQL Server 2008R2.低版本的数据库管理工具无法兼容高版本的数据库文件,所以无法直接附加.我有10几个这样的数据库文件需要附加到数据库管理工具中,上网百度一番之后,没有查到什么特别的捷径.最后,只好选择了先将这些数据库文件附加到一台安装了SQL Server 2008R2的电脑上,再导出数据脚本,通过数据脚本还原数据库文件到SQL Server…
/*设置为简单模式*/ USE [master] } SET RECOVERY SIMPLE WITH NO_WAIT } SET RECOVERY SIMPLE /*获取日志文件名称*/ } ) /*收缩日志文件*/ , TRUNCATEONLY) /*还原为完全模式*/ USE [master] } SET RECOVERY FULL WITH NO_WAIT } SET RECOVERY FULL {0}替换成数据库名称即可.…
通过文章 SQL Server中“数据收缩”详解 和 SQLServer删除log文件和清空日志的方法 可以整理出一种快速删除数据库日志的方法,即 第一步:清空日志文件里的数据: 第二步:收缩日志文件. 简单执行如下命令: DUMP TRANSACTION 数据库名 WITH NO_LOG; DBCC ShrinkFile(‘数据库名_log’, 1); 相关阅读:SQL Server 2008 R2:快速清除日志文件的方法…
创建表,展开数据库中新建的数据库,下面有一个选项-表.在该选项上右键就可以选择-新建-表. 然后出现的界面上是需要自己填写列列名.数据类型和选择是否允许空值. 其中数据类型我是参考: http://www.w3school.com.cn/sql/sql_datatypes.asp 在填完各类之后,可能还需要选择主键,在对应列上右键即可选择设置主键,如果需要多个列组合为主键,首先框选需要设置的几列,再右键选择设置主键即可,然后Ctrl+S即可填写表名并保存了. 另外创建完表保存之后,表不会立即出现…
1,根据数据库类型拼接不同URL /** * 根据类型不同拼接连接的URL * @param dbType 1:mysql.2:oracle.3:sql server.4:gp * @param ip * @param port * @param databaseName * @return*/ public static String getTestDbUrl(int dbType, String ip, String port, String databaseName){ String ur…
我们有时候会需要查询数据库中包含某字段的所有的表,去进行update,这时就可以用下面的SQL来实现: select object_name(id) objName,Name as colName from syscolumns where (name like'%此次写需要查询的字段名称%')and id in(select id from sysobjects where xtype='u')order by objname; 当然也可以使用游标,把查询出来的Table串接起来,如下: DE…
--方法一if exists ( select * from dbo.sysobjects where id = object_id(N'[dbo].[TableSpace]') and objectproperty(id, N'IsUserTable') = 1 ) drop table [dbo].[TableSpace]gocreate table TableSpace ( TableName varchar(20) , RowsCount char(11) , Reserved varc…
在一次测试过程中,发现有些表一直被锁定,从网上搜集了下资料,可以使用一下语句查看数据库中那些表正被锁定: select request_session_id spid,OBJECT_NAME(resource_associated_entity_id) tableName from sys.dm_tran_locks where resource_type='OBJECT'…
第一种情况:将A数据库.dbo.A表的数据追加到B数据库.dbo.B表中 (条件:此时B数据库中已创建好了B表) insert into B数据库.dbo.B表 select * from A数据库.dbo.A表 [where条件] 此T-SQL语句会有异常    仅当使用了列列表并且 IDENTITY_INSERT 为 ON 时,才能为表'B数据库.dbo.B表'中的标识列指定显式值. 原因:B数据库.dbo.B表中某列别设置成自动增长(一般为主键ID). 解决:把 * 变成 指定 [列名]…
使用场景 可以反复的执行相同脚本 方式1:查询sysobjects表 if EXISTS (SELECT * from sysobjects WHERE name='test_table') DROP TABLE test_table create table test_table( id varchar(20), name nvarchar(20) ) 方式2:使用object_id函数 语法 OBJECT_ID ( '[ database_name . [ schema_name ] . |…
SELECT (case when a.colorder=1 then d.name else null end) 表名, a.colorder 字段序号,a.name 字段名,  (case when COLUMNPROPERTY( a.id,a.name,'IsIdentity')=1 then '√'else '' end) 标识,    (case when (SELECT count(*) FROM sysobjects WHERE (name in (SELECT name FROM…
因为最近的项目的一个小功能需要实现当前数据和历史的今天做一个对比.在网上也查了很久,很多都是实现一个月内的,一年内的所有数据,昨晚突然就找到了下面的实现方法,在SQL Server2008中试了一下,正是我想要的结果.故写了一个随笔,如果以后还需要可以方便查找,另外也希望可以帮到需要的人. Select * From History where savetime=(select dateAdd(yy,-1,getdate())) 其中,History是数据库的名字,savetime是表示时间的字…
declare @key varchar(30)set @key = '广州' --替换为要查找的字符串DECLARE @tabName VARCHAR(40),@colName VARCHAR(40)DECLARE @sql VARCHAR(2000)declare @tsql varchar(8000)DECLARE tabCursor CURSOR FORSELECT name from ccfs3.dbo.sysobjects WHERE xtype = 'u' AND name <>…
--禁用外键约束 exec   sp_msforeachtable   'alter   table   ?   nocheck   constraint   all ' --清空数据 truncate   table   表名 --启用外键约束 exec   sp_msforeachtable   'alter   table   ?   check   constraint   all '…
select a.name,b.rows from sysobjects a,sysindexes b where a.name = b.name order by b.rows desc…
SELECT a.name, b.rows FROM sysobjects AS a INNER JOIN sysindexes AS b ON a.id = b.id WHERE (a.type = 'u') AND (b.indid IN (0, 1)) ORDER BY a.name,b.rows DESC…
方法一: SELECT a.name,b.rows FROM sysobjects a INNER JOIN sysindexes b ON a.id=b.id ,) AND a.Type='u' ORDER BY b.rows desc 方法二: ), RowCnt INT) EXEC sp_MSforeachtable 'INSERT INTO #temp SELECT ''?'', COUNT(*) FROM ?' select * from #temp order by RowCnt d…
CREATE PROCEDURE  sp_DeleteAllData AS EXEC sp_MSForEachTable 'ALTER TABLE ? NOCHECK CONSTRAINT ALL'--禁用约束 EXEC sp_MSForEachTable 'ALTER TABLE ? DISABLE TRIGGER ALL'--禁用触发器 EXEC sp_MSForEachTable 'DELETE FROM ?'--清数据 EXEC sp_MSForEachTable 'ALTER TABL…
转自: http://blog.csdn.net/chenghaibing2008/article/details/11891419 (下面代码稍有修改,将要查找的内容直接作为参数传人,并且使用=而不是like) ALter PROCEDURE [dbo].[usp_Tool_GetDataOfKey] ) AS ) ) ) ) ),Column_Name )) declare Table_Cursor cursor for select name,id from sysobjects wher…
数据库的ldf日志文件被删了,直接附加时报错:数据库没有完全关闭,无法重新生成日志 那怎么恢复数据呢?方法如下: 在数据库中新建一个同名的数据库(文件路径要与原来的相同,ldf的文件名也要相同),然后停止数据库的运行,再将原先的mdf文件覆盖过去. 然后启动数据库,这时候,数据库会无法访问. 接下来,运行下面的sql语句.再刷新一下,数据库就正常了. USE MASTER GO SP_CONFIGURE 'ALLOW UPDATES',1 RECONFIGURE WITH OVERRIDE GO…
实战 SQL Server 2008 数据库误删除数据的恢复 关键字:SQL Server 2008, recover deleted records 今天有个朋友很着急地打电话给我,他用delete语句误删除了SQL Server 2008数据库中两个表中的所有记录,而这个数据库之前没有任何备份.让我帮他解决一下,不然他要赔偿客户很多钱. SQL Server中误删除数据的恢复本来不是件难事,从事务日志恢复即可.但是,这个恢复需要有两个前提条件: 1. 至少有一个误删除之前的数据库完全备份.…
ASP.NET 项目运行时出现错误提示:[HttpException (0x80004005): 无法连接到 SQL Server 会话数据库.] ,后排查问题发现是由于项目的Session模式是使用SQLServer,(即Session信息保存在SQL Server的数据库中)但是与数据库的SQL连接字符串设置错误才导致引发这个问题. 解决方法就是修改正确的SQL连接字符串,原web.config配置文件的代码如下: <sessionState mode="SQLServer"…
这个只能是试一下的方法,但不一定能成功,可以尝试如下几个方法: 1.登录远程桌面,然后以.登录SQL Server,并以Windows身份登录,然后再附加数据库时把日志文件删除. 2.试下这个脚本: .新建一个同名的数据库 .再停掉sql server(注意不要分离数据库) .用原数据库的数据文件覆盖掉这个新建的数据库 .再重启sql server .此时打开企业管理器时会出现置疑,先不管,执行下面的语句(注意修改其中的数据库名) .完成后一般就可以访问数据库中的数据了,这时,数据库本身一般还要…
最近发现网站不能访问,原因数据库服务器磁盘剩余空间没了.再细查发现日志文件占用了70%,收缩日志文件失败. 在网上查找原因,是没有备份不能收缩日志文件. 临时解决的方式: 备份事务日志,再收缩日志文件.(完整数据库备份后,也可以收缩日志文件) 长久的解决方案: 制定维护计划,定期备份数据库,收缩日志文件.…
在SQL Server数据库中,数据文件与事务日志文件的修改日期(Date Modified)是会变化的,但是有时候你会发现你的数据文件或日志文件的修改日期(Date Modified)几个月甚至是半年以上都没有变化了,如下截图所示: 为什么呢?不会是什么bug吧? 相信很多人都会有这样的反应.下面我们通过实验来看看数据库的数据文件与事务日志文件在什么情况或条件下, 修改日期(Date Modified)才会变化.首先创建一个TEST数据库,查看其数据文件或事务日志文件的修改日期如下: USE…
在SQL SERVER中,数据库在硬盘上的存储方式和普通文件在Windows中的存储方式没有什么不同,也是在特定文件夹下创建不同的文件,然后经过文件存储系统去抓取数据信息.理解文件和文件组的概念可以帮助我们更好的配置和管理数据库. 结构图: Part A 文件 数据文件 数据文件包含数据和对象,例如表.索引.存储过程和视图. 主要数据文件( .mdf) 主要数据文件包含数据库的启动信息,并指向数据库中的其他文件.用户数据和对象可存储在此文件中,也可以存储在次要数据文件中.每个数据库有一个主要数据…
<Windows Azure Platform 系列文章目录> 本文介绍的是由国内世纪互联运维的China Azure,相比国外的Global Azure.主要区别是存储账号的DNS地址不同,请读者注意区别. 最近有一个客户想了解,如何将SQL Server 2012虚拟机中的数据库备份到Azure Storage存储账号中,笔者研究了一下,分享给大家. 前提要求: 1.需要1台安装了SQL Server 2012 SP1 CU4以上的Windows Server虚拟机 2.需要有Azure…