博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
修改计算机名的注意事项
阅读量:6282 次
发布时间:2019-06-22

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

一、查看计算机名

1. 通过函数查看

  在安装SQL Server时,安装程序将本地服务器的名称设置为“计算机名”,并保存为一个全局变量@@SERVERNAME。如果在安装完成之后又修改了本地服务器的名称,那么@@SERVERNAME并不会主动修改。

  SQL Server还有一个SERVERPROPERTY函数,可以返回当前的本地服务器的网络名称。例如:

SELECT @@SERVERNAME as InstalledName, SERVERPROPERTY('SERVERNAME') as NetworkName

InstalledName    NetworkName

===============  ===========

WIN-IT2CFA8QS58  SQL2012SVR

  在上例中,可以确定这台计算机在安装后修改了计算机名。第一列返回了在安装SQL Server时的计算机名;第二列返回了当前的计算机名。

2. 通过系统存储过程查看

  可以使用sp_helpserver查看服务器的信息。http://msdn.microsoft.com/zh-cn/library/ms189804.aspx

EXEC sp_helpserver

name       network_name status                           id collation_name connect_timeout query_timeout

========== ============ ================================ == ============== =============== =============

SQL2012SVR SQL2012SVR   rpc,rpc out,use remote collation 0  NULL           0               0

二、修改计算机名

  当发现两个名称不符时,可以参照官网的示例进行修改。

EXEC sp_dropserver 'current_server_name';GOEXEC sp_addserver 'new_server_name', 'local';GO

  修改了计算机名之后,重启Windows后生效。

  完善后的脚本如下:

IF @@SERVERNAME <> SERVERPROPERTY('SERVERNAME')

BEGIN    

  EXEC sp_dropserver @server = @@SERVERNAME

  DECLARE @new_server_name SYSNAME

  SELECT @new_server_name = CAST(serverproperty('servername') as SYSNAME)

  EXEC sp_addserver @server = @new_server_name , @local = 'local'

END

三、计算机名对复制(Replication)的影响

  修改计算机名之后,发布和订阅的属性都不可以查看。

  由于存在着复制,SQL Server在sp_dropserver时失败:

消息 15190,级别 16,状态 1,过程 sp_dropserver,第 56 行

仍有对服务器 'WIN-IT2CFA8QS58' 的远程登录或链接登录。

  而且不可以删除链接服务器。

对策:

1. 在修改计算机名之前,将发布和订阅“生成脚本”。

2. 在右键菜单中选择“禁用发布和分发”,这将删除所有的发布和订阅。

3. 修改脚本,将计算机名改为新的名称。

4. 修改计算机名之后,根据脚本重新生成发布和订阅。

注解:如果在修改了计算机名之后再删除发布和订阅,那么在删除时需要清除“连接到发布服务器,并且在其中删除此订阅的记录”选项(因为无法连接到原来的计算机名)。

四、计算机名对安全性的影响

  修改了计算机名,默认的安全帐户也会受影响。

  应注意到,默认的本地帐户仍然显示旧的计算机名。而且,在添加新的本地管理员帐户时被拒绝(实际上,Windows SID是相同的)。

  需要使用另一个管理员帐户连接到SSMS,删除原有的默认本地帐户,再重新添加新的本地帐户。注意为新的本地帐户配置对应的服务器角色等权限。

五、对其它服务的影响

  例如,***S仍然将数据库指向旧的服务器名称。

六、替代方案

  可以添加一个“别名”,使客户端工具仍然可以使用原先的计算机名。

  在64位的操作系统中,要注意区分客户端工具。例如,SSMS是一个32位的应用程序,因此需要在“SQL Native Client 11.0配置(32位)”中添加别名。

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

你可能感兴趣的文章
mysql update中需要根据条件列更新写法update case
查看>>
AJAX里调用AJAX,作定时进度刷新
查看>>
IOS修改webView背景透明以及IOS调用前台js的方法
查看>>
Iterating elements using NightWatchJS
查看>>
运行自己的 DaemonSet - 每天5分钟玩转 Docker 容器技术(131)
查看>>
Android studio动态调试
查看>>
Vue-cli + Express 构建的SPA Blog(前后分离)
查看>>
黄聪: $(document).click() 在iphone上不触发事件解决办法
查看>>
[Err] 1062 - Duplicate entry '0' for key 'PRIMARY'
查看>>
怎么保证系统可靠性
查看>>
autoHotKey 一些脚本积累
查看>>
linux下svn清除非版本控制文件的方法
查看>>
Gradle 设置全局代理
查看>>
使用iTerm2快捷连接SSH
查看>>
CentOS6.5安装kafka-2.10-0.8.2(单机)
查看>>
主从复制、读写分离水平拆分及库表散列
查看>>
spring boot controller设置 @Transactional 不回滚的解决办法
查看>>
地铁是怎么建成的
查看>>
C# net request payload形式发送post请求
查看>>
java sm3加密算法
查看>>