IF OBJECT_ID('dbo.Sales', 'U') IS NOT NULL DROP TABLE dbo.Sales;
GO
CREATE TABLE dbo.Sales
(
  mnth DATE , 
  qty  INT 
);
INSERT INTO dbo.Sales(mnth, qty) 
SELECT '20071201', 100;
GO
SELECT * FROM dbo.Sales;
--报错:
--在执行批处理时出现错误。错误消息为: 在列“mnth”上的 GetBytes 尝试无效。GetBytes 函数只能用在 Text、NText 或 Image 类型的列上。检查过了,是mnth的date类型导致,换个datetime就好了,但不知何故
select @@version
--Microsoft SQL Server 2008 (RTM) - 10.0.1600.22 (X64)   Jul  9 2008 14:17:44   Copyright (c) 1988-2008 Microsoft Corporation  Standard Edition (64-bit) on Windows NT 6.0 <X64> (Build 6002: Service Pack 2) 

解决方案 »

  1.   

    没有复现lz遇到的这个错误。dbcc checktable OK的话,还真是bug哦。 
    lz查查sp1 或者sp2的补丁说明里面有关于这个的没
      

  2.   

    执行没错,GetBytes这个哪来的?
      

  3.   

    是不是SSMS的问题,我这边执行都OK的。 
      

  4.   

    问题找到了,如3F所说,确实是SSMS的问题。
    问题出在SSMS是05的,而实例是08的。