表占用磁盘空间查询 create table #b([name] nvarchar(100)); insert into #b SELECT distinct a.name FROM sysobjects a INNER JOIN sysindexes b ON a.id = b.id WHERE (a.xtype = 'u')
NC6.5 数据库参考脚本及临时表空间配置,SQLServer参考脚本 Oracle参考脚本 DB2参考脚本用友网络科技股份有限公司
YONYOU NO6.5数据库参考脚本及临时表空间配置
1 SQLServer参考脚本
用户创建 SQLServer数据库的脚本如下。可以根据需求,修改参数大小。情创建所需目录。
USE master,
g
I F DB ID(N'ncdb)IS NOT NULL
DROP DATABASE ncdb:
go
create DATABASE ncdb
ON
最近做项目需要查看数据用户表的大小,包括记录条数和占用的磁盘空间数目。在网上找了很久其中查看MSSQL数据库每个表占用的空间大小 相对还可以。不过它的2、3中方法返回的数据比较多,有些是我们不关心的数据,我在AdventureWorks2012数据上做的测试。其中第二种方法代码如下:复制代码 代码如下:View Code if not exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[tablespaceinfo
首先查询表空间的大小以及文件路径地址
select tablespace_name, file_id, file_name,round(bytes/(1024*1024),0) total_space from dba_data_files order by tablespace_name;
解决方案一
//修改表空间大小(32000可改为想要的数值)
alter database datafile '要修改的数据文件地址' resize 32000m;
解决方案二
//新增数据文件
AL
代码如下: DECLARE v_table tabs.table_name%TYPE; v_sql VARCHAR2(888); v_q NUMBER; CURSOR c1 IS SELECT table_name tn FROM tabs; TYPE c IS REF CURSOR; c2 c; BEGIN DBMS_OUTPUT.PUT_LINE(‘以下为空数据表的表名:’); FOR r1 IN c1 LOOP v_table :=r1.tn; v_sql :=’SELECT COUNT(