zoukankan      html  css  js  c++  java
  • 有喜有忧,喜大于忧

    昨天转正考试通过了,岳父、岳母也顺利的到达海口,基本都满意。我心中挺高兴。
    可是,SQL SERVER 2k 的数据库崩了,只要是启动服务,内存就狂涨,300、500M都没问题。
    导致客户端联不上,工作也停滞下来。
    估计可能是中毒。目前没有好的解决方案。只是写了一个调度作业,备份数据库、清理日志、截断事务日志、收缩数据库。
    调度作业的SQL 脚本如下:
    -- 2004-10-27/11:01 上生成的脚本
    -- 由: ZHAOXIN123\Administrator
    -- 服务器: (local)

    BEGIN TRANSACTION           
      DECLARE @JobID BINARY(16) 
      DECLARE @ReturnCode INT   
      SELECT @ReturnCode = 0    
    IF (SELECT COUNT(*) FROM msdb.dbo.syscategories WHERE name = N'Database Maintenance') < 1
      EXECUTE msdb.dbo.sp_add_category @name = N'Database Maintenance'
    IF (SELECT COUNT(*) FROM msdb.dbo.sysjobs WHERE name = N'mybacklog') > 0
      PRINT N'作业“mybacklog”已经存在,因而将不被替换。'
    ELSE
    BEGIN

      -- 添加作业
      EXECUTE @ReturnCode = msdb.dbo.sp_add_job @job_id = @JobID OUTPUT , @job_name = N'mybacklog', @owner_login_name = N'ZHAOXIN123\Administrator', @description = N'没有可用的描述。', @category_name = N'Database Maintenance', @enabled = 1, @notify_level_email = 0, @notify_level_page = 0, @notify_level_netsend = 0, @notify_level_eventlog = 2, @delete_level= 0
      IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback

      -- 添加作业步骤
      EXECUTE @ReturnCode = msdb.dbo.sp_add_jobstep @job_id = @JobID, @step_id = 1, @step_name = N'备份数据库', @command = N'backup database Duwamish7 to disk=''c:\mytest''', @database_name = N'Duwamish7', @server = N'', @database_user_name = N'', @subsystem = N'TSQL', @cmdexec_success_code = 0, @flags = 0, @retry_attempts = 0, @retry_interval = 1, @output_file_name = N'', @on_success_step_id = 0, @on_success_action = 3, @on_fail_step_id = 0, @on_fail_action = 2
      IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
      EXECUTE @ReturnCode = msdb.dbo.sp_add_jobstep @job_id = @JobID, @step_id = 2, @step_name = N'清空日志', @command = N'DUMP TRANSACTION Duwamish7 WITH NO_LOG', @database_name = N'Duwamish7', @server = N'', @database_user_name = N'', @subsystem = N'TSQL', @cmdexec_success_code = 0, @flags = 0, @retry_attempts = 0, @retry_interval = 1, @output_file_name = N'', @on_success_step_id = 0, @on_success_action = 3, @on_fail_step_id = 0, @on_fail_action = 2
      IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
      EXECUTE @ReturnCode = msdb.dbo.sp_add_jobstep @job_id = @JobID, @step_id = 3, @step_name = N'截断事务日志', @command = N'BACKUP LOG Duwamish7 WITH NO_LOG', @database_name = N'Duwamish7', @server = N'', @database_user_name = N'', @subsystem = N'TSQL', @cmdexec_success_code = 0, @flags = 0, @retry_attempts = 0, @retry_interval = 1, @output_file_name = N'', @on_success_step_id = 0, @on_success_action = 3, @on_fail_step_id = 0, @on_fail_action = 2
      IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
      EXECUTE @ReturnCode = msdb.dbo.sp_add_jobstep @job_id = @JobID, @step_id = 4, @step_name = N'收缩数据库', @command = N'DBCC SHRINKDATABASE(Duwamish7)', @database_name = N'Duwamish7', @server = N'', @database_user_name = N'', @subsystem = N'TSQL', @cmdexec_success_code = 0, @flags = 0, @retry_attempts = 0, @retry_interval = 1, @output_file_name = N'', @on_success_step_id = 0, @on_success_action = 1, @on_fail_step_id = 0, @on_fail_action = 2
      IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
      EXECUTE @ReturnCode = msdb.dbo.sp_update_job @job_id = @JobID, @start_step_id = 1

      IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback

      -- 添加作业调度
      EXECUTE @ReturnCode = msdb.dbo.sp_add_jobschedule @job_id = @JobID, @name = N'DBBack', @enabled = 1, @freq_type = 8, @active_start_date = 20041027, @active_start_time = 92300, @freq_interval = 8, @freq_subday_type = 1, @freq_subday_interval = 0, @freq_relative_interval = 0, @freq_recurrence_factor = 1, @active_end_date = 99991231, @active_end_time = 235959
      IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback

      -- 添加目标服务器
      EXECUTE @ReturnCode = msdb.dbo.sp_add_jobserver @job_id = @JobID, @server_name = N'(local)'
      IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback

    END
    COMMIT TRANSACTION         
    GOTO   EndSave             
    QuitWithRollback:
      IF (@@TRANCOUNT > 0) ROLLBACK TRANSACTION
    EndSave:
    需要注意的是色彩那部分。

    //添加时间:2004-10-29
    其实上面的代码很多地方要修改。不如直接手工建立job.

  • 相关阅读:
    面向对象
    模块
    第四十课、前置操作符和后置操作符------------------狄泰软件学院
    uva -- 10766
    poj -- 3468
    poj --3264
    cstring 的重载
    hihocode ---1032
    省赛总结
    13周总结
  • 原文地址:https://www.cnblogs.com/joxin/p/57148.html
Copyright © 2011-2022 走看看