这个似乎不好处理。 建表时间存储在系统表中,用户可以通过 SYS.OBJECTS 目录视图查看,但是现在 SQL Server 2005 不支持直接修改系统表。
先 SP_CONFIG启用 ALLOWS UPDATE 然后语句应该照常一样 UPDATE SYS.OBJECTS SET CRDATE=@DT WHERE ID=OBJCET_ID('TB')
将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单用户模式
建表时间存储在系统表中,用户可以通过 SYS.OBJECTS 目录视图查看,但是现在 SQL Server 2005 不支持直接修改系统表。
UPDATE SYS.OBJECTS SET CRDATE=@DT WHERE ID=OBJCET_ID('TB')
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单用户模式
sp_config 'allow updates' ,1修改 系统对象表 sys.objects