请在查询分析器中创建这个存储过程,以后这个存储过程在企业管理和查询分析器都能修改了。  
 
对于存储过程,SQL  Server  使用最初创建存储过程时的  SET  ANSI_NULLS  设置值。无论随后何时执行存储过程,SET  ANSI_NULLS  的设置都还原为其最初使用的值并生效。当在存储过程内唤醒调用  SET  ANSI_NULLS  时,其设置不更改。  
 
在执行分布式查询时应将  SET  ANSI_NULLS  设置为  ON。  
 
在执行分布式查询时应将  ANSI_WARNINGS  设置为  ON。  
 
企业管理中的ANSI_NULLS和ANSI_WARNINGS选项不对,但没有方法改动。在查询分析器可以设置ANSI_NULLS和ANSI_WARNINGS选项,而且默认值是对的。所以能在查询分析器创建此类存储过程,而不能在企业管理器创建此类存储过程。就是:
create proc 名
as
SET ANSI_NULL_DFLT_ON on --注意
SET ANSI_WARNINGS on select * from open...

解决方案 »

  1.   

    如果原来
    SET ANSI_NULLS off
    SET ANSI_WARNINGS off则
    create proc 名
    as
    SET ANSI_NULL_DFLT_ON on --注意
    SET ANSI_WARNINGS on select * from open...这样系统会报 
    异类查询要求为连接设置 ANSI_NULLS 和 ANSI_WARNINGS 选项。这将确保一致的查询语义。请启用这些选项,然后重新发出查询
    所以先要
    SET ANSI_NULLS on
    SET ANSI_WARNINGS on
    再创建存储过程
      

  2.   

    搞定了,结帐。原因:SQL中提示是提示,但是它还是把字保存下来了。不过,我还是在SQL查询分析器里面写。