我遇到了远程调试问题。我有一个非域服务器和一个非域客户端 PC。客户端 PC 可以成功连接到服务器和实例,它甚至可以作为服务器本地管理员帐户的上下文运行 SSMS。但即使设置了所有这些,当我尝试在 SSMS 中调试时,我还是收到以下错误:
无法启动 T-SQL 调试。无法附加到 SQL Server 进程
我已遵循此资源中的所有这些步骤和检查:
测试 1:当您在本地连接到同一实例时,问题不会重现
测试 2:检查 TCP 139、TCP 445、UDP 137 和 UDP 138 是否从双方(服务器和客户端)打开(例如:配置 Transact-SQL 调试器)
测试 3:检查 SQL management Studio 是否已通过“运行管理员...”启动
测试 4:检查 SQL 服务帐户是否可以连接到客户端计算机。使用T-SQL调试时,SQL服务账号会与机器主机Management Studio进行通信。使用域账号设置SQL服务是一个额外的原因
测试 5:检查 SSMS 和 SQL 服务器服务是否在同一个域中。如果没有,请设置与 SQL Server 使用的帐户和密码相同的帐户和密码。
测试 6:检查您的域帐户是否为 sysadmin。
测试 7:检查 Kerberos 是否已正确启用并且 SPN 是否适合您的实例。- SQL 网络接口库无法注册 SPN - SQL Server 2008 连接问题:无法生成 SSPI 上下文
测试 8:从服务器端检查以下服务是否已启动 …
我有一个 SQL Server 2005,我已经配置了数据库邮件来设置监控警报和通知。我还创建了一个包含几封电子邮件的电子邮件分发列表。问题是当我将电子邮件从数据库发送到通讯组列表时,它永远不会到达电子邮件收件箱,但如果我单独发送它。
我尝试从 Outlook 向通讯组列表发送电子邮件,并且工作正常。我不明白发生了什么。请你能帮帮我吗?
我正在构建关于服务器硬件预测的报告,但我被困在这里。
我有一个查询可以正确返回服务器上安装的 HDD 的数量,并将该数字存储到一个名为 的变量中@OtherHDDs,它是一个INT.
我现在需要这样做......
Select top @OtherHDDs....
from ...
Run Code Online (Sandbox Code Playgroud)
我该如何正确地做到这一点?
我有 4 个不同的服务器,我想在一个输出中获得所有这些服务器的可用磁盘空间。
使用 xp_fixeddrives 我们将获得每个驱动器中的可用空间。
不可能进入所有服务器并按上述方式检查它。所以我试图执行一次。
例如一台服务器的结果集如下
drive free_mb
C 1816
D 2553
E 2882
F 6247
G 16936
H 7281
I 2395
Run Code Online (Sandbox Code Playgroud)
由于我是 sql 的初学者,请帮我解决这个问题。
我最近一直在研究 Selective Xml Indexing 并一直试图弄清楚如何索引一个.query方法
如果我有以下查询
WITH XMLNAMESPACES (Default 'http://www.w3.org/2001/XMLSchema' )
SELECT
,a.value('@Number' , 'INT') As Number
,c.query('.') as FormattedXml
From
dbo.XmlTable As X
Cross Apply x.XmlColumn.nodes('Root') aa(a)
Cross Apply a.nodes('Block') bb(b)
Run Code Online (Sandbox Code Playgroud)
如果我正确地遵循它,我可以编写如下的选择性索引:
CREATE SELECTIVE XML INDEX xsi_XmlTable
ON dbo.XmlTable( XmlColumn )
WITH XMLNAMESPACES ( Default 'http://www.w3.org/2001/XMLSchema' )
FOR
(
root = '/Root' AS XQUERY 'node()'
, rootNumber = '/Root/@Number' AS SQL INT SINGLETON
)
GO
Run Code Online (Sandbox Code Playgroud)
我可以在索引中包含 c.query 吗?谢谢

尝试向附加到经常使用的表的触发器添加一行
ALTER TRIGGER [dbo].[name_of_trigger] ON [dbo].[name_of_table] AFTER UPDATE
BEGIN
IF ORIGINAL_LOGIN() in ('username') RETURN
....somecode
END
Run Code Online (Sandbox Code Playgroud)
陷入僵局,唯一的解决方案似乎是每隔几秒钟重试一次,到目前为止还没有奏效。除了按 F5 并希望它有效之外,还有其他方法可以让我的 if 条件处于何种状态吗?
谢谢,
克雷格
我知道这个问题一定有一个简单的答案,但我在任何地方都找不到。我们的 SQL 2012 FCI 在其 MSSQL\LOG 文件夹中有 SQLDIAG .XEL 文件。在某些情况下,这些文件通常正好为 100MB,但在 SSMS 中打开时却显示为空(表示显示 0 个事件)。
如果可能的话,我需要知道如何管理它们的最大大小和文件保留时间。
我们有一些来自 SQL 2008 FCI(升级到 SQL 2012)的根驱动器挂载点,这些挂载点只有 1GB。您可以猜到,这些挂载点正在填满,如果可能,我需要限制这些故障转移群集诊断日志,否则我将不得不提出替代解决方案。
sql-server clustering extended-events sql-server-2012 high-availability
本周末我有一个项目,必须停止所有作业,但必须运行特定作业中的 1 个步骤。例如:我有一个两步作业,第二步必须运行,第一步必须与其他作业一起禁用或停止。
首先,我想停止 sql server 代理,但这将停止所有作业。有什么办法可以做到。
有没有一种方法可以让我在 sql server 2012 中获取报告或创建自定义报告,它可以每天两次或一次更新我列出的驱动器的可用磁盘空间和实际磁盘空间。
我需要这个是因为我的客户需要查看一个月内的磁盘空间使用情况才能看到所需的模式。
谢谢!
sql-server ×10
clustering ×2
concurrency ×1
debugging ×1
disk-space ×1
failover ×1
jobs ×1
remote ×1
trigger ×1