sql server 2005 数据库服务器连接不上了

igelf 2011-11-11 11:27:41
是在本地电脑上。
执行了以下sql代码。悲剧了。什么账号都连不上了。Windows 身份认证也连不上。
错误信息:
由于执行触发器,登录名。。。的登录失败。
已将数据库上下文更改为'master'。
已将语言设置更改为简体中文。(Microsoft SQL Server,错误:17892)

---------
我之前获取 EVENTDATA() 是为NULL的。应该是这个原因。怎么解决,或者怎么删除这个触发器。

CREATE TRIGGER connection_limit_trigger
ON ALL SERVER
FOR LOGON
AS
BEGIN
declare @ip nvarchar(max)
declare @loginName nvarchar(max)
SELECT @ip=EVENTDATA().value
('(/EVENT_INSTANCE/ClientHost)[1]','nvarchar(max)')
SELECT @loginName=EVENTDATA().value
('(/EVENT_INSTANCE/LoginName)[1]','nvarchar(max)')
if @ip<>'127.0.0.1'--replaced with your ip
rollback
END;
go
...全文
541 13 打赏 收藏 举报
写回复
13 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
igelf 2011-11-11
C:\Documents and Settings\Administrator>sqlcmd -S 127.0.0.1,1433
3> sqlcmd -S TCYX-WENZQ\SQL2K5 -U sa -P <123> -A
执行了 连接时报错

provider: SQL 网络接口, error: 43 - 在获取专用的管理员连接(DAC)端口时出错。 确保正在运行 SQL 浏览器,或检查错误日志中是否有该端口号的错误
  • 打赏
  • 举报
回复
igelf 2011-11-11
嗯。我先试下
  • 打赏
  • 举报
回复
中国风 2011-11-11
专用管理员连接使用方法
(1)利用sqlcmd
sqlcmd -Sqiangguo\ods -A
sqlcmd -Sadmin:qiangguo\ods
  • 打赏
  • 举报
回复
--小F-- 2011-11-11
SQL Server 为管理员提供了一种特殊的诊断连接,以供在无法与服务器建立标准连接时使用。即使在 SQL Server 不响应标准连接请求时,管理员也可以使用此诊断连接访问 SQL Server,以便执行诊断查询并解决问题。

此专用管理员连接 (DAC) 支持 SQL Server 的加密功能和其他安全功能。DAC 只允许将用户上下文切换到其他管理用户。

SQL Server 尽力使 DAC 连接成功,但在非常特殊的情况下也可能会出现连接失败。

使用 DAC 连接
--------------------------------------------------------------------------------

默认情况下,只能从服务器上运行的客户端建立连接。不允许进行网络连接,除非它们是使用带 remote admin connections 选项的 sp_configure 存储过程配置的。

只有 SQL Server sysadmin 角色的成员可以使用 DAC 进行连接。

通过使用专用的管理员开关 (-A) 的 sqlcmd 命令提示实用工具,可以支持和使用 DAC。有关使用 sqlcmd 的详细信息,请参阅将 sqlcmd 与脚本变量结合使用。您还可以将前缀 admin:连接到实例名上,格式为 sqlcmd -Sadmin:<实例名>。还可以通过连接到 admin:<实例名>,从 SQL Server Management Studio 查询编辑器启动 DAC。

限制
--------------------------------------------------------------------------------

由于 DAC 仅用于在极少数情况下诊断服务器问题,因此对连接有一些限制:

为了保证有可用的连接资源,每个 SQL Server 实例只允许使用一个 DAC。如果 DAC 连接已经激活,则通过 DAC 进行连接的任何新请求都将被拒绝,并出现错误 17810。

为了保留资源,SQL Server Express 不侦听 DAC 端口,除非使用跟踪标志 7806 进行启动。

DAC 最初尝试连接到与登录帐户关联的默认数据库。连接成功后,可以连接到 master 数据库。如果默认数据库脱机或不可用,则连接返回错误 4060。但是,如果使用以下命令覆盖默认数据库,改为连接到 master 数据库,则连接会成功:

sqlcmd –A –d master

由于只要启动数据库引擎的实例,就能保证 master 数据库处于可用状态,因此建议使用 DAC 连接到 master 数据库。

SQL Server 禁止使用 DAC 运行并行查询或命令。例如,如果使用 DAC 执行下列任何语句,都会生成错误 3637。

RESTORE

BACKUP

DAC 只能使用有限的资源。请勿使用 DAC 运行需要消耗大量资源的查询(例如,对大型表执行复杂的联接)或可能造成阻塞的查询。这有助于防止将 DAC 与任何现有的服务器问题混淆。为了避免发生潜在的阻塞情况,如果必须执行可能会发生阻塞的查询,则尽可能在基于快照的隔离级别下运行查询;或者,将事务隔离级别设置为 READ UNCOMMITTED,将 LOCK_TIMEOUT 值设置为较短的值(如 2000 毫秒),或者同时执行这两种操作。这可以防止 DAC 会话被阻塞。但是,根据 SQL Server 所处的状态,DAC 会话可能会在闩锁上被阻塞。可以使用 CNTRL-C 终止 DAC 会话,但不能保证一定成功。如果失败,唯一的选择是重新启动 SQL Server。

为保证连接成功并排除 DAC 故障,SQL Server 保留了一定的资源用于处理 DAC 上运行的命令。通常这些资源只够执行简单的诊断和故障排除功能,如下所示。

虽然理论上可以运行任何不必在 DAC 上并行执行的 Transact-SQL 语句,但极力建议您限制使用下列诊断和故障排除命令:

查询动态管理视图以进行基本的诊断,例如查询 sys.dm_tran_locks 以了解锁定状态,查询 sys.dm_os_memory_cache_counters 以检查缓存质量,查询 sys.dm_exec_requests 和 sys.dm_exec_sessions 以了解活动的会话和请求。避免使用需要消耗大量资源的动态管理视图(例如,sys.dm_tran_version_store 扫描整个版本存储区,并且会导致大量的 I/O)或使用了复杂联接的动态管理视图。有关性能影响的信息,请参阅特定动态管理视图的文档。

查询目录视图。

基本 DBCC 命令,例如 DBCC FREEPROCCACHE、DBCC FREESYSTEMCACHE、DBCC DROPCLEANBUFFERS, 和 DBCC SQLPERF。请勿运行需要消耗大量资源的命令,如 DBCC CHECKDB、DBCC DBREINDEX 或 DBCC SHRINKDATABASE。

Transact-SQL KILL<spid> 命令。根据 SQL Server 的状态,KILL 命令并非一定会成功;如果失败,则唯一的选择是重新启动 SQL Server。下面是一般的指导原则:

请通过查询 SELECT * FROM sys.dm_exec_sessions WHERE session_id = <spid> 来验证 SPID 是否已被实际终止。如果没有返回任何行,则表明会话已被终止。

如果会话仍在运行,则通过运行查询 SELECT * FROM sys.dm_os_tasks WHERE session_id = <spid> 来验证是否为此会话分配了任务。如果发现还有任务,则很可能当前正在终止会话。注意,此操作可能会持续很长时间,也可能根本不会成功。

如果在与此会话关联的 sys.dm_os_tasks 中没有任何任务,但是在执行 KILL 命令后该会话仍然出现在 sys.dm_exec_sessions 中,则表明没有可用的工作线程。选择某个当前正在运行的任务(在 sys.dm_os_tasks 视图中列出的 sessions_id <> NULL 的任务),并终止与其关联的会话以释放工作线程。请注意,终止单个会话可能不够,可能需要终止多个会话。

DAC 端口
--------------------------------------------------------------------------------

SQL Server 在 TCP 端口 1434(如果可用)上侦听 DAC,或者在启动数据库引擎时动态分配的 TCP 端口上侦听 DAC。错误日志包含所侦听的 DAC 所在的端口号。默认情况下,DAC 侦听器只接受本地端口上的连接。有关激活远程管理员连接的代码示例,请参阅 remote admin connections 选项。

配置远程管理连接之后,会立即启用 DAC 侦听器而不必重新启动 SQL Server,并且客户端可以立即远程连接到 DAC。通过先在本地使用 DAC 连接到 SQL Server,然后再执行 sp_configure 存储过程接受远程连接,则即使 SQL Server 停止响应,DAC 侦听器仍然可以接受远程连接。

对于群集配置,DAC 在默认情况下是禁用的。用户可以执行 sp_configure 的 remote admin connection 选项,使 DAC 侦听器能够访问远程连接。如果 SQL Server 停止响应并且未启用 DAC 侦听器,则可能必须重新启动 SQL Server 来连接 DAC。因此,建议在群集系统上启用 remote admin connections 配置选项。

DAC 端口由 SQL Server 在启动时动态分配。当连接到默认实例时,DAC 会避免在连接时对 SQL Server Browser 服务使用 SQL Server 解决协议 (SSRP) 请求。它先通过 TCP 端口 1434 进行连接。如果失败,则通过 SSRP 调用来获取端口。如果 SQL Server 浏览器没有侦听 SSRP 请求,则连接请求将返回错误。若要了解 DAC 所侦听的端口号,请参阅错误日志。如果将 SQL Server 配置为接受远程管理连接,则必须使用显式端口号启动 DAC:

sqlcmd –S tcp: <server>,<port>

SQL Server 错误日志列出了 DAC 的端口号,默认情况下为 1434。如果将 SQL Server 配置为只接受本地 DAC 连接,请使用以下命令和环回适配器进行连接:

sqlcmd –S 127.0.0.1,1434

示例
--------------------------------------------------------------------------------

在此示例中,管理员发现服务器 URAN123 不响应,因此要诊断该问题。为此,用户激活 sqlcmd 命令提示实用工具,并使用 -A 指明 DAC 连接到服务器 URAN123。

sqlcmd -S URAN123 -U sa -P <xxx> –A

现在,管理员可以执行查询来诊断问题,并且可以终止停止响应的会话。
  • 打赏
  • 举报
回复
中国风 2011-11-11
換一台機來連,再刪除觸發器,或用DAC
  • 打赏
  • 举报
回复
Mr_Nice 2011-11-11
http://technet.microsoft.com/zh-tw/library/ms178068.aspx
登陆方法

进去后删除或者修改这个触发器
  • 打赏
  • 举报
回复
中国风 2011-11-11
127.0.0.1--為本機啊
  • 打赏
  • 举报
回复
Mr_Nice 2011-11-11
登录触发器,LZ可以用DAC登进去,这个是最后一招了。
参考http://technet.microsoft.com/zh-tw/library/ms190468.aspx
  • 打赏
  • 举报
回复
igelf 2011-11-11
SQL Server 无法生成 FRunCM 线程。请查看 SQL Server 错误日志和 Windows 事件日志,获取有关可能发生的相关问题的信息。

由于网络库中存在内部错误,所以无法启动网络库。要确定原因,请查看错误日志中紧位于此错误之前的那些错误。

SQL Server (SQL2K5) 服务因 126 (0x7E) 服务性错误而停止。


另问:SQL Server 错误日志在哪里看?
  • 打赏
  • 举报
回复
igelf 2011-11-11
刚才用DAC连数据库引擎成功了。执行了以下sql

alter TRIGGER connection_limit_trigger
ON ALL SERVER
FOR LOGON
AS
BEGIN
declare @ip nvarchar(max)
declare @loginName nvarchar(max)
SELECT @ip=EVENTDATA().value
('(/EVENT_INSTANCE/ClientHost)[1]','nvarchar(max)')
SELECT @loginName=EVENTDATA().value
('(/EVENT_INSTANCE/LoginName)[1]','nvarchar(max)')
if @loginName='sa' and @ip<>'127.0.0.1'--replaced with your ip
rollback
END;
go


现在sql 2005服务器启动不了了。重启了也没用。
  • 打赏
  • 举报
回复
快溜 2011-11-11
把所有的服务全部重启一次
  • 打赏
  • 举报
回复
igelf 2011-11-11
现在提示:不支持专用管理员连接
  • 打赏
  • 举报
回复
相关推荐
发帖
疑难问题
加入

2.1w+

社区成员

MS-SQL Server 疑难问题
申请成为版主
帖子事件
创建了帖子
2011-11-11 11:27
社区公告
暂无公告