AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题

问题[sql-server-2005](server)

Martin Hope
Scott Leis
Asked: 2015-11-13 18:41:46 +0800 CST

如何获取 SQL Server 2005 中失败作业的所有(或最后几条)消息?

  • 0

在 SQL Server 2005 的 SQL Server 代理中,我有一个只有一个步骤的作业,它运行一个存储过程。

当存储过程运行完成时,它会产生大约 500 条消息(不包括空行)。

当作业运行时,历史总是将消息截断为存储过程生成的非常小的样本。成功时这很好,但失败时会出现问题,因为通常不包括解释失败的消息。

对于失败作业的任何给定步骤,有没有办法获得以下任何一种?
- 所有消息;或
- 最后几条消息,其中应包含失败详细信息。

我注意到我可以在作业历史记录中看到的所有消息都是带有详细信息的警告“空值被聚合或其他 SET 操作消除”,对于此存储过程可以忽略。是否有办法让历史记录只包含更严重的错误并忽略警告?

sql-server-2005
  • 1 个回答
  • 63 Views
Martin Hope
Aravinda
Asked: 2015-04-01 02:27:10 +0800 CST

我无法在 mssql 2005 中更改 sa 密码“找不到存储过程 'master.dbo.sp_password'。(.Net SqlClient 数据提供程序”

  • 0

我们有一个旧的 ms sql 2005 服务器,出于某种原因,sa 帐户设置中的大部分功能都显示为灰色。 在此处输入图像描述

即使我无法更改 sa 密码它也会出现此错误“找不到存储过程'master.dbo.sp_password'。(.Net SqlClient 数据提供程序”

在此处输入图像描述

虽然我启用了混合模式,但我无法使用 sa 帐户登录..(仅 Windows 身份验证有效)

在此处输入图像描述

任何帮助从哪里开始故障排除步骤?谷歌搜索了大约一天,但找不到解决问题的线索。在此先感谢您提供任何提示!

PS:只有默认实例有这个问题..另一个很好,登录为sa工作并且没有变灰

sql-server-2005
  • 1 个回答
  • 614 Views
Martin Hope
CWilliams
Asked: 2014-09-05 12:22:39 +0800 CST

SQL Server 2005 全球减速

  • 3

两天前,我们的生产服务器遭受了严重的减速,主要症状是异常大量的请求正在遭受 SQLTimeouts。我将快速描述我们的设置、我调查的内容、我们的解决方法,然后提出我的问题。

我们的设置

一对服务器托管我们的 SAS 应用程序的这个分支。一个是在 IIS 上运行多个应用程序的应用程序服务器,另一个是运行 SQL Server 2005 的 Windows Server 2008 机器。SQL 托管在 100 到 200 个数据库之间。

问题/调查

服务几乎停止了。一些请求通过,但大多数遭受 SQL 超时。SQL 机器 CPU 和 RAM 看起来不错,平均大约 25% 的 CPU 工作负载和 85% 的 RAM。当时我没想过要检查磁盘活动,因为我直接去了“EXEC sp_who2”

结果显示数百个任务被 ID 123 阻塞,它本身和一百个其他任务被 ID 456 阻塞。正常执行通常根本没有阻塞任务。当我在 15-20 秒后重新运行 sp_who2 时,会弹出不同的阻塞 ID,但阻塞/阻塞任务的数量似乎保持不变。(由于紧急模式,没有计算组)

大多数任务都被诸如“SELECT INTO”或“CREATE INDEX on temptable”之类的语句阻塞。

解决方法

杀死 SQL 进程并重新启动它以恢复服务。放缓没有再次出现,但我们知道我们处于危险之中。

我的问题

我能做些什么来解决这个问题,最好是在它再次发生之前?

子问题:

  • 在正常活动期间我可以调查其他路径吗?
  • 如果/当问题再次发生时,我应该收集哪些信息?(需要快速获取,因为这意味着我们将再次遇到服务中断)

到目前为止我做了什么

从症状来看,我们怀疑问题是 tempdb 上的某种争用。(另一个症状是在问题期间右键单击 tempdb 以查看属性会在片刻后产生错误)

没有日志表明 tempdb 上发生了自动增长事件,但据我所知,没有记录自动增长成功,只有失败。

从那时起,我已经阅读了很多关于 tempdb 争用的不同信息来源,不仅限于但包括:

http://www.sqlskills.com/blogs/paul/wait-statistics-or-please-tell-me-where-it-hurts/ http://www.sqlservercentral.com/blogs/robert_davis/2010/03/ 05/Breaking-Down-TempDB-Contention/

据我所知,最好的做法是设置初始大小的 tempdb 文件,并且每个内核有一个,最多 8 个文件。我们计划尽快将其落实到位(8 个内核,因此 8 个文件),因为这是最佳实践。它们都将在同一个硬盘上(目前),但我们认为最坏的情况是没有改善,最好的情况是我们获得了逻辑争用瓶颈和磁盘 I/O 瓶颈之间的差异。

但是,我们无法确定与我们遇到的问题的相关性。据我了解,拆分为多个临时文件将有助于“PAGELATCH_XX”类型的等待,但在正常活动期间运行 Paul S. Randal 的查询(参见第一个发布的链接),不存在这种类型的等待。我在正常活动期间看到的前 3 个是:

CXPACKET 68.63%
LATCH_EX 18.46%
PAGEIOLATCH_SH 4.35%

我无法知道减速期间发生了什么类型的阻塞,因为那时我们没有所有这些信息。

sql-server-2005
  • 1 个回答
  • 43 Views
Martin Hope
The_Ratzenator
Asked: 2013-05-03 12:56:34 +0800 CST

在 SCCM 2007 报告控制台中运行我的“查找所有未使用的包”时出现 SQL 错误

  • 0

在 SCCM 2007 报告控制台中运行我的“查找所有未使用的包”时出现 SQL 错误 提问者:the_ratzenator 我正在尝试运行 SCCM 2007 报告以查找我的环境中所有未使用的包,但我不断收到此错误:

运行报告时发生错误。详细信息如下:对对象“vPkgStatusSummaryDistPts”、数据库“SMS_PAK”、架构“dbo”的 SELECT 权限被拒绝。错误号:-2147217911 来源:Microsoft OLE DB Provider for SQL Server 本机错误:229

这是我从这里得到的 SQL 代码:http ://blog.itminutes.net/?p=781

SELECT PackageID, Name, Version, Manufacturer, Language, Description, 
PkgSourcePath AS [Source Path], LastRefreshTime,
(SELECT COUNT(PkgID) FROM vPkgStatusSummaryDistPts WHERE PkgID = v_Package.PackageID) AS [No of DP]
FROM v_Package
WHERE 
PackageID NOT IN (SELECT PackageID FROM v_Advertisement) AND 
PackageID NOT IN (SELECT ReferencePackageID FROM v_TaskSequenceReferencesInfo) AND 
PackageType = 0
ORDER BY Name 

这在 SQL Server Management Studio 中运行,但不在我的 SCCM 2007 报告控制台中运行。

我检查过,“webreport_approle”确实存在。

任何帮助都感激不尽。

谢谢

sql-server-2005
  • 1 个回答
  • 779 Views
Martin Hope
Josh Miller
Asked: 2013-02-01 06:29:42 +0800 CST

SQLServer 2005 Select 语句有效,Update 语句无效

  • 1

我将不胜感激任何想法。这让我们很困惑。这个问题似乎是环境问题,所以我们将在其他地方主持这个过程,但我不知道为什么会出现问题,这让我发疯。关键的谜团在于 Select 有效,但 Update 无效。

  • 专用网络内的 MS SQL Server 2005。
  • DMZ 中的 2003 Server .Net 2.0 IIS 服务器
  • 端口 1433 在两者之间开放。(打开所有端口的测试产生了相同的结果。)
  • 软件防火墙都被禁用。
  • SQL 管理控制台在连接时显示相同的错误。
  • 来自专用网络内部和 DMZ 其他地方的连接有效。
  • 过程工作了多年,然后在 17 日停止。唯一可见的区别是 IE8 KB 更新。

我们收到错误:

A transport-level error has occurred when receiving results from the server. (provider: TCP Provider, error: 0 - The specified network name is no longer available.) 

连接打开工作没有错误。连接字符串正在传递数据库的服务器和实例。创建了一个具有相同结果的新用户。如果指定了错误的用户,则会发回无效的用户响应。

使用 System.Data.SqlClient.SqlConnection - 选择语句工作 - ExecuteScaler() 和 ExecuteReader() - 更新语句给出上述错误 - ExecuteNonQuery()

使用 ODBC 适用于选择和更新。

SQL 跟踪显示选择命令,但没有显示 SQLConnection 更新命令。

假设问题与 DNS 相关,我们还用 IP 地址替换了服务器名称。同样,命名连接和 IP 连接都允许选择但不允许更新。

当尝试从 IIS 计算机使用 SQL 管理控制台时,SQL 跟踪显示某些对话框启动,然后管理控制台给出相同的传输错误。所以看起来问题不在于IIS。

谢谢,

乔什

sql-server-2005
  • 1 个回答
  • 230 Views
Martin Hope
Mudassir Hasan
Asked: 2013-01-08 04:52:38 +0800 CST

从 Windows 7 中删除服务

  • 1

我安装并后来卸载了 SQL Server 2005。我使用了注册表清理工具并删除了所有与 SQL Server 相关的文件。
服务控制台仍然显示以前安装的数据库实例名称的条目。
服务管理控制台我在描述栏中得到这个条目。 如何删除它们,否则新安装会出现问题。Failed to Read Description Error code 2

sql-server-2005
  • 1 个回答
  • 4199 Views
Martin Hope
pierre
Asked: 2012-09-14 08:15:28 +0800 CST

ShareWebDb_log.ldf 是 97GB - 如何减少?

  • 3

我们使用 WSS 运行 SBS 2008 服务器。ShareWebDb_log.ldf在我为 WSS 预留的驱动器上,由于以下文件,我的空间很快用完了:

与实际的共享点站点 (15 GB) 相比,文件大小很大

我已经尝试按照我在网上阅读的内容进行操作 - 更改恢复模式、备份和截断 - 但实际上我无法通过 SQL Server Management Studio 工具看到我是如何做到这一点的。任何人都可以阐明吗?

ShareWebDb_log.ldf 未在数据库列表中列出

该文件的数据库未显示在列表中,我无法展开管理 > SQL Server 日志。

sql-server-2005
  • 2 个回答
  • 9712 Views
Martin Hope
MGOwen
Asked: 2012-08-30 19:37:29 +0800 CST

在镜像生产数据库上缩小事务日志文件的最简单方法

  • 3

在镜像生产数据库上缩小事务日志文件的最简单方法是什么?

我必须这样做,因为我的磁盘空间快用完了。

在执行此操作之前,我将进行完整的数据库备份,因此我不需要保留事务日志中的任何内容(对吗?我每天都有完整的数据库备份,可能永远不需要时间点还原,但我会保留如果可以,请打开选项 - 这就是 .ldf 的全部用途,对吗?)。

已解决:
好的,在通过 SSMS(不是 TSQL)仅对日志进行了 2 次备份,创建了一个全新的备份集之后,SSMS 中的 Shrink-Files-Log 对话框终于真正起作用了,释放了一些磁盘空间。

不确定为什么需要 2 次备份,或者为什么 TSQL 不起作用,并且收缩对话框中报告的“可回收空间”没有差异(第一次备份后所有收缩尝试都达到 99%也是,但仍然没有释放任何空间),但问题暂时解决了。谢谢大家。

sql-server-2005
  • 3 个回答
  • 5635 Views
Martin Hope
Jason Kleban
Asked: 2012-07-03 11:43:48 +0800 CST

在脚本中从 JOINS 中发现预期的外键

  • 5

我继承了一个有 400 个表并且只注册了 150 个外键约束的数据库。了解我对应用程序所做的工作并查看表格列,很容易说应该有更多。

如果我开始添加缺失的 FK,我担心当前的应用程序软件会崩溃,因为开发人员可能已经开始依赖这种“自由”,但解决问题的第一步是提出缺失的 FK 列表,所以我们可以将他们作为一个团队进行评估。

更糟糕的是,引用列不共享命名约定。

这些关系被非正式地编码到数百个临时查询和存储过程中,因此我希望以编程方式解析这些文件以查找实际表(但不是表变量等)之间的 JOINS。

我预见到这种方法的挑战是:换行符、可选别名和表提示、别名解析。

  • 有更好的主意吗?(除了放弃)
  • 是否有任何预构建的工具可以解决这个问题?
  • 我不认为正则表达式可以处理这个。你不同意吗?
  • SQL 解析器?我尝试使用 Microsoft.SqlServer.Management.SqlParser.Parser 但所有公开的都是词法分析器 - 无法从中获取 AST - 所有这些都是内部的。
sql-server-2005 parsing foreign-key
  • 3 个回答
  • 137 Views
Martin Hope
Ryan
Asked: 2012-06-26 04:52:26 +0800 CST

无法让 mssql 与 sql server 2005 一起工作

  • 1

我是 MySQL/Apache 用户,正在尝试使用 IIS 和 SQL 服务器,如果这是一个愚蠢的问题,请耐心等待。

我正在使用 IIS 7.5 版。PHP 5.3.13 版和 SQL Server 2005 IIS 在端口 90 上运行,不确定这是否会产生影响。我知道我的 sql server 正在运行,因为我可以在 Server management studio 中探索/连接到它。

我知道 php 配置正确,因为 //localhost:90/phpinfo.php 工作正常。

我将 phpinfo 中的 php_msql.dll 扩展更新为:extension=ext/php_msql.dll

编辑-但是,当我在“配置命令”行下运行 phpinfo() 时,会出现:--without-mssql

我找到/下载了 ntwdblib.dll 并将其放在 sys32 和 php 根目录中。

所有这些事情都应该解决这个问题,但他们没有。

这是我正在使用的代码,直接来自 php.net:

<?php
// Server in the this format: <computer>\<instance name> or 
// <server>,<port> when using a non default port number
$server = 'localhost';

// Connect to MSSQL
$link = mssql_connect($server, 'uname', 'pwd');

if (!$link) {
  die('Something went wrong while connecting to MSSQL');
}
?>

显然我使用的是真实的用户名和密码,但是当我在浏览器中加载文件时,我收到了 500 错误。检查日志后,显示如下:

2012-06-25 12:41:29 ::1 GET /test.php - 90 - ::1 Mozilla/5.0+(Windows+NT+6.1;+WOW64)+AppleWebKit/536.5+(KHTML,+like+Gecko )+Chrome/19.0.1084.56+Safari/536.5 500 0 0 5

那(对我来说)对我帮助不大。我究竟做错了什么?

谢谢

sql-server-2005 php iis-7.5
  • 2 个回答
  • 1474 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve