Sql server 2005 在SQL 2005服务器中附加SQL 2000 DB,现在收到VB6应用程序抛出错误

Sql server 2005 在SQL 2005服务器中附加SQL 2000 DB,现在收到VB6应用程序抛出错误,sql-server-2005,vb6,null,Sql Server 2005,Vb6,Null,SQL 2000的数据库已分离,SQL 2000已卸载。然后在同一台计算机上安装SQL 2005。然后将数据库连接到新安装的SQL 2005 server。一开始它似乎很管用,但在用户开始闲逛之后,与null相关的错误开始出现。日期时间列中没有的空值,以及诸如此类的内容。db的兼容性级别为2000(8.0)。可能发生的情况。您是否运行了DBCC UPDATEUSAGE 在早期版本的SQL Server中 表和索引行的值 计数和页面计数可以变为 不对。因此,数据库 是在SQL之前的版本上创建的 S

SQL 2000的数据库已分离,SQL 2000已卸载。然后在同一台计算机上安装SQL 2005。然后将数据库连接到新安装的SQL 2005 server。一开始它似乎很管用,但在用户开始闲逛之后,与null相关的错误开始出现。日期时间列中没有的空值,以及诸如此类的内容。db的兼容性级别为2000(8.0)。可能发生的情况。

您是否运行了
DBCC UPDATEUSAGE

在早期版本的SQL Server中 表和索引行的值 计数和页面计数可以变为 不对。因此,数据库 是在SQL之前的版本上创建的 Server 2005可能包含不正确的 计数。升级数据库之后 对于SQL Server 2005,我们建议 您可以运行
DBCC UPDATEUSAGE
进行更正 任何无效计数。这个DBCC 语句更正所使用的行 页面、保留页面、叶页面和 中每个分区的数据页计数 表或索引。更多 有关详细信息,请参阅DBCC UPDATEUSAGE (Transact-SQL)

你重建了所有的索引吗

exec sp_msforeachtable "dbcc dbreindex('?')"

注意:如果这是在生产中,请小心,因为这可能需要一段时间。也许可以和您的DBA谈谈。

您是否运行了
DBCC UPDATEUSAGE

在早期版本的SQL Server中 表和索引行的值 计数和页面计数可以变为 不对。因此,数据库 是在SQL之前的版本上创建的 Server 2005可能包含不正确的 计数。升级数据库之后 对于SQL Server 2005,我们建议 您可以运行
DBCC UPDATEUSAGE
进行更正 任何无效计数。这个DBCC 语句更正所使用的行 页面、保留页面、叶页面和 中每个分区的数据页计数 表或索引。更多 有关详细信息,请参阅DBCC UPDATEUSAGE (Transact-SQL)

你重建了所有的索引吗

exec sp_msforeachtable "dbcc dbreindex('?')"

注意:如果这是在生产中,请小心,因为这可能需要一段时间。也许可以与您的DBA交谈。

我会将其更改为兼容模式90(SQL 2005)IMHODBCC CHECKDB查看您的数据库是否正常开始我会将其更改为兼容模式90(SQL 2005)IMHODBCC CHECKDB查看您的数据库是否正常开始此操作解决了问题,报告的页数和行数存在多个不匹配。谢谢,看来我说得太快了。其中一个表仍在抛出错误。这解决了问题,即报告的页数和行数存在多个不匹配。谢谢,看来我说得太快了。其中一个表仍在抛出错误。