情况:我在 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 实例。
我使用带有特殊字符的语言(例如:e -> é)。我有一个带有 a 的查询,LIKE但是当我搜索一个带有特殊字符的单词并且我的查询没有特殊字符时,我没有得到我期望的结果:
select * from a where name like '%e%'
Run Code Online (Sandbox Code Playgroud)
当数据库包含“dés”时,上述内容不返回任何结果。有没有办法让这个查询返回所需的结果。
背景/上下文
我们正在将我们的 SQL Server 2000 数据库移动到具有见证和自动故障转移的镜像 SQL Server 2008 R2 服务器。我们在这些数据库上运行了 .Net 和 Access 应用程序,并且正在测试服务器故障转移事件上的客户端重定向。
在我向连接字符串添加“故障转移伙伴”后,.Net 应用程序正确响应。在故障转移时,应用程序将在下一个数据库请求中失败,然后在我们重新启动应用程序时移动到镜像服务器。
题
对于通过 ODBC 的 Access 应用程序,我们尝试使用 SQL Server Native Client 10.0 驱动程序(看起来标准驱动程序不支持镜像?)并在设置中提供镜像服务器。

我在这里指定了数据库和故障转移服务器名称。在故障转移事件中,即使在应用程序重新启动后,Access 应用程序似乎也不会重定向到镜像服务器。我还应该在这里做些什么来强制 ODBC 切换到镜像服务器,还是我没有正确指定镜像服务器名称?
我有一个 Microsoft Access 数据库,它通过 ODBC 连接到 MySQL 服务器,并由多个用户访问。
随着时间的推移,许多记录被锁定,无法再进行编辑。
有没有办法批量解锁所有记录?
错误信息:
自从您开始编辑此记录以来,该记录已被其他用户更改。如果您保存记录,您将覆盖其他用户所做的更改。将更改复制到剪贴板将让您查看其他用户输入的值,然后在您决定进行更改时将更改粘贴回。
我有一个交易表,其中包含我正在查询的 880,095 条记录。
表中有重复的事务 ID,我想在查询表时隐藏/删除它们。
例如 1。
我希望删除所有没有利率的重复交易 ID。这很简单,复杂之处如下。
例如 2。
总之,我需要帮助设计一个 MS Access 查询,其中删除了重复的事务 ID,其中:
如果需要更多解释,请告诉我。
我在两个表中有“一对多”关系:
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)
产品确实有不同数量的包装,它不是一个固定的数量。
TechNet 文章“优化链接到 SQL Server 的 Microsoft Office Access 应用程序”建议向从 MS Access 链接的 SQL Server 表添加rowversion列。从支持并发检查部分:
Office Access 会自动检测表何时包含此类列,并在影响该表的所有 UPDATE 和 DELETE 语句的 WHERE 子句中使用它。这比验证所有其他列仍然具有与上次刷新动态集时相同的值更有效。
好消息是每个 UPDATE/DELETE 语句和绑定表单都将从这个添加中受益,而无需在 MS Access 中进行任何更改(除了重新链接表)。
直到最近我才知道这个功能。我正在考虑向我从 MS Access 链接到的 SQL Server 中的每个表添加一个命名的rowversion列。 在我这样做之前,我应该注意哪些缺点?
显然会有存储要求和性能影响,但我认为这些可以忽略不计。此外,其中一些表是合并复制场景中的项目;这有什么区别吗?
ms-access sql-server concurrency alter-table merge-replication
我有一个 Excel 电子表格,其中填充了大量按列(姓名列、职业列等)组织的数据。我最近已将所有这些数据移至 Microsoft Access 2010 中进行处理,但我确实需要在 Access 和 Excel 之间来回移动这些数据。从那时起,我对数据进行了很多更改,现在我想将这些数据从 Access 导出回 Excel,数据显示在导入数据的同一列中。我已尝试将数据导出回 Excel,但它看起来与我最初导出数据的 Excel 文件不同。
我想知道是否有一种方法可以将 Access 中的所有数据导出回 Excel,以便其格式与导出到 Access 之前完全相同
抱歉,如果这是一个新手问题,我是 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的不利影响,你有什么建议给报价?
我工作的公司从许多不同的设备生成大量原始文本文件的测试数据。每个设备都属于一个“进程”,而“进程”的数量只有几十个。目前我们有一个程序,它获取这些数据并生成/添加到适当过程的 Access 数据库(当前为 .mdb,但我们希望更改为 .accdb,因为它更新更好?)。
然后,我们使用 Excel 在数据透视表中查看数据库中的数据。数据库文件本身很少接近 1 GB(可能一年几次),此时我们将数据库存档并创建一个新数据库,因为这是大小限制。我们从来不需要同时访问多个进程的数据,因此我们从来没有遇到过它们位于单独数据库中的问题。
我们 IT 部门的某人建议我们切换到 SQL 数据库,其中将存储所有流程的所有数据,并且数据只会有一个额外的列标记其所属的流程。
我担心的是,在通过 Excel 访问这些数据时,我们一次只能查询一个进程,但数据库必须过滤所有其他进程,这肯定会花费更长的时间,因为它必须查询数十个进程。多倍的数据?
坚持使用我们当前的多个数据库系统(每个进程一个数据库,我们一次只能访问一个数据库)而不是将它们全部收集到一个大型数据库中,有什么缺点吗?相反,拥有像这样的单一大型数据库系统有优势吗?我是否错了,使用大型 SQL 数据库比使用多个小型 Access 数据库更快?
ms-access ×10
sql-server ×4
odbc ×3
alter-table ×1
concurrency ×1
data ×1
excel ×1
export ×1
failover ×1
locking ×1
mirroring ×1
mysql ×1
query ×1