数据库空间不足怎么解决?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据库空间不足怎么解决?相关的知识,希望对你有一定的参考价值。
我的N1出现了数据库空间不足19.88%,并老震,怎么都清除不了,该如何解决?
一、用户数据库搬家操作方法有以下两种
方法1:在企业管理器中进行
(1)在企业管理器中选定要搬家的数据库名,在其上单击鼠标右键,出现如图1所示对话框。
(2)选中“所有任务”,在其子菜单中单击“分离数据库”。
(3)将该数据库的数据文件和日志文件从旧的位置(如D:\\MSSQL\\Data)拷贝到新的位置(如E:\\SQLDataNew)。
(4)再在企业管理器中选中“数据库”文件夹,在其上单击鼠标右键,在出现的对话框中选中“所有任务”,在其子菜单中单击“附加数据库”。
(5)在出现的“附加数据库”对话框中,选择数据库的两个文件的新位置。
方法2:用SQL系统存储过程sp_detach_db/sp_attach_db实现
(1)使用下面语句分离数据库:
USE master
GO
EXEC sp_detach_db \'mydb\'
GO
(2)将该数据库的数据文件和日志文件从旧的位置拷贝到新的位置。
(3)使用下面语句重新附加数据库:
USE master
GO
EXEC sp_attach_db
\'mydb\', \'E:\\SQLDataNew\\mydbdata.mdf\', \'E:\\SQLDataNew\\mydblog.ldf\'\'
GO
二、系统数据库搬家
1.master数据库搬家
(1)由于SQL Server每次启动的时候都需要读取master数据库,因此必须在企业管理器中改变SQL Server启动参数中master数据文件和日志文件的路径。
在 SQL Server属性的“常规”选项卡下面有一个叫做“启动参数”的按钮,单击后可以看到所示的界面。
其中,-d用来指定master数据库文件的路径,而–l用来指定master数据库日志文件的路径。
删除旧的master数据库文件和日志文件的路径,添加新的master数据文件和日志文件所在的路径,如:
-dE:\\ SQLDataNew \\master.mdf
-lE:\\ SQLDataNew \\mastlog.ldf
(2)停止SQL Server服务,将master.mdf文件和mastlog.ldf文件拷贝到新的位置,如E:\\ SQLDataNew文件夹中。
(3)重新启动服务即可。
小技巧:如果在“启动参数”添加的master数据库文件和日志文件的路径或文件名有误,就会造成SQL Server启动不起来。而此时想改正错误又因SQL Server启动不了而重设不了“启动参数”。其实这两个文件路径和文件名是放置在注册表HKEY_LOCAL_MACHINE\\SOFWARE\\Microsoft\\Miccrosoft SQL Server\\你安装SQL服务器的名\\MSSQLServer\\Parrmeters下的参数SQLArg1和SQLArg2中,修改这两个参数的值即可。
2. msdb数据库和model数据库搬家
(1)对于msdb数据库和model数据库,我们不能在企业管理器中实现分离和附加,只能用sp_detach_db和sp_attach_db存储过程来分离和附加这两个数据库。
其中,对于msdb数据库,还应确保SQL Server代理当前没有运行,否则sp_detach_db存储过程将运行失败,并返回如下消息:
“无法除去数据库 \'msdb\' ,因为它当前正在使用。”
(2)调出如图4所示的“启动参数”对话框,添加新参数-T3608。这样,启动SQL Server,它就不会恢复除master之外的任何数据库。
(3)重新启动SQL Server,再用下面命令分离msdb或者model数据库:
EXEC sp_detach_db \'msdb\'
GO
(4)将数据文件和日志文件移到新的位置,然后再用下面命令重新附加msdb数据库或者model数据库:
USE master
GO
EXEC sp_attach_db
\'msdb\', ‘E:\\SQLDataNew\\msdbdata.mdf\', \' E:\\SQLDataNew\\msdblog.ldf \'
GO
(5)在企业管理器中,从“启动参数”框中删除-T3608跟踪标记,再停止并重新启动SQL Server。
3. tempdb数据库搬家
对于tempdb数据库,则可以直接使用ALTER DATABASE语句来为数据文件和日志文件指定新的存放位置,如下所示:
USE master
GO
ALTER DATABASE tempdb MODIF
Y FILE (NAME=tempdev, FILENAME =\'E:\\SQLDataNew \\tempdb.mdf\')
GO
ALTER DATABASE tempdb MODIF
Y FILE(NAME=templog, FILENAME=
\' E:\\SQLDataNew \\templog.ldf\')
GO
至此,SQL Server 中数据库全部搬家完成。 参考技术A 卸了您不常用的吧,再狠一点就WIPE了,什麼?没解过LOCK?呃,快ROOT了吧,乐趣在後面,我装了100多个软件了,才200+M,全APP2SD+了 参考技术B 数据库空间和手机存储器空间是两个概念,手机存储器空间不足需要App2sd,数据库空间不足可能是某个软件出错了,暴力占用数据库,或者装的依赖数据库的软件太多,把数据库空间占满了。 参考技术C 增加表空间大小:一种是为表空间增加数据文件/另一种方法是增加表空间原有数据文件尺寸。
一种是为表空间增加数据文件alter tablespace users add datafile '/opt/oracle/oradata/esop/so_data02.dbf' size 200M;
另一种方法是增加表空间原有数据文件尺寸:
复制代码 代码如下:
alter database datafile '/opt/oracle/oradata/esop/so_data01.dbf' resize 200M; 参考技术D 刷2.2版本 用上app2sd 基本上就好多了 推荐你多看看教程
以上是关于数据库空间不足怎么解决?的主要内容,如果未能解决你的问题,请参考以下文章