小编Sql*_*hes的帖子

试图找出值最后一次改变的时间

我有一个表,其中有一个 ID、一个值和一个日期。此表中有许多 ID、值和日期。

记录会定期插入到此表中。ID 将始终保持不变,但有时值会发生变化。

我如何编写一个查询,该查询将为我提供 ID 以及该值更改的最近时间?注意:该值将始终增加。

从这个样本数据:

  Create Table Taco
 (  Taco_ID int,
    Taco_value int,
    Taco_date datetime)

Insert INTO Taco 
Values (1, 1, '2012-07-01 00:00:01'),
        (1, 1, '2012-07-01 00:00:02'),
        (1, 1, '2012-07-01 00:00:03'),
        (1, 1, '2012-07-01 00:00:04'),
        (1, 2, '2012-07-01 00:00:05'),
        (1, 2, '2012-07-01 00:00:06'),
        (1, 2, '2012-07-01 00:00:07'),
        (1, 2, '2012-07-01 00:00:08')
Run Code Online (Sandbox Code Playgroud)

结果应该是:

Taco_ID      Taco_date
1            2012-07-01 00:00:05
Run Code Online (Sandbox Code Playgroud)

(因为 00:05 是最后一次Taco_Value更改。)

sql-server t-sql sql-server-2008-r2

26
推荐指数
4
解决办法
4万
查看次数

有人可以解释 Opendatasource/Openrowset 的魔力吗?

从 excel 文件(或 ms-access DB)中提取信息时,我通常使用以下内容:

SELECT *
 FROM OPENDATASOURCE('Microsoft.ACE.OLEDB.12.0',
 'Data Source=C:\test.xls;Extended Properties=''EXCEL 12.0;HDR=NO;IMEX=1'' ')...[Sheet1$]
Run Code Online (Sandbox Code Playgroud)

有时它有效。有时不会。

有没有人知道设置这个的指南?

我知道临时文件夹,我知道下载正确的驱动程序,我知道扩展属性,我知道没有打开文件。有时虽然,我仍然得到 -

链接服务器“(null)”的 OLE DB 提供程序“Microsoft.ACE.OLEDB.12.0”返回了消息“未指定的错误”。

我昨天遇到了这个问题。我重新启动了我的机器 - 没有用。然后再次重新启动我的实例和 P00f!神奇地它起作用了。

所以这就是我的问题 - 当遇到令人敬畏的“未指定错误”时,您需要检查什么以确保所有星星都符合要求才能正常工作。

sql-server-2008 excel

8
推荐指数
1
解决办法
1216
查看次数

如何使用链接服务器执行可怕的双跳?

情况:我在 SERVER3 上有 SERVER1、SERVER2、ACCESSDB。

我已成功创建了从 SERVER1 到 SERVER3 的 ACCESSDB 的链接服务器连接。

我希望能够从 SERVER2(又名双跳)访问 SERVER1 上的链接服务器。

当我登录到 SERVER2 时,我得到了很好的 ol - 当我测试连接时“没有权限”问题。我检查了 SERVER3 日志,它说传入的连接是匿名的。我需要能够将一些(任何)凭据从 SERVER2 传递给 SERVER3。

不,我不能使用 SQL 帐户。我必须使用 Windows 身份验证。

是的,我需要使用 KERBEROS 并设置 SPN。这就是我的问题所在。如何正确设置 KERBEROS 和委派?

我希望能够跑步

select auth_scheme from sys.dm_exec_connections where session_id=@@SPID
Run Code Online (Sandbox Code Playgroud)

从 SERVER2 并让它返回“KERBEROS”而不是“NTLM”。

我需要运行哪些特定命令才能正确设置 KERBEROS/SPN?我如何创建这个“链”?

仅供参考 - 两个实例都是 SQL2008 R2 标准 (x64) 上的 NAMED 实例。

sql-server-2008 ms-access

5
推荐指数
1
解决办法
1132
查看次数

为什么没有在死锁图中填充对象名和索引名?

我收到了一个请求,要求检查 2008 sp3 服务器(10.0.5500.0 - 企业版(64 位))上的一些错误,看看我是否能找到之前发生的死锁。

Traceflag 1222 未启用,服务器所有者也不想启用它。我使用了扩展事件并使用以下查询提取了一些信息:

    SELECT  CAST(event_data.value('(event/data/value)[1]',
                               'varchar(max)') AS XML) AS DeadlockGraph
FROM    ( SELECT    XEvent.query('.') AS event_data
          FROM      (    -- Cast the target_data to XML 
                      SELECT    CAST(target_data AS XML) AS TargetData
                      FROM      sys.dm_xe_session_targets st
                                JOIN sys.dm_xe_sessions s
                                 ON s.address = st.event_session_address
                      WHERE     name = 'system_health'
                                AND target_name = 'ring_buffer'
                    ) AS Data -- Split out the Event Nodes 
                    CROSS APPLY TargetData.nodes('RingBufferTarget/
                                     event[@name="xml_deadlock_report"]')
                    AS XEventData ( XEvent )
        ) AS tab ( event_data )
Run Code Online (Sandbox Code Playgroud)

我收到了很多信息,看起来像这样: …

sql-server-2008 sql-server deadlock

5
推荐指数
1
解决办法
5200
查看次数

错误:17828,严重性:20,状态:4 是什么意思?

我在我的 SQL 日志中找到了这个人:

“用于打开连接的预登录数据包在结构上无效;连接已关闭。请联系客户端库的供应商。[客户端:xx.x.xx.xxx]

错误:17828,严重性:20,状态:4。”

但我找不到任何关于它的信息。

我们正在运行 SQL 2005 Enterprise (x86) - SP2,错误来自 AD 服务器。用户在应用程序端遇到错误 - “连接失败”。它也是随机的,我无法重现它。

有谁知道如何解决这个问题(除了“联系供应商”)?

sql-server

3
推荐指数
1
解决办法
6920
查看次数