博客
关于我
"SQLServer复制需要有实际的服务器名称才能连接到服务器,请指定实际的服务器名"转...
阅读量:790 次
发布时间:2023-01-24

本文共 959 字,大约阅读时间需要 3 分钟。

最近在学习SQL Server的高级复制技术时,我遇到了一个问题。具体来说,当尝试在本地SQL Server上连接到远程数据库服务器时,查看复制功能的发布服务器时,出现了一次连接错误提示,这让我有些困惑。经过一番查询,我发现问题可能出在两个方面:

第一种情况是:如果自己本地计算机的名称发生了修改,而此前未在SQL Server中更新服务器名称,则可能导致无法连接到远程数据库服务器。这时候,运行以下T-SQL语句可以很容易地进行核查:

use master
go
select @@servername;
select serverproperty('servername');

如果查询结果显示与实际计算机名称不一致,则需要采取以下步骤进行修复:

  • 执行以下存储过程完成服务器名称更换:

    sp_dropserver 'old_server_name' --保留空格,可保留现有配置
    go
    sp_addserver 'new_server_name', 'local' --指定新服务器名称和是本地网络中的'local'配置
    go
  • 重启SQL Server服务。

  • 第二种情况是:如果直接使用IP地址连接远程服务器,而未为该服务器配置数据库.alias(别名),则也会出现类似的错误提示。这个时候,我们可以通过以下步骤来解决问题:

  • 打开SQL Server Configuration Manager,导航到"服务 aliases"选项。

  • 右键新建一个新的数据库别名,设置如下:

    • 服务器名称:使用上述T-SQL查询结果返回的实际计算机名称
    • IP地址:服务器的访问地址(如172.168.1.15)
    • 等待相关信息填写完成
  • 在计算机的hosts文件中添加以下记录:

    172.168.1.15 sniper  #根据实际IP和别名设置

    位置:C:\Windows\System32\drivers\etc\hosts

  • 重启SQL Server服务

  • 此时,在连接数据库时,可以直接使用创建的数据库.aliases名进行操作,这样可以避免IP地址直接连接时出现的问题。

    经过上述配置修改后,再次尝试连接数据库,问题应该能够得到解决。需要注意的是,只要知道正确的服务器名称,即使不使用数据库.alias也可以正常连接到远程数据库。

    转载地址:http://uheyk.baihongyu.com/

    你可能感兴趣的文章
    idea thymeleaf页面变量报错解决
    查看>>
    wxwidgets自定义事件+调试
    查看>>
    Unable to run Intel® HAXM installer: 无法启动过程,工作目录
    查看>>
    Vue.js学习-15-v-for循环数组内容
    查看>>
    kafka超时错误或者发送消息失败等错误,排错方式
    查看>>
    sockjs-node/info?t=1462183700002 报错解决方案
    查看>>
    Latex 错误集合
    查看>>
    浏览器打开winscp 系统错误。代码:5。 拒绝访问。
    查看>>
    Kubernetes 无法查询到并且无法删除pod实例的排查过程
    查看>>
    android中button修改不了背景颜色
    查看>>
    github 入门
    查看>>
    温故知新,.Net Core遇见Consul(HashiCorp),实践分布式服务注册与发现
    查看>>
    HTML 表单验证
    查看>>
    python解释器环境问题
    查看>>
    uni-app快速导入自己需要的插件
    查看>>
    编写xor_shellcode.py
    查看>>
    Echarts笔记
    查看>>
    Ubuntu 20.04 Docker 安装并配置
    查看>>
    在 eclipse 中将 web 项目部署到 tomcat 服务器上
    查看>>
    iOS关于申请公司开发者账号缴费支付
    查看>>