SQL Server 2k企业管理器复制表BUG
续前几天发现企业管理器的乱码bug后,今天又发现一个SQL Server 2000企业管理器的bug。希望这次大家都能复现,而不要再是什么rpwt了@_@。不过不要怪我操作太bt哦~~
如果我们想清空一个表,表的内容挺多的,并且表内有自增字段。我们希望删掉数据后,重新向表中插入数据,自增字段能从1开始。这时最好的办法就是把建表的SQL语句导出,然后删掉表,再执行SQL把表建出来。企业管理器提供了一个导出建表SQL语句的快捷方法,就是在表名上点右键并选复制。之后在一个文本编辑器里Paste,就得到建表的SQL语句了。这个没有问题,那么问题是怎么来的呢?
当我在测试代码时,向一个表里写了一大坨数据,我在程序release时想把数据库清空,于是我就复制表,然后删除数据库,再执行SQL。如果我复制表后,在文本编辑器里Paste,再删除被复制表,再在企业管理器里执行SQL,毫无问题。可是如果我这样操作:
在企业管理器里,复制表->删除该表->再粘贴SQL代码。这时企业管理器就crash了
,错误信息为:

// windows xp sp1 + sql server 2000 sp3a,都是英文版
bug分析,企业管理器在处理表Copy的时候使用的应该是lazy initialize的方式,所以在表格被删除后再paste就出问题了,不过居然没有错误处理机制,而是整个企业管理器crash掉,利害
。
如果我们想清空一个表,表的内容挺多的,并且表内有自增字段。我们希望删掉数据后,重新向表中插入数据,自增字段能从1开始。这时最好的办法就是把建表的SQL语句导出,然后删掉表,再执行SQL把表建出来。企业管理器提供了一个导出建表SQL语句的快捷方法,就是在表名上点右键并选复制。之后在一个文本编辑器里Paste,就得到建表的SQL语句了。这个没有问题,那么问题是怎么来的呢?
当我在测试代码时,向一个表里写了一大坨数据,我在程序release时想把数据库清空,于是我就复制表,然后删除数据库,再执行SQL。如果我复制表后,在文本编辑器里Paste,再删除被复制表,再在企业管理器里执行SQL,毫无问题。可是如果我这样操作:
在企业管理器里,复制表->删除该表->再粘贴SQL代码。这时企业管理器就crash了


// windows xp sp1 + sql server 2000 sp3a,都是英文版
bug分析,企业管理器在处理表Copy的时候使用的应该是lazy initialize的方式,所以在表格被删除后再paste就出问题了,不过居然没有错误处理机制,而是整个企业管理器crash掉,利害

posted on 2005-03-27 21:07 birdshome 阅读(3506) 评论(3) 编辑 收藏 举报
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器