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
    • 最新
    • 标签
主页 / dba / 问题

问题[linked-server](dba)

Martin Hope
xhr489
Asked: 2022-10-13 04:50:18 +0800 CST

从一个 SQL Server 到另一个 SQL Server 的 ETL 表

  • 1

我想将一个表从一个 SQL Server 实例 ETL 到另一个 SQL Server 实例。我不想创建 SSIS 包。我努力了

  1. 使用目标上的外部表提取数据(即,我使用外部表创建本地副本,例如使用SELECT INTO #Hello FROM MyExternalTable)。
  2. 使用的链接服务器 SELECT * INTO #HELLO FROM MyLinkedServer.MyDB.dbo.MyTable
  3. 我也用过OPENROWSET。

它们都运行单线程,我可以从执行计划中看到。我没有使用过bcp,但似乎我首先需要将表保存到文件中,然后从文件中读取并加载它。所以我不认为它是完成这项任务的正确工具。将表从一个 SQL Server 实例复制到另一个 SQL Server 实例的最快方法是什么?

sql-server linked-server
  • 1 个回答
  • 52 Views
Martin Hope
sada
Asked: 2022-06-30 23:14:03 +0800 CST

创建链接服务器时登录失败

  • 0

我想在仅安装了 SQL Management Studio 的开发服务器中创建数据库服务器 B 到数据库服务器 A 的链接服务器。所有三台服务器都在同一个域中。错误信息

用户“NT AUTHORITY\ANONYMOUS LOGON”登录失败。(Microsoft SQL Server,错误:18456)

当我想创建链接服务器时。

我不明白为什么,因为我成功地在另一台服务器上创建了链接服务器,实际上安装了 SQL 服务器,但我认为这与它没有任何关系。

我试着照顾这个问题,但我无法解决它。

更新

https://www.sqlservercentral.com/blogs/how-to-resolve-user-error-in-kerberos-configuration-manager

sql-server linked-server
  • 1 个回答
  • 132 Views
Martin Hope
msuzuki
Asked: 2022-01-08 15:33:10 +0800 CST

如何使用本地 SQL Server 身份验证用户创建 SQL Server 链接服务器到远程 Windows 身份验证

  • 1

我需要创建一个从使用 SQL Server 身份验证的服务器 A 到使用 Windows 身份验证的服务器 B 的链接服务器。

“模仿”可能吗?

如果“是”,我应该选择哪些选项,配置?

在此处输入图像描述

sql-server linked-server
  • 1 个回答
  • 108 Views
Martin Hope
Leonardo
Asked: 2021-11-05 10:50:55 +0800 CST

合并 2 个 SQL Server 实例?

  • 0

我在单个服务器上有 2 个 SQL Server 实例,inst1 和 inst2。这些是紧密耦合的实例,inst1 链接到 inst2,反之亦然。

因为它们已经在同一台服务器上运行,所以我想合并它们并减少链接服务器的混乱。我的问题是:是否可以在“维护”第 0 天未更改的查询的同时合并它们?

EG:select * from table1 join linkedServer.database2.dbo.table2仍然会运行

sql-server linked-server
  • 1 个回答
  • 57 Views
Martin Hope
variable
Asked: 2021-10-22 03:23:45 +0800 CST

链接服务器本地登录值是否支持基于 Windows AD 组的 sql 登录?

  • -2

链接:https ://learn.microsoft.com/en-us/sql/relational-databases/linked-servers/create-linked-servers-sql-server-database-engine?view=sql-server-ver15#to-创建链接服务器到另一个实例的 sql 服务器使用 sql 服务器管理工​​作室

我有一个配置为 sql login 的 windows 组。

在配置链接服务器时,在本地登录下,我可以看到下拉列表中列出的 windows 组 sql 登录。

上面的链接没有提到任何关于 windows 组的内容。链接服务器本地登录是否支持 windows 组(有/无模拟)?如果不是,那么为什么该选项会在下拉列表中显示 windows 组?

这个链接说它不可能,但它很旧:https ://www.sqlservercentral.com/forums/topic/linked-server-and-windows-group-local-login

我正在寻找提到这一点的文档。

在此处输入图像描述

sql-server linked-server
  • 1 个回答
  • 241 Views
Martin Hope
JF Landry
Asked: 2021-04-29 05:58:47 +0800 CST

将 AD 安全组添加到 SQL 链接服务器

  • 2

我有一个关于在 SQL Server 的链接服务器上为用户组添加权限的问题。我不是安全专家,所以我呼吁所有人。

这里是拓扑:

我在 Hyper-V 虚拟服务器上安装了我称之为 X 的私有软件。该软件的用户使用远程桌面通过虚拟机进行连接。

该应用程序有自己的 SQL Server 数据库实例。此数据库的安全性是 Windows Authenticated。Application X 用户都属于 Windows Server 2019 Active Directory (AD) 中的一个用户组。

另一方面,我有一个 Y 应用程序 (Microsoft Dynamic 365),它本地安装在每个工作站上,并且有自己的 SQL 实例。该应用程序使用一个我也称为 Y 的 SQL 数据库。

因为我想在 2 个 SQL 实例之间共享信息,所以我在 X 实例上创建了一个链接服务器到 Y 实例。我通过一些 SQL 查询成功地从我的实例 X 中插入、更新和删除实例 Y 的数据库中的一些信息。为此,我授予自己 X 数据库的 DB_owner 权限。

我已经达到了允许用户组 X 能够使用与 SQL 服务器 Y 上交互的相同查询从应用程序 X 运行的阶段。

但是,我意识到我需要从 Security、Connection 菜单在应用程序 Y 的 SQL 实例中创建 X 的每个用户。当我授予 DB_Owner 角色时,我的请求有效。我原以为我可以将 AD 中使用的相同组用于我的 X 应用程序。我试过很好,但它不起作用。

我不知道这是否是由于我的链接服务器的配置造成的。

这是我正在使用的配置:

在此处输入图像描述

在此处输入图像描述

有人可以为我指出一个解决方案,以避免在我的实例 Y 中从 X 重新创建我的 AD 的每个用户,并且只需链接我的组 X。

linked-server sql-server-2014
  • 1 个回答
  • 683 Views
Martin Hope
Mahesh Giri
Asked: 2021-04-01 23:03:14 +0800 CST

SQL Server 链接服务器配置中的提供程序

  • 0

SQL Server 链接服务器配置中的提供程序的“处理中允许”如何工作?看起来它默认未选中。保持选中此选项的要求是什么以及使用它的优缺点是什么。

sql-server linked-server
  • 1 个回答
  • 492 Views
Martin Hope
Vladimir Baranov
Asked: 2021-03-18 19:31:17 +0800 CST

部分用户无法通过“用户 NT AUTHORITY\ANONYMOUS LOGON 登录失败”查询链接服务器

  • 1

当我尝试运行涉及链接服务器的简单查询时,它失败了:

SELECT * FROM [server2].[DWH].[dbo].[SomeTable]

Msg 18456, Level 14, State 1, Line 1
Login failed for user 'NT AUTHORITY\ANONYMOUS LOGON'.

但是,还有另一个用户可以毫无问题地运行此查询。


我们公司没有 SQL Server DBA,收购后我们从另一家公司继承了一些 SQL Server。

我是一名尝试运行一些查询的开发人员,我很难弄清楚如何正确配置访问。我真的不知道在哪里看,所以我会尽我所能解释当前的设置。

有Server1:

Microsoft SQL Server 2012 (SP4) (KB4018073) - 11.0.7001.0 (X64) 
    Aug 15 2017 10:23:29 
    Copyright (c) Microsoft Corporation
    Standard Edition (64-bit) on Windows NT 6.3 <X64> (Build 9600: ) (Hypervisor)

有Server2:

Microsoft SQL Server 2016 (SP1-CU15-GDR) (KB4505221) - 13.0.4604.0 (X64) 
    Jun 15 2019 07:56:34 
    Copyright (c) Microsoft Corporation
    Enterprise Edition: Core-based Licensing (64-bit) on Windows Server 2016 Datacenter 10.0 <X64> (Build 14393: ) (Hypervisor)

我们公司有一个域MAIN_DOMAIN,我以MAIN_DOMAIN\my.name. 当我在笔记本电脑上运行 SSMS 时,我可以同时连接到两者Server1并Server2使用 Windows 身份验证。

据我了解,我在两个 SQL Server 中的登录几乎都具有所有权限:

服务器1:

CREATE LOGIN [MAIN_DOMAIN\my.name] FROM WINDOWS WITH DEFAULT_DATABASE=[master], DEFAULT_LANGUAGE=[us_english]
ALTER SERVER ROLE [sysadmin] ADD MEMBER [MAIN_DOMAIN\my.name]
ALTER SERVER ROLE [serveradmin] ADD MEMBER [MAIN_DOMAIN\my.name]
ALTER SERVER ROLE [setupadmin] ADD MEMBER [MAIN_DOMAIN\my.name]
ALTER SERVER ROLE [processadmin] ADD MEMBER [MAIN_DOMAIN\my.name]
ALTER SERVER ROLE [diskadmin] ADD MEMBER [MAIN_DOMAIN\my.name]

服务器2:

CREATE LOGIN [MAIN_DOMAIN\my.name] FROM WINDOWS WITH DEFAULT_DATABASE=[master], DEFAULT_LANGUAGE=[us_english]
ALTER SERVER ROLE [sysadmin] ADD MEMBER [MAIN_DOMAIN\my.name]
ALTER SERVER ROLE [serveradmin] ADD MEMBER [MAIN_DOMAIN\my.name]
ALTER SERVER ROLE [setupadmin] ADD MEMBER [MAIN_DOMAIN\my.name]

Server1 和 Server2 本身不在MAIN_DOMAIN,它们在other_domain.com

other_domain\my.name我可以使用与我的主域用户密码不同的用户远程桌面到他们两个。

这是链接服务器的配置方式Server1:

EXEC master.dbo.sp_addlinkedserver @server = N'server2', @srvproduct=N'SQL Server'
EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname=N'server2',@useself=N'True',@locallogin=NULL,@rmtuser=NULL,@rmtpassword=NULL

EXEC master.dbo.sp_serveroption @server=N'server2', @optname=N'collation compatible', @optvalue=N'false'
EXEC master.dbo.sp_serveroption @server=N'server2', @optname=N'data access', @optvalue=N'true'
EXEC master.dbo.sp_serveroption @server=N'server2', @optname=N'dist', @optvalue=N'false'
EXEC master.dbo.sp_serveroption @server=N'server2', @optname=N'pub', @optvalue=N'false'
EXEC master.dbo.sp_serveroption @server=N'server2', @optname=N'rpc', @optvalue=N'true'
EXEC master.dbo.sp_serveroption @server=N'server2', @optname=N'rpc out', @optvalue=N'true'
EXEC master.dbo.sp_serveroption @server=N'server2', @optname=N'sub', @optvalue=N'false'
EXEC master.dbo.sp_serveroption @server=N'server2', @optname=N'connect timeout', @optvalue=N'0'
EXEC master.dbo.sp_serveroption @server=N'server2', @optname=N'collation name', @optvalue=null
EXEC master.dbo.sp_serveroption @server=N'server2', @optname=N'lazy schema validation', @optvalue=N'false'
EXEC master.dbo.sp_serveroption @server=N'server2', @optname=N'query timeout', @optvalue=N'0'
EXEC master.dbo.sp_serveroption @server=N'server2', @optname=N'use remote collation', @optvalue=N'true'
EXEC master.dbo.sp_serveroption @server=N'server2', @optname=N'remote proc transaction promotion', @optvalue=N'true'

在Server1MSSQLSERVER 服务 (sqlservr.exe) 上运行在名为NT Service\MSSQLSERVER.

在Server2MSSQLSERVER 服务 (sqlservr.exe) 上运行在名为NT Service\MSSQLSERVER.

sql server 服务用户


这是 的输出setspn -l。server1当我在or上运行它时,我得到相同的输出server2:

C:\Windows\system32>setspn -l SERVER2
Registered ServicePrincipalNames for CN=SERVER2,OU=Azure Resources,OU=Corporate,DC=other_domain,DC=com,DC=au:
        MSSQLSvc/SERVER2.other_domain.com.au:1433
        MSSQLSvc/SERVER2.other_domain.com.au
        WSMAN/SERVER2
        WSMAN/SERVER2.other_domain.com.au
        TERMSRV/SERVER2
        TERMSRV/SERVER2.other_domain.com.au
        RestrictedKrbHost/SERVER2
        HOST/SERVER2
        RestrictedKrbHost/SERVER2.other_domain.com.au
        HOST/SERVER2.other_domain.com.au

C:\Windows\system32>setspn -l SERVER1
Registered ServicePrincipalNames for CN=SERVER1,OU=Azure Resources,OU=Corporate,DC=other_domain,DC=com,DC=au:
        MSSQLSvc/SERVER1.other_domain.com.au:1433
        MSSQLSvc/SERVER1.other_domain.com.au
        Microsoft Virtual Console Service/SERVER1.other_domain.com.au
        Microsoft Virtual Console Service/SERVER1
        Microsoft Virtual System Migration Service/SERVER1.other_domain.com.au
        Microsoft Virtual System Migration Service/SERVER1
        Hyper-V Replica Service/SERVER1.other_domain.com.au
        Hyper-V Replica Service/SERVER1
        WSMAN/SERVER1
        WSMAN/SERVER1.other_domain.com.au
        TERMSRV/SERVER1.other_domain.com.au
        TERMSRV/SERVER1
        RestrictedKrbHost/SERVER1
        HOST/SERVER1
        RestrictedKrbHost/SERVER1.other_domain.com.au
        HOST/SERVER1.other_domain.com.au

不幸的是,我不明白这意味着什么。我在这里唯一能理解的是MAIN_DOMAIN在任何地方都没有提到。


其他用户可以毫无问题地运行涉及链接服务器的查询。

他使用远程桌面登录Server1并使用other_domain\his.name. 他在上面运行 SSMSServer1并使用 Windows 身份验证连接到 SQL Server。

他的登录Server1也具有所有权限:

CREATE LOGIN [other_domain\his.name] FROM WINDOWS WITH DEFAULT_DATABASE=[master], DEFAULT_LANGUAGE=[us_english]
ALTER SERVER ROLE [sysadmin] ADD MEMBER [other_domain\his.name]
ALTER SERVER ROLE [serveradmin] ADD MEMBER [other_domain\his.name]

我需要配置什么,以便在我使用笔记本电脑连接到 SQL Server 时运行涉及链接服务器的查询MAIN_DOMAIN\my.name?

sql-server linked-server
  • 1 个回答
  • 1739 Views
Martin Hope
Metaphor
Asked: 2020-10-03 03:18:45 +0800 CST

将登录名映射到链接服务器以进行迁移

  • 1

我的团队正在将具有大量链接服务器列表的 SQL 2012 服务器迁移到 SQL 2016。我的任务是编写在新服务器上创建链接服务器的脚本。

看起来我拥有在 sys.servers 中创建脚本所需的所有信息,但无法找到本地登录映射到链接服务器的位置。

sql-server linked-server
  • 1 个回答
  • 170 Views
Martin Hope
freefaller
Asked: 2020-09-03 00:51:35 +0800 CST

将链接服务器对象创建到同一个实例

  • 0

我正在尝试将链接服务器对象创建回同一个 SQL Express 2014 服务器实例(请参阅下文的上下文),但我遇到了以下错误...

无法为链接服务器“NewServer”初始化 OLE DB 提供程序“SQLNCLI11”的数据源对象。

链接服务器“NewServer”的 OLE DB 提供程序“SQLNCLI11”返回消息“无效的连接字符串属性”。(Microsoft SQL Server,错误:7303)

我使用了以下配置...

  • 链接服务器:NewServer
  • 服务器类型:Other data source
  • 提供者:Microsoft OLE DB Provider for SQL Server
  • 产品名称:{empty}
  • 数据来源:(LOCALHOST\SQLEXPRESS也试过实际的服务器名称)
  • 提供者字符串:SQLNCLI
  • 安全,登录:(Using the login's current security context也尝试过using this security context并提供sa/password)

为什么我会收到此错误,我该如何解决?

是因为我试图将链接服务器对象创建回自身吗?


对于上下文,我这样做的原因是由于 UAT 和生产环境的客户端有一个我们需要与之交互的链接服务器。

因此,我需要在我的本地开发机器上创建使用该[NewServer].[Database].[dbo].[Table]名称的存储过程......以便存储过程可以存储在存储库中并通过比较工具轻松部署。但它不会让我在没有有效数据源的情况下创建/更新存储过程。

我认为简单的解决方案是在我的本地 SQL Express 2014 实例上创建并使用该名称[Database].[dbo].[Table]将链接服务器添加回自身。[NewServer]

是创建新 SQL 实例的唯一选择吗?

linked-server sql-server-2014
  • 1 个回答
  • 382 Views

Sidebar

Stats

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

    连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目

    • 12 个回答
  • Marko Smith

    如何让sqlplus的输出出现在一行中?

    • 3 个回答
  • Marko Smith

    选择具有最大日期或最晚日期的日期

    • 3 个回答
  • Marko Smith

    如何列出 PostgreSQL 中的所有模式?

    • 4 个回答
  • Marko Smith

    列出指定表的所有列

    • 5 个回答
  • Marko Smith

    如何在不修改我自己的 tnsnames.ora 的情况下使用 sqlplus 连接到位于另一台主机上的 Oracle 数据库

    • 4 个回答
  • Marko Smith

    你如何mysqldump特定的表?

    • 4 个回答
  • Marko Smith

    使用 psql 列出数据库权限

    • 10 个回答
  • Marko Smith

    如何从 PostgreSQL 中的选择查询中将值插入表中?

    • 4 个回答
  • Marko Smith

    如何使用 psql 列出所有数据库和表?

    • 7 个回答
  • Martin Hope
    Jin 连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目 2014-12-02 02:54:58 +0800 CST
  • Martin Hope
    Stéphane 如何列出 PostgreSQL 中的所有模式? 2013-04-16 11:19:16 +0800 CST
  • Martin Hope
    Mike Walsh 为什么事务日志不断增长或空间不足? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland 列出指定表的所有列 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney MySQL 能否合理地对数十亿行执行查询? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx 如何监控大型 .sql 文件的导入进度? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison 你如何mysqldump特定的表? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 对 SQL 查询进行计时? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas 如何从 PostgreSQL 中的选择查询中将值插入表中? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 列出所有数据库和表? 2011-02-18 00:45:49 +0800 CST

热门标签

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

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

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve