问题一:数据库满了怎么删除 首先看数据库文件所在硬盘的空间足不足,可以扩容解决这个问题;
第二,什么数据库MS-SQL的话可以删除日志文件,如果是ORACEL的话看看表空间足不足,不足的话扩表空间。
你的问题太笼统了。
问题二:如何删除sql数据库的日志文件 其中database为你的库名 --压缩日志1:截断事务日志:BACKUP LOG 数据库名 WITH NO_LOG2:清空日志DUMP TRANSACTION 库名 WITH NO_LOG再:企业管理器--右键你要压缩的数据库--所有任务--收缩数据库--收缩文件--选择日志文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了3: 删除LOG1:分离数据库 企业管理器->服务器->数据库->右键->分离数据库2:删除LOG文件3:附加数据库 企业管理器->服务器->数据库->右键->附加数据库此法生成新的LOG,大小只有500多K再将此数据库设置自动收缩或用代码:下面的示例分离 pubs,然后将 pubs 中的一个文件附加到当前服务器。EXEC sp_detach_db @dbname = 'pubs'EXEC sp_attach_single_file_db @dbname = 'pubs',@physname = 'c:/Program Files/Microsoft SQL Server/MSSQL/Data/pubsmdf'4: 如果想以后不让它增长企业管理器--服务器--右键数据库--属性--事务日志--将文件增长限制为xM(x是你允许的最大数据文件大小)--SQL语句的设置方式:alter database 数据库名 modify file(name=逻辑文件名,maxsize=20)5设置为自动收缩
问题三:怎么用SQL语句删除数据库中多个文件 REMOVE FILE 只有在文件为空时才能删除。
正常 *** 作步骤:
以下 *** 作在查询分析器上执行即可:
--转到要处理的数据库:
use 库名
go
--查看该库所有的文件:
select [name],[filename] from sysfiles
go
--对指定的文件进行数据移除:
dbcc shrinkfile (上面查询得到的“逻辑文件名”(定Name那列), EMPTYFILE)
go
--将一定移除了数据的指定文件删除:
ALTER DATABASE 库名 REMOVE FILE 上面查询得到的“逻辑文件名”
Go
问题四:如何删除数据库中所有数据 你租用数据库时,提供商会给你提供数据库连接IP、登陆用户和密码。你在本地sql数据库管理平台(企业管理器)中远程连接你的数据库,然后进入删除所有表或视图、存订过程等资料。光留一个空库,也没啥大碍。
还有个方法就是主动联系客服,申请删除你的数据库。
管理页面上我也没有发现删除数据库的功能。
问题五:怎么删除数据库中SQL文件。 数据库上传sql文件,不是太理解。你是不是说你导入了一份sql文件五次。而这份sql文件是执行插入命令。如果是这样,你可以通过编写存储过程加上带条件的删除语句对重复的数据进行处理。
问题六:sql数据库我把表删除了,为什么数据库文件还是那么大?请问怎么才能彻底把数据库文件弄小? create database dbName
on(
size=10mb,
)
是不是建库的时候初始设置大了
----------
数据库在使用过程中会因需要而不断扩张,你删除表或者大量数据,数据库虽然内容少了,但占用的资源不会少需要使用数据库收缩命令
DBCC SHRINKDATABASE(dbName)
或者右键:
企业管理器--目标数据库--所有任务--收缩数据库--收缩文件 --选择数据文件
问题七:数据库文件被人为删除,怎么办? 数据库删除后,普通的软件是无法找回的了。比如网上下载的软件,最好别尝试,尝试还是浪费时间的。我们公司之前也是由于误删除MDF,找了多家公司修复,附加都置疑,最后联系了广州拓飞,那里的工程师专业做数据库修复,我们公司的数据库后来在拓飞修复好了。“请注意,最好不要往那个分区(误删除的那个分区),如果覆盖数据会很麻烦,甚至无法修复了。”,在百度搜索广州拓飞数绩恢复“,可以找到他们的电话,地址,祝你们成功
问题八:怎么删除oracle的数据文件 一、使用offline数据文件的方法
非归档模式使用:alter database datafile '' offline drop;
归档模式使用: alter database datafile '' offline;
说明:
1) 以上命令只是将该数据文件OFFLINE,而不是在数据库中删除数据文件。该数据文件的信息在控制文件种仍存在。查询v$datafile,仍显示该文件。
2) 归档模式下offline和offline drop效果是一样的
3) offline后,存在此datafile上的对象将不能访问
4) noarchivelog模式下,只要online redo日志没有被重写,可以对这个文件recover后进行online *** 作
实际使用案例:
直接删除数据文件后无法进入系统的解决方案
正常情况下,删除表空间的正确方法为:
DROP TABLESPACE tablespace_name INCLUDING CONTENTS AND DATAFILES;
如果没有通过以上命令删除而直接删除了数据文件,将导致数据库无法打开。
如果直接删除了数据文件
普通用户登录时,则报错:
ORA-01033: ORACLE initialization or shutdown in progress
sys用户可以正常登录
但进行 *** 作时(SELECT count(1) FROM user_tables),则会报错:
ORA-01219: 数据库未打开: 仅允许在固定表/视图中查询
如果执行命令alter database open以打开数据库时,又报如下错:
ORA-01157: 无法标识/锁定数据文件 12 - 请参阅 DBWR 跟踪文件
ORA-01110: 数据文件 12: 'E:/ORACLE/PRODUCT/1020/ORADATA/ORCL/TSTEST001DBF'
说明数据库没找到这个数据文件
因为数据文件在没有被offline的情况下物理删除了,导致oracle的数据不一致,因此启动失败
通过以下方法即可解决
解决方法:
sqlplus [email protected] as sysdba;
SQL> alter database datafile 'E:/ORACLE/PRODUCT/1020/ORADATA/ORCL/TSTEST001DBF' offline drop;
SQL> alter database open;
SQL> drop tablespace CTBASEDATA;
二、Oracle 10G R2开始,可以采用:Alter tablespace tablespace_name drop datafile file_name;来删除一个空数据文件,并且相应的数据字典信息也会清除:
[email protected] >select file_id,file_name,tablespace_name from dba_data_files
2 where tablespace_name='USERS';
FILE_ID FILE_NAME >>
问题九:怎么修改或删除mdb数据库文件里面的东西呀? mdb是access数据库的文件,你可以安装office专业版(2003以上的版本),就可以打开这些文件对其进行修改或删除,但是由于其原先是网站后台数据,可能会有密码否则是无法打开的。
脏读dirtyreads:当事务读取还未被提交的数据时,就会发生这种事件。举例来说:Transaction1修改了一行数据,然后Transaction2在Transaction1还未提交修改 *** 作之前读取了被修改的行。如果Transaction1回滚了修改 *** 作,那么Transaction2读取的数据就可以看作是从未存在过的。
不可重复的读non-repeatablereads:当事务两次读取同一行数据,但每次得到的数据都不一样时,就会发生这种事件。举例来说:Transaction1读取一行数据,然后Transaction2修改或删除该行并提交修改 *** 作。当Transaction1试图重新读取该行时,它就会得到不同的数据值(如果该行被更新)或发现该行不再存在(如果该行被删除)。
虚读phantomread:如果符合搜索条件的一行数据在后面的读取 *** 作中出现,但该行数据却不属于最初的数据,就会发生这种事件。举例来说:Transaction1读取满足某种搜索条件的一些行,然后Transaction2插入了符合Transaction1的搜索条件的一个新行。如果Transaction1重新执行产生原来那些行的查询,就会得到不同的行。
MYSQL事务隔离级别的认识
2010-08-0610:27
在hibernate中如果要连续不间断的保存多个实体的实例,那么在我们保存第一个的时候,其实在数据库里是不存在数据的,即使用Sessionflush()也无济于事,这到底是怎么回事呢?让我很是疑惑
在查阅了相关的资料后,原来是数据库对于事务的隔离级别的限制问题,而我原来的MYSQL数据库正好是不支持我上述 *** 作的隔离级别。
1、在MYSQL中查询事务隔离级别:
select@@tx_isolation;(tx其实就是transaction的缩写或者习惯缩写法)
我的结果是REPEATABLE-READ(即可重复读,稍后会引用专业结束文档)
2、修改MYSQL事务隔离界别:
settransactionisolationlevel目标隔离级别;
3、再次查询隔离级别进行检验是否已经成功修改。
这样在修改了隔离级别之后,在进行save()的时候,数据库中就会存在一些数据了,问题解决了。关于其他的数据库产品,思想都是一样的。
附加、官方的SQL事务隔离级别文档:
SQL标准定义了4类隔离级别,包括了一些具体规则,用来限定事务内外的哪些改变是可见的,哪些是不可见的。低级别的隔离级一般支持更高的并发处理,并拥有更低的系统开销。
ReadUncommitted(读取未提交内容)
在该隔离级别,所有事务都可以看到其他未提交事务的执行结果。本隔离级别很少用于实际应用,因为它的性能也不比其他级别好多少。读取未提交的数据,也被称之为脏读(DirtyRead)。
ReadCommitted(读取提交内容)
这是大多数数据库系统的默认隔离级别(但不是MySQL默认的)。它满足了隔离的简单定义:一个事务只能看见已经提交事务所做的改变。这种隔离级别也支持所谓的不可重复读(Read),因为同一事务的其他实例在该实例处理其间可能会有新的commit,所以同一select可能返回不同结果。
RepeatableRead(可重读)
这是MySQL的默认事务隔离级别,它确保同一事务的多个实例在并发读取数据时,会看到同样的数据行。不过理论上,这会导致另一个棘手的问题:幻读(PhantomRead)。简单的说,幻读指当用户读取某一范围的数据行时,另一个事务又在该范围内插入了新行,当用户再读取该范围的数据行时,会发现有新的“幻影”行。InnoDB和Falcon存储引擎通过多版本并发控制(MVCC,ConcurrencyControl)机制解决了该问题。
(可串行化)
这是最高的隔离级别,它通过强制事务排序,使之不可能相互冲突,从而解决幻读问题。简言之,它是在每个读的数据行上加上共享锁。在这个级别,可能导致大量的超时现象和锁竞争。
数据库唯一标识,即使记录删除了,但是数据库还是有记忆功能,就像即使你把硬盘上的文件或者文件夹shift+delete彻底删除后,一样可以通过软件来恢复这些文件。不过数据库的恢复我没偿试过。可能有这种软件
ACCESS自动编号如何恢复从1开始的方法(1)
重置单个表中的“自动编号”字段:要重置“自动编号”字段值,可以使用方法 1 或方法 2。
方法 1
可以重置“自动编号”字段值,使其与表中的一个字段相对应。为此,请按照下列步骤 *** 作:
1 从主表中删除“自动编号”字段。记下“自动编号”字段名称。
2 在左窗格中单击“查询”。在右窗格中双击“在设计视图中创建查询”。
3 在“显示表”对话框中,选择主表。单击“添加”,然后单击“关闭”。
4 在主表的表视图中双击所需字段,以选择该字段。
5 选择需要的“排序”顺序。
6 在“查询”菜单中,单击“生成表查询”。在“表名称”文本框中键入新的表名称,然后单击“确定”。
7 在“查询”菜单上,单击“运行”。
8 将显示带有以下文本的对话框:“您正准备向新表粘贴 # 行。”单击“是”以插入行。
9 在“文件”菜单上,单击“关闭”。单击“否”关闭“生成表查询”窗口。
10 在左窗格中单击“表”。右键单击新表,然后单击“设计视图”。
11 在表的“设计”视图中,添加与步骤 1 中删除的字段名称相同的“自动编号”字段。将此“自动编号”字段添加到新表中,然后保存该表。
12 关闭“设计”视图窗口。
13 重命名主表。将新表名称重命名为主表名称。
方法 2
也可以使用方法 2 来重置“自动编号”字段值,请按照下列步骤 *** 作:
1 从主表中删除“自动编号”字段。记下“自动编号”字段名称。
2 复制主表的结构,然后创建新表。
3 在左窗格中单击“查询”。在右窗格中单击“在设计视图中创建查询”。
4 在“显示表”对话框中,选择主表。单击“添加”,然后单击“关闭”。
5 要选择字段,请双击需要的字段。在主表的“表”视图中对除了“自动编号”字段外的所有字段进行此 *** 作。
6 在“查询”菜单上,单击“追加查询”。这将更改查询类型。
7 从“表名称”列表中,选择您在步骤 1 中创建的新表。单击“确定”。
8 在“查询”菜单上,单击“运行”。
9 将显示带有以下文本的对话框:“您正准备追加 # 行。”单击“是”将行追加到新表中。
10 在“文件”菜单上,单击“关闭”。单击“否”关闭“追加查询”窗口。
11 在左窗格中单击“表”。右键单击新表,然后单击“设计视图”。
12 在表的“设计”视图中,添加与步骤 1 中删除的字段名称相同的“自动编号”字段。将此“自动编号”字段添加到新表中,然后保存该表。
13 关闭“设计”视图窗口。
14 重命名主表。将新表名称重命名为主表名称。
重置带引用表的表中的“自动编号”字段
下面的步骤说明如何为具有引用表的表重置“自动编号”字段。如果有多个引用表,则必须对每个引用表执行下列步骤。
1 删除表之间的关系。
2 将主表的“自动编号”字段设为数字数据类型。删除主键。
3 在主表中创建数据类型为“自动编号”的新字段。保存该表。
4 在引用表中创建数据类型为数字的新字段。保存该表。
5 要创建更新查询,以将引用表中的新字段更新为主表中的新“自动编号”字段,请按照下列步骤 *** 作:
a 在左窗格中单击“查询”。在右窗格中单击“在设计视图中创建查询”。这将创建新查询。
b 在“显示表”对话框中,选择主表和引用表。单击“添加”来添加主表和引用表。单击“关闭”。
c 单击主表中以前链接到引用表的字段。使用拖放功能将该字段放到引用表中以前链接的字段上。这样将在这两个表之间创建基于原始链接字段的联接。
d 在“查询”菜单上,单击“更新查询”。
e 双击引用表中的新字段,将其添加到字段列表中。
f 在“更新到”字段中,键入 [主表名][新自动编号字段],以更新引用表中的新字段值。
g 在“查询”菜单上,单击“运行”。
h 将显示带有以下文本的对话框:“您正准备更新 # 行。”单击“是”将行追加到新表中。
i 在“文件”菜单上,单击“关闭”。单击“否”关闭“更新查询”窗口。
6 从主表和引用表中删除原始链接字段。
7 将新“自动编号”字段重命名为原始名称。
8 重新创建主键以及表之间的关系。
此过程重置“自动编号”字段,然后用正确的键值更新引用表。
ACCESS自动编号从1开始-如何让access自动编号重新从1开始排序的方法(2)
方法一:
删个那个自动编号的字段,再建一个同样的自动编号字段即可。
方法二:
自动编号是一直增加的(每次都加1),你再增加一条记录它的编号会在前面的基础上加1(删除的也算),如果你编号为1的记录被删除了,你想再要从1开始,可以打开Access数据库,选择工具,再选择数据库实用工具,单击压缩和修复数据库,这样就OK了
方法三:(没试过)
1、在access里新建一个查询。
2、把视图改为sql视图。
3、在里面输入
ALTER TABLE 表名 ALTER COLUMN [自动编号字段名] COUNTER (你要的初始值, 1)
例如:
ALTER TABLE [user] ALTER COLUMN [id] COUNTER (1001, 1)
4、运行后,编号就从1001开始了。
如何定期地和自动地清除数据表的所有数据? - 微软中文技术论坛( 1如何定期地和自动地清除数据表的所有数据 - 微软中文技术论坛(MSDN and TechNet) only_endure收录,使用标签:SQLMSDN,时间:2008-12-16 10:21:41 | 相关网摘,我也收藏 >
以上就是关于数据库文件如何删除全部的内容,包括:数据库文件如何删除、Access数据库中如何避免脏数据、access数据库删除数据后是将原来占有的空间释放了嘛等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)