You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在SQL Server托管实例中创建Windows认证的链接服务器同步本地数据?

在SQL Server托管实例中创建Windows认证的链接服务器

必备前提

  • 确保托管实例能访问本地SQL Server的TCP端口(默认1433):可通过公网防火墙放行、VPN连接或ExpressRoute打通Azure虚拟网络与本地网络实现。
  • 本地Windows账号已获本地SQL Server的访问权限(至少能读取需要同步的数据)。

操作步骤

  1. 创建链接服务器
    在托管实例的查询编辑器中执行以下T-SQL:

    EXEC sp_addlinkedserver
        @server = N'LocalSQLInstance', -- 自定义链接服务器名称
        @srvproduct=N'SQL Server';
    
  2. 配置登录映射
    根据你的域环境选择对应方式:

    • 无域信任/独立本地账号:直接在链接服务器中存储本地Windows账号凭据
      EXEC sp_addlinkedsrvlogin
          @rmtsrvname = N'LocalSQLInstance',
          @useself = N'False',
          @locallogin = NULL, -- 允许所有托管实例登录使用此映射,也可指定特定账号
          @rmtuser = N'YourLocalDomain\LocalUser', -- 本地Windows账号(域名+用户名)
          @rmtpassword = N'LocalUserPassword'; -- 本地账号密码
      
    • 已建立域信任(本地域与Azure AD同步):使用Kerberos认证,无需存储密码
      EXEC sp_addlinkedsrvlogin
          @rmtsrvname = N'LocalSQLInstance',
          @useself = N'True',
          @locallogin = N'AzureAD\ManagedInstanceUser', -- 托管实例的Azure AD Windows账号
          @rmtuser = NULL,
          @rmtpassword = NULL;
      
  3. 验证连通性
    执行测试查询确认链接有效:

    SELECT TOP 10 * FROM [LocalSQLInstance].[YourLocalDB].[dbo].[YourTable];
    

启用托管实例Windows认证后能否连接本地SQL Server?

可行,但需满足以下条件:

  • 域互通:通过Azure AD Connect将本地Windows域与Azure AD建立信任,或把本地Windows账号同步到Azure AD,确保托管实例的Windows登录账号能被本地SQL Server识别。
  • 网络连通:同上述前提,托管实例必须能访问本地SQL Server的端口。
  • 权限配置:本地SQL Server需允许该同步后的账号登录,并授予对应的数据访问权限。

如果没有域信任或账号同步,仅启用托管实例的Windows认证无法直接访问本地SQL的Windows登录体系,此时需通过上述的凭据映射方式(存储本地账号密码)实现访问。

内容的提问来源于stack exchange,提问作者Narendra

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 12:43:17