附加数据库提示错误SQL-DMO (ODBC SQLState:42000)
广告投放★自助友情CMS落伍广告联盟晒乐广告联盟脉动广告联盟品味广告联盟
广告位可自定样式联系QQ:4285248个文字广告月20元广告联系QQ:428524广告位可自定样式
8个文字广告月20元黄金广告位每月20元广告位可自定样式联系QQ:428524广告位可自定样式
左旋肉碱、全国包邮
买二送一、无效退款

文章浏览→编程相关Mssql→附加数据库提示错误SQL-DMO (ODBC SQLState:42000)

附加数据库提示错误SQL-DMO (ODBC SQLState:42000)
附加数据库提示错误SQL-DMO (ODBC SQLState:42000)

环境:winXP+sqlServer2000(即8.0)

执行:备份后恢复的bbs数据库,数据文件2个(2.64G,261M),日志1.8G,觉得日志太占用空间,想清空日志,于是先分离数据库---》删除日志---》附加数据库,这时提示错误:

SQL-DMO (ODBC SQLState:42000)
数据库的累计大小将超过每数据库2048MB的使用许可限制

解决办法:重新还原数据库,然后

         1、清空事务日志  DUMP TRANSACTION [db_name]WITH NO_LOG

         2、截断事务日志:backup log [db_name] with no_log

         3、收缩数据库

再查看日志文件,有原来的1.8G缩小为504K

注意:分离(detach)数据库前,一定要先备份数据库

 

网上搜索有关信息如下:

1、 磁盘分区 限制 数据文件大小

1.检查你的磁盘剩余空间是否足够,如果没有磁盘剩余空间,则清理磁盘,腾出空间。
2.检查你的磁盘分区格式:

     如果是FAT16,则数据文件最大只能是2G  
     如果是FAT32,则数据文件最大只能是4G  
     改为NTFS分区则没有这种限制

3.检查一下你有没有限制数据库文件的大小:
企业管理器--右键你的数据库--属性--文件增长限制--如果有限制大小,取消限制。
4.检查你的SQL版本,如果你用MSDE,则限制了数据文件最大是2G。

 2、数据库版本限制数据文件大小

在查询分析器里执行  
SELECTSERVERPROPERTY('productversion'),SERVERPROPERTY('productlevel'),SERVERPROPERTY('edition')

我本机上结果如下:

productversion   productlevel        edition

 8.00.194            RTM          DesktopEngine

可见安装的是MSDE即SQL Server Desktopengine(桌面引擎),基于MSDE的数据库最多能存储2GB大小的数据

只有安装SQL Server其他版本(企业版   标准版  个人版   开发版)才能解决我的上述附加问题,附加大于2G的数据文件不出错

下面是我在服务器上select 的版本信息

productversion   productlevel        edition

8.00.2039             SP4       Enterprise Edition

 另外 SELECT  @@version 也可以查看版本信息

 

使用语句 分离数据库:

use master

go

exec sp_detach_db 'db_name',true

使用语句 附加数据库:

use master

go

exec sp_attach_db 'db_name',true

下面的示例将 pubs 中的两个文件附加到当前服务器。

EXEC sp_attach_db @dbname = 'pubs',
   @filename1 = 'c:\ProgramFiles\Microsoft SQL Server\MSSQL\Data\pubs.mdf',
   @filename2 = 'c:\ProgramFiles\Microsoft SQLServer\MSSQL\Data\pubs_log.ldf'

附加数据文件

exec sp_attach_single_file_db'db_name','e:\database\mydb.mdf'

 

收缩数据库  dbcc shrinkdatabase('db_name')

所属分类:编程相关Mssql    作者:新浪博客    时间:2010-11-20 0:00:00

文章导航