情况:我在 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 实例。
我在两个表中有“一对多”关系:
Table "products" contains: product_id, product_descr
Table "packing" contains: product_id, package_id, package_desc
Run Code Online (Sandbox Code Playgroud)
一种产品通常有多个包装。我想在 Microsoft Access 中创建一个查询,在其中我在一行中获取一个产品的所有包选项:
product_id package_id1 package_desc1 packageid2 package_desc2 packageid_n package desc_n
Run Code Online (Sandbox Code Playgroud)
产品确实有不同数量的包装,它不是一个固定的数量。
我有一个 Access 前端用户界面,它使用最新的 ODBC 驱动程序链接到 postgreSQL 数据库中的表。我可以链接到 postgreSQL 表和视图,但无法访问物化视图。
该线程描述了驱动程序的补丁以包含物化视图。有谁知道这个补丁是否包含在最新的驱动程序中?如果没有,我将如何应用它?如果包含,需要选择哪些选项才能从 MS Access 访问物化视图?
我们的 ERP 系统比现代系统稍差,后端目前安装在 SQL Server 2008 R2 上。我们通过管理授权(并非总是如此)允许许多用户随意从该系统中提取数据以将数据处理为他们喜欢的报告风格(BI、Powerquery、Access),这是完全不切实际的做法。 、Excel 等)
尽管所有这些报告生成用户都只有选择权限,但还有一些其他应用程序能够实际操作数据,以执行 EDI、自动数据输入等操作。
从逻辑上讲,这会在表上创建许多竞争条件。先到先得,或者更糟的是,仍在提供服务,请稍等,或者只是不......我相信这进一步导致了多年来无法解释的数据损坏需要供应商协助纠正。因为并非所有应用程序都经过正确编码以预测其他事物可能会中断其自己的私有意图的可能性。
因此,任务是在我最近才继承的系统上尽可能证明/纠正/减轻它。
我的第一直觉告诉我,如果没有不同供应商产品之间的某种 IPC/错误/事务控制以及他们修复它的意愿、控制源代码或限制它的能力,这是无法完成的,这不能从 DBA 修复从角度来看,这只是导致应该预期的潜在有害副作用的不良做法。
所以此时我所能做的就是证明这一点,看看如果有证据,我可以在坚持必须这样做的管理层心中征求某种行为改变。
第一步,我正在运行一个连续的分析器输出到磁盘,尽管资源密集,但我必须能够返回并查看已提交的内容,由谁提交,以及它产生了什么影响。我还使用 perfmon 日志记录和 PAL 来尝试交叉引用服务器上的密集行为,“当处理器和内存挂钩时,SQL 服务器在该实例中做了什么(很可能是为编写的 GUI 之一提供服务,性能不佳,十个表连接,非索引查询,一些报告编写者/工具扔在一起”
其中一种情况刚刚发生,我们在 ERP 系统中有一个用户无法执行某项功能,我们发现该用户登录的数据库没有使用 ERP 软件(使用 ODBC,SQL 用户只能选择访问,以及MS Access),让他们断开连接并完成该功能。管理层拒绝相信它们是相关的,因为它们“应该处理不同的表,而用户只有选择访问权限”,而且我没有发生之前瞬间的个人资料历史记录。
所以,这一切归结为一个问题,DBA学员在那里,给的任务验算该应用程序A被应用B的不利影响,你有什么建议给报价?
我正在尝试在 Microsoft Access 中创建一个结构化数据库来监控交易风险。假设一个组织想要分析它在任何给定时间点的账簿中的所有交易。在这种情况下,交易将是用某种形式的抵押品交换货物。抵押品可以是股票、股票、债券现金等……基本上是具有可交易价值的东西。
每笔交易都有自己独特的一套限制。例如,构成每笔交易的证券(抵押品)只能是来自批准指数(NDX 指数、HSI 指数等...)的股票。另一个例子可能是每个证券最多可以弥补交易金额的 10%。
当交易数据导入数据库时,我想标记或提取所有违反每笔交易唯一限制的交易。我不一定要删除交易记录,但我想可能将它们分组到一个单独的表中以便于查看。
我附上了一张带有问题表的(简化的)建议数据库模式的图片。假设我想对特定交易可以接受的可接受指数设置限制。对于此索引限制示例,数据库模式的结构是否正确,以便创建检查给定交易的查询:可接受索引的限制由 80% 主要和 20% 次要索引和这些索引组成,我想要仅限于西班牙和日本的索引?
如果与给定交易相关的证券每天都在变化,我想确保该特定交易中的所有这些新证券都遵循对交易施加的每个限制。在这种情况下,对可接受指数的限制,但是不同的交易可能不仅针对指数,而且针对集中度等都有一组不同的限制。我不想为每笔交易编写唯一的查询(例如,我可能希望不同交易的证券在主要指数中为 100%,并且所有指数均来自美国)。
如果该交易中包含的证券违反了特定交易的指数、集中度、批准国家等的限制,那么我希望向用户标记这些特定交易。
注意:我一直在探索将所有限制作为每笔交易的属性的选项,但我不知道如何创建一个通用的查询结构,允许我在不创建大量查询的情况下识别限制违规。
任何建议将不胜感激。
我已经创建了一个到 SQL Server 2005 的 ODBC 连接。
当我从 MS Access 链接到表时,有些表只有“已删除”的数据。
这意味着显示了行和列,但所有数据似乎都被“删除”(图像中的“Geloscht”)
我发现同一个数据库的一些表可以正常工作,这很了不起。

我在加入三个表时遇到问题。当我使用相同的查询连接两个表(删除后LEFT OUTER JOIN C ON B.No = C.No)时,它运行良好。但是,当我使用三个表时它不起作用。
这是我的查询
SELECT A.Name, B.Quantity, C.Quantity
FROM A
LEFT OUTER JOIN B
ON A.ID = B.ID
LEFT OUTER JOIN C
ON B.No = C.No;
Run Code Online (Sandbox Code Playgroud) 我有一个Engagement带有四个字段的 Access 表:
Emp_id, Year, Week, Act_id
Run Code Online (Sandbox Code Playgroud)
它记录员工何时/曾参与某项活动。每个字段都是数字,每个字段都构成复合主键的一部分。应用程序的语义是每个条目(每个Emp_id- Year- Week-Act_id组合)必须是唯一的。也就是说,虽然员工通常会有不同的年周和不同的活动,但员工有时可以在不同的年周从事相同的活动,甚至可以在同一年的周从事不同的活动。不允许有空值。一切正常。
现在我需要扩展/修改语义以允许与任何给定员工活动相关的未知——或更恰当地说,未披露——年-周值。当然,尝试输入带有空的 Year-Week 的行会导致“索引或主键不能包含 Null 值”。所以我需要改变表格设计。
我尝试过的一件事是通过在“索引”窗口中关闭“主”(并保持“唯一”状态)将主键索引转换为非主索引。这正确地防止了年-周值非空的重复记录——但它允许年-周为空的重复记录。
例如,使用上述非主、唯一索引,允许以下数据:
Emp_id Year Week Act_id
7 2014 12 31 } Same activity,
7 2015 22 31 } different dates.
7 2015 33 32
7 2015 40 33 } Same dates,
7 2015 40 34 } different activities.
7 2016 2 36
7 38 } Different activities,
7 39 } undisclosed dates.
Run Code Online (Sandbox Code Playgroud)
随后不允许添加以下任何内容:
Emp_id …Run Code Online (Sandbox Code Playgroud) 我有一个包含以下数据的表:
ID Name LastName
1 William Johns
2 John Adam
4 William Smith
3 Mark Stephan
Run Code Online (Sandbox Code Playgroud)
我想找到所有那些名字相同但姓氏不同的记录。所以结果将是这样的:
ID Name LasName
1 William Johns
2 William Smith
Run Code Online (Sandbox Code Playgroud)
什么是MS。访问查询或方法来查找所有这些记录?
我是数据库的新手,所以如果这是一个基本问题,请原谅我。
我试图解析一个复杂的开源字典,并将数据输出到一个同样复杂的 Access 数据库中:
我了解如何将数据插入到表中,但我不明白的是如何将数据插入到彼此依赖外键的多个表中。举个简单的例子:
我有三个表:Entry,Keyword,和Keyword_Priority。每个条目可以有多个关键字,因此该Keyword表Entry通过外键链接回。并且每个关键字元素可以有多个元素来描述关键字的优先级,因此该Keyword_Priority表Keyword通过外键链接回,如下所示:
在这个简化的场景中,假设我想使用 SQL 创建一个新条目。我从哪里开始?我:
先插入Entry表创建一个新的EntryID
然后Keyword使用新的EntryID作为外键插入到表中
然后Keyword_Priority使用关键字的ID字段作为外键插入到表中
或者,我应该反过来做吗...
插入Keyword_Priority表格
插入Keyword表格
插入Entry表格
总结一下,我的问题是:
一次将数据插入多个表时应该从哪里开始?自上而下,还是自下而上?