近日,同学做毕业设计,问我如何修改SQL server 2000的数据表的创建时间,我想想之前还真没遇到过是怎么操作的,于是,上网查,结果,网上还真有不少给出了解决办法的,但比较松散,或者一文现各处。
有的,说重新建表,然后将新表的表名该为你要修改的数据表的表名,把旧的删掉,这样是不错,可以达到效果,但比较费事。
于是,我在前辈们的基础上总结了一下:
创建时间为用户在创建数据库的数据表时的系统时间,修改起来比较麻烦,但可以通过下面的方法进行修改。
修改数据表的创建时间步骤
1、 在 SQL server 2000 中的“企业管理器”中找到对应数据库下的 sysobjects (该表为系统表,里面存储了用户创建的各个表的相关信息) ;
2、 在“查询分析器”中,输入一下 SQL 语句:
select * from dbo.sysobjects // 查询 sysobjects 的相关数据信息;
3、 通过查询的结果可以看到 sysobjects 中的字段值,其中有一个字段为: crdate ,该字段值就是我们要修改的目的;
4、 在修改该字段值之前,必须要修改数据库的系统数据表的修改权限,我们通过在“查询分析器”中执行一下语句便可:
sp_configure 'allow updates', 1
RECONFIGURE WITH OVERRIDE
执行的结果: DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。
已将配置选项 'allow updates' 从 1 改为 1 。请运行 RECONFIGURE 语句以安装。表示执行成功;
5、 修改创建时间字段值,执行语句:
UPDATE dbo.sysobjects SET crdate = '2011-04-22 06:02:43.787' WHERE crdate = '2006-03-02 06:02:43.787'
6、 等所有的修改数据表的创建时间的操作完成后,记得执行以下语句, 修改系统表的修改权限 :
sp_configure 'allow updates', 0
RECONFIGURE WITH OVERRIDE
至此,数据表的创建时间就修改成功了。