以前用sql server 2005建立的一个数据库,从表的属性中可以看到各个表建立表的时间,在不重新建立这个数据库的情况下,我想修改一下这个表的建表时间,该如何处理,高手们帮帮忙,谢谢啦!

解决方案 »

  1.   

    这个似乎不好处理。
    建表时间存储在系统表中,用户可以通过 SYS.OBJECTS 目录视图查看,但是现在 SQL Server 2005 不支持直接修改系统表。
      

  2.   

    先 SP_CONFIG启用 ALLOWS UPDATE 然后语句应该照常一样
    UPDATE SYS.OBJECTS SET CRDATE=@DT WHERE ID=OBJCET_ID('TB')
      

  3.   

    将sql server 2005服务以单用户模式启动.
    cmd下,cd到sql server 2005的sqlservr.exe所在的binn目录下.
    然后执行
    sqlservr.exe -m
    单用户模式启动sql server 2005.在cmd模式下,
    执行sqlcmd -E -A
    命令,通过-A参数,使用DAC登录到SQL SERVER 2005.然后use 命令切换当前数据库为目标数据库.执行命令.update sys.sysschobjs set created=具体时间
    where id = object_id(N'要修改时间的表')go然后重启sql server 2005服务.
    net stop mssqlservernet start mssqlserver 
    此时启动时,不需要再使用-m单用户模式
      

  4.   

    应该可以
      sp_config 'allow updates' ,1修改 系统对象表  sys.objects