日期:2025-07-16 06:54:58 人气:1

    A+
热门评论

SQL Server中常见的问题与解决方法

关于事务日志 在使用sql server时,经常会出现系统提示事务日志 已满的错误信息(错误1105),以使的应用系统的数据库 无法打开,影响到系统的正常运行。通常有三种方法可以 解决这一问题: ●扩展数据库空间 可以通过扩展数据库大小来增大事务日志的空间。先 利用alter database增大数据库空间,再通过sp—logdev ice系统存储过程把事务日志转移到事务日志数据库设备 上去,具体语法如下: 语法: ·alter database database—name on database—d evice’增大数据库空间 ·sp—logdevice dbname,database_device’转移 事务日志 例:alterdatabasemydbonmydb—log—dev=8 sp—logdevicemydbmydb—log—dev 如果数据库对数据库设备变得过大(通常在决定数据 库大小时,先指定一个保守的值,如果以后需要增大空间 ,用alter database增加其大小),需先扩展数据库设备 ,再增大事务日志的空间,具体语法如下: 语法: ·disk resize name=logical—device_name,size= final—size’扩展数据库设备 ·alter database database—name on database—d evice’增大数据库空间 ·sp_logdevicedbname,database_device’转移事 务日志 例:disk resize name=mydb on mydb—log—dev=8 alter database mydb on mydb—log—dev=8 sp—logdevice mydb mydb—log—dev (以上工作也可以通过对microsoft sql enterprise manger提供的gui界面直接操作来完成。) ●定期执行dump database语句来完成截短 事务日志。其语法为: 语法: ·dump database dbname to dump_device 例:dump databas emydb to mydump—dev(通过将 数据库mydb备份到备份设备mydump—dev上完成截短事务日 志。) ●trunc.logonchkpt.选项来完成截短事 务日志 缺省时,在新建的数据库上,trunc.logonchkpt. 选项设置成off(缺省值),事务日志永远不作备份,事务 日志不停地增长,可能会耗尽数据库的存储空间,将trun c.logonchkpt.选项设置成on,每次checkpoint进程发 生时(通常每分钟一次)都截短事务日志(删除已提交的 事务),使得事务日志不会不停地增长以耗尽数据库的存 储空间。 配置选项和值 在使用sql server时,同样会经常出现系统提示user connections(用户连接)已达到配置数,系统无法正常 运行的问题。sql server用户连接最大值是32767,而缺 省时的一般配置数为15个。如果使用中的用户连接已达到 配置数,而又来了一个用户连接请求,sqlserver将回送一 个错误消息。这时可以通过修改sql server的配置选项中 的user connections项的最大值来解决这一问题。配置选 项的显示和管理可通过sp—configure系统过程来完成, 但不能使用sp—configure来设定一个比当前配置选项最大 值还大的配置选项。 语法:sp—configure〔‘config—name’〔,confi g—value〕〕 其中config—name为配置选项的项名,config—valu e为设置值。 例:sp—configure‘user_connections’,30 同时用户可以使用sp—configure来显示配置选项, 通过重新设置一些配置选项,调节性能和优化存储分配。 (注:修改sql server的配置选项,必须以系统管理员身 份登录。)?

阅读全文