我无法通过VPN设置复制。
我在Windows 2008 R2服务器上安装了SQL Server 2008 R2企业版数据库。
SQL Server在非标准端口上运行。 我已经设置它,以便它作为其自己的分销商,并在此服务器上configuration了发布者。 它被设置为可更新的跨国出版物(是的,这是必要的)。
在此服务器上,我启用了路由和远程访问以便能够build立VPN连接。 它configuration了一个静态IP地址池,其中范围中的第一个始终分配给服务器。 我已经给testing用户分配了一个在这个范围内的静态地址(我不知道这是否有必要)。
所有客户端都将是2008 R2版本,但可以是SQL Express或完整产品的独立开发者实例。
我可以从客户端build立一个没有问题的VPN连接,并可以看到正确的IP地址被分配。
在连接到数据库以testing我可以build立连接之后,我意识到我需要能够使用服务器名称而不是IP地址连接到数据库 – 复制所需的IP地址 – 最初不起作用。 我使用服务器的NETBIOS名称在客户机的主机文件中创build了一个条目,现在我可以使用SERVER\INSTANCE, PORT语法通过VPN从客户机连接到服务器。 因为它是服务器上的默认实例,所以我也可以简单地使用SERVER, PORT语法进行连接。
毕竟,我仍然得到以下可怕的错误: SQL Server replication requires the actual server name to make a connection to the server. Connections through a server alias, IP address, or any other alternate name are not supported. Specify the actual server name, 'SERVER\INSTANCE'. (Replication.Utilities) SQL Server replication requires the actual server name to make a connection to the server. Connections through a server alias, IP address, or any other alternate name are not supported. Specify the actual server name, 'SERVER\INSTANCE'. (Replication.Utilities) SQL Server replication requires the actual server name to make a connection to the server. Connections through a server alias, IP address, or any other alternate name are not supported. Specify the actual server name, 'SERVER\INSTANCE'. (Replication.Utilities) 。
我错过了什么? 我如何得到这个工作?
TIA
试试这个命令:
select name from sys.servers
看看有什么反感。 您需要使用该名称在设置复制时连接到服务器。
或将其改为您想要使用的名称:
sp_dropserver 'currentname' go sp_addserver 'changedname' , 'local'
数据库引擎然后需要重新启动
将端口更改回默认的端口号。 除了让你的生活更加艰难,你还没有做任何改变港口号码的事情。
只是一个漫不经心,对你来说可能太晚,但对谷歌有用:基于我读的,我猜你需要添加一个别名到本地服务器,因为它有点难以find一个命名实例。 SQL Server客户端将转到SQL浏览器获取关于命名实例的信息 – 这似乎不可以通过VPN。 但在此之前,它检查本地别名是否在那里指定主机名。 您可以将其添加到SQL Serverconfigurationpipe理器 – 别名。 节省生命的build议:保持32位和64位别名同步。 期。
我已经通过创build服务器端别名(cliconfig)来解决这个问题,远程服务器在sys.servers中显示的同名,但服务器名称和端口指向IP地址和SQL端口,因为没有名称parsing。
有点不相关,但我已经使用Double Take在整个服务器级别获得额外的SQL Server复制。 根据您的灾难恢复计划要求,这是一个非常好的select。 故障转移可以手动或完全自动化,并且可以比VM-Ware实施更便宜。