分享

SQL2000升级为SQL2005后,程序报错处理!

 yuelianga 2011-02-25

SQL2000升级为SQL2005后,程序报错处理!

(2010-08-04 16:22:56)

    数据库由SQL2000升级为SQL2005,再运行以前开发的程序时报错,此程序执行一存储过程,见用SQL语句拷贝文件

程序报错,提示:

    SQL Server 阻止了对组件'xp_cmdshell' 的过程'sys.xp_cmdshell' 的访问,因为此组件已作为此服务器安全配置的一部分而被关闭。系统管理员可以通过使用sp_configure 启用'xp_cmdshell'。有关启用'xp_cmdshell' 的详细信息,请参阅SQL Server 联机丛书中的"外围应用配置器"。

解决方法:

方法一:

    启动外围应用配置器工具。依次运行[开始]菜单-[程序]-[Microsoft SQL Server 2005]-[配置工具]-[SQL Server 外围应用配置器]。单击配置外围应用旁边的链接,选择服务器,默认值为 localhost。选择“功能的外围应用配置器”,启用'xp_cmdshell'选项打勾即可。

方法二:

    用语句启用'xp_cmdshell'。运行如下的SQL语句:
    sp_configure 'xp_cmdshell', 1;
    go
    reconfigure;
    go
运行完毕,即可启用'xp_cmdshell'。

 

注:若要用 sp_configure 配置高级选项,必须首先在 "show advanced options" 选项设置为 1 的情况下运行 sp_configure,然后运行 RECONFIGURE:
运行下面语句后则执行成功:
sp_configure 'show advanced options', 1;
go
reconfigure;
go
---------

可通过下面语句查看高级选项

    SELECT * FROM sys.configurations
ORDER BY name ;
GO

    进行如上修改后,再运行程序,又出现一个错误,提示如下:

    SQL Server 阻止了对组件 'Ad Hoc Distributed Queries' 的 STATEMENT'OpenRowset/OpenDatasource' 的访问,因为此组件已作为此服务器安全配置的一部分而被关闭。系统管理员可以通过使用 sp_configure 启用 'Ad Hoc Distributed Queries'。有关启用 'Ad Hoc Distributed Queries' 的详细信息,请参阅 SQL Server 联机丛书中的 "外围应用配置器".

解决方法如下:

启用Ad Hoc Distributed Queries方法:
exec sp_configure 'show advanced options',1

go
reconfigure

go
exec sp_configure 'Ad Hoc Distributed Queries',1

go
reconfigure

go
关闭Ad Hoc Distributed Queries方法:
exec sp_configure 'Ad Hoc Distributed Queries',0

go
reconfigure

go
exec sp_configure 'show advanced options',0

go
reconfigure

go

启用Ad Hoc Distributed Queries后,再次运行程序,正常!

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多