药明康德股票代码:SQL2000升级为SQL2005后,程序报错处理!

来源:百度文库 编辑:九乡新闻网 时间:2024/04/29 00:44:34

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

(2010-08-04 16:22:56)转载 标签:

sql2005

xp_cmdshell

it

ad

hoc

distributed

queries

分类: 计算机(SQL数据库)

    数据库由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.configurationsORDER 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后,再次运行程序,正常!