CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  MS-SQL Server >  疑难问题

更新语句问题,请各位高手进来指教

楼主Afei1(阿飞1)2003-09-04 17:48:59 在 MS-SQL Server / 疑难问题 提问

出错信息:  
  服务器:   消息   1101,级别   17,状态   10,行   1  
  未能为数据库   'TEMPDB'   分配新页。在文件组   DEFAULT   中已没有更多的页可供使用。采取除去对象、添加另外的文件或允许文件增长等手段可创建空间。  
  语句:  
  Update   Sal_HumanInfo  
    Set   MaxEduLevel   =   (case   when   aa.code1<IsNull(bb.code2,'999')   then   aa.edulevel   else   bb.incumbencyedulevel   end)  
  From  
  ((select   a.num,a.edulevel,b.edulevelcode   as   code1  
  from   sal_HumanInfo   a  
  left   join   SalStandard.dbo.Gzc_Sal_TryOut   b  
  on   a.edulevel=b.edulevel)   aa  
  left   join    
   
  请问各位高手,这到底是什么原因,是SQL语句的原因还是?  
  在我装SQL   Server的盘里,那个TempDb已经达到7G  
  导致整个D盘被装满  
  (select   a.num,a.IncumbencyEdulevel,b.edulevelcode   as   code2  
  from   sal_HumanInfo   a  
  left   join   SalStandard.dbo.Gzc_Sal_TryOut   b  
  on   a.IncumbencyEdulevel=b.edulevel)   bb  
  on   aa.num=bb.num)  
  问题点数:0、回复次数:7Top

1 楼sdhdy(大江东去...)回复于 2003-09-04 18:05:36 得分 0

清除一下日志:  
  方法1、  
  --在查询分析器,选中所要清理日志的数据库,执行如下SQL  
  backup   log   数据库名   with   no_log  
  DBCC   SHRINKFILE   (   日志文件名或日志文件ID,要缩小的目标大小)  
                   
  在当前数据库下  
  select   fileid,groupid,name   from   sysfiles   where   groupid=0  
  ----------------------------------------  
  得到以下结果  
  fileid           groupid                     name      
  2                     0                                 test_log    
   
  以上结果,fileid为日志文件ID,name为test_log  
   
  你可以  
  backup   log   test   with   no_log  
  dbcc   shrinkfile   (2,2)  
  or  
  backup   log   test   with   no_log  
  dbcc   shrinkfile   ('test_log',2)  
  如果以后,不想要它变大,在数据库上点右键->属性->选项->故障恢复     模型   选择   简单模型就可以了!  
  或用SQL语句  
  alter   database   数据库名   set   recovery   simple  
   
  方法2、  
  SQL   SERVER企业管理器-》SQL   SERVER组-》服务器-》数据库-》选中数据库实体-》右键-》所有任务-》分离数据库,  
  然后到数据库所在物理路径下删除.ldf文件,再数据库右键-》所有任务-》附加数据库,即可,会重新生成日志文件。  
   
  Top

2 楼sdhdy(大江东去...)回复于 2003-09-04 18:06:15 得分 0

清除一下日志:  
  方法1、  
  --在查询分析器,选中所要清理日志的数据库,执行如下SQL  
  backup   log   数据库名   with   no_log  
  DBCC   SHRINKFILE   (   日志文件名或日志文件ID,要缩小的目标大小)  
                   
  在当前数据库下  
  select   fileid,groupid,name   from   sysfiles   where   groupid=0  
  ----------------------------------------  
  得到以下结果  
  fileid           groupid                     name      
  2                     0                                 test_log    
   
  以上结果,fileid为日志文件ID,name为test_log  
   
  你可以  
  backup   log   test   with   no_log  
  dbcc   shrinkfile   (2,2)  
  or  
  backup   log   test   with   no_log  
  dbcc   shrinkfile   ('test_log',2)  
  如果以后,不想要它变大,在数据库上点右键->属性->选项->故障恢复     模型   选择   简单模型就可以了!  
  或用SQL语句  
  alter   database   数据库名   set   recovery   simple  
   
  方法2、  
  SQL   SERVER企业管理器-》SQL   SERVER组-》服务器-》数据库-》选中数据库实体-》右键-》所有任务-》分离数据库,  
  然后到数据库所在物理路径下删除.ldf文件,再数据库右键-》所有任务-》附加数据库,即可,会重新生成日志文件。  
   
  Top

3 楼pengdali()回复于 2003-09-04 18:09:39 得分 0

1、马上重起sqlserver,tempdb自己会释放。  
   
  2、移动tempdb和数据文件分开存储是优化的一个方法,步骤:  
   
  1、用Enterprise   Manager或sp_helpdb查看tempdb现在存放的位置  
  2、用  
  alter   database   tempdb   modify   file(name='tempdev',filename='newpath\newfilename')  
  alter   database   tempdb   modify   file(name='templog',filename='newpath\newfilename')  
  3、关闭sqlserver重起  
  4、删掉旧的tempdb文件Top

4 楼txlicenhe(马可)回复于 2003-09-04 19:17:11 得分 0

重起sqlserverTop

5 楼nboys()回复于 2003-09-04 19:41:54 得分 0

清空日志:  
   
  dump   transaction   databaseName   with   no_log  
   
  dbcc   shrinkfile   ('.log_fileName',newsize)Top

6 楼nboys()回复于 2003-09-04 19:43:14 得分 0

 
   
  把数据库改为自动增长:  
   
  右击数据库--属性--日志文件---自动增长Top

7 楼zjcxc(邹建)回复于 2003-09-04 20:19:40 得分 0

你的磁盘空间不够,当然不能插入数据了.  
   
  方法1:   清除磁盘上的不需要的文件,增加文件空间.  
   
  方法2:   压缩数据库,在查询分析器中执行:dbcc   shrinkdatabase('数据库名')  
   
  Top

8 楼Afei1(阿飞1)回复于 2003-09-05 08:57:07 得分 0

问题是sql语句写错了  
  大家注意看sql语句好不好Top

相关问题

  • 请教各位高手,更新带分组的SQL语句...
  • 更新语句
  • 关于sql语句,各位请帮忙!
  • 请教各位大哥!!急,SQL语句。
  • 语句过不了,请各位帮忙!
  • 请各位帮忙,求一select 语句
  • 请教各位,SQL语句如何写?
  • 请教各位高手SQL语句
  • 一个select语句,请教各位!
  • 为什么我的sql更新语句有问题?请赐教!

关键词

  • 数据库
  • 语句
  • 文件
  • 属性
  • 服务器
  • database
  • sql
  • 日志
  • tempdb
  • 右键

得分解答快速导航

  • 帖主:Afei1

相关链接

  • SQL Server类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo