读书人

SQL2008怎么解决quot;不允许对系统目录进行

发布时间: 2012-12-16 12:02:32 作者: rapoo

SQL2008如何解决"不允许对系统目录进行即席更新"?
系统表sys.systypes中有任一数据

Name xtpye uid

dtBaseNo 106 1

要运行 update sys.systypes set length =9 where uid =1 and xtype = 106 提示

不允许对系统目录进行即席更新

如何解决?
[最优解释]
sp_configure 'allow updates',1
RECONFIGURE WITH override
go
UPDATE syscolumns SET colid=colid+1
WHERE id=object_id('employee')
update syscolumns set colid=1
where id=object_id('employee') and name='test1'
go
sp_configure 'allow updates',0
RECONFIGURE WITH override


[其他解释]
系统目录东西不能随便更改的
[其他解释]

下表列出了所有可用的配置选项、可能的设置范围及其默认值。配置选项旁的字母代码分别表示: 

高级选项(只能由认证的 SQL Server 技术人员更改,并且更改前需要将 show advanced options 设为 1),用"A"标识。


需要服务器重新启动才能生效的选项,用"RR"标识。


自配置选项(由 SQL Server 根据系统需要自行配置的选项),用"SC"标识。


sp_configure,上面是要求
[其他解释]

sp_configure 'allow updates',1
RECONFIGURE WITH override
go
update sys.systypes set length =9 where uid =1 and xtype = 106
go
sp_configure 'allow updates',0
RECONFIGURE WITH override





[其他解释]
在 sql server 2005 和 sql server 2008 中,sys.systypes 是兼容视图,不允许直接更新,即使设置了 allow updates 选项。


[其他解释]
引用:
在 sql server 2005 和 sql server 2008 中,sys.systypes 是兼容视图,不允许直接更新,即使设置了 allow updates 选项。
.
[其他解释]
引用:
引用:
引用:
在 sql server 2005 和 sql server 2008 中,sys.systypes 是兼容视图,不允许直接更新,即使设置了 allow updates 选项。


.


那该如何办?难道只能用手动?
问题出自当自定义了数据类型后,在有数据的表中发现引用自定义的数据类型长度不够,必须修改自定义的数据类型的长度,数据库中的多个表和存储过程都引用了该用户自定义数据类型后。

将那个删除,再添加个同名的行不?
[其他解释]
sql server 2005 和 sql server 2008 已经不允许直接修改系统表,allow updates 选项已经不再有用。

看来只能通过 sp_depends 找出所有引用此类型的数据库对象,逐一修改。

[其他解释]
sql server 2005 和 sql server 2008
不再支持直接对系统表进行修改。
[其他解释]
这个不能直接改吧
[其他解释]
学习。
[其他解释]
试了sp_configure 'allow updates',1
RECONFIGURE WITH override


go
update sys.systypes set length =9 where uid =1 and xtype = 106
go
sp_configure 'allow updates',0
RECONFIGURE WITH override

提示

配置选项 'allow updates' 已从 0 更改为 1。请运行 RECONFIGURE 语句进行安装。
消息 259,级别 16,状态 1,第 1 行
不允许对系统目录进行即席更新。
配置选项 'allow updates' 已从 1 更改为 0。请运行 RECONFIGURE 语句进行安装。

[其他解释]

引用:
引用:
在 sql server 2005 和 sql server 2008 中,sys.systypes 是兼容视图,不允许直接更新,即使设置了 allow updates 选项。


.


那该如何办?难道只能用手动?
问题出自当自定义了数据类型后,在有数据的表中发现引用自定义的数据类型长度不够,必须修改自定义的数据类型的长度,数据库中的多个表和存储过程都引用了该用户自定义数据类型后。
[其他解释]
该回复于2010-07-28 09:27:19被版主删除
[其他解释]
2005不可以了
[其他解释]
引用:
这个不能直接改吧


不能直接改,可以间接改吗?
[其他解释]
Thanks for your sharing
[其他解释]
具体怎么解决啊!

读书人网 >SQL Server

热点推荐