zoukankan      html  css  js  c++  java
  • (4.3)修改计算机名注意事项

    转自:http://blog.51cto.com/jimshu/1588158

    关键字:修改计算机名,改实例名,改计算机名

    一、查看计算机名

    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

    二、修改计算机名

      当发现两个名称不符时,可以参照官网的示例进行修改。http://msdn.microsoft.com/zh-cn/library/ms174396.aspx

    EXEC sp_dropserver 'current_server_name';
    GO
    EXEC 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)的影响

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

    wKiom1SQ6Ymg5fC6AALez6gAdXw044.jpg

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

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

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

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

    wKioL1SQ-AbQXw84AARaLvVj6CE909.jpg

    对策:

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

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

    wKioL1SQ-I6jjFYtAAHOQo5PHEs769.jpg

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

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

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

    wKioL1SQ7krDpAygAAF_6A61_Wc242.jpg

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

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

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

    wKiom1SRMAHD1JtPAAPW34lACjQ515.jpg

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

    五、对其它服务的影响

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

    wKioL1SRMo7iFJnEAAJyIdWEgvk572.jpgwKiom1SRMo2QQON5AAFqKmAPX3Q398.jpg

    wKioL1SRM0DQ5P7aAAG_BUa2YI8039.jpg

    wKiom1SRMtCyk_BwAAE7uK85tSM164.jpg

    六、替代方案

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

    wKioL1SQ7QuSXwhxAAMhDVW3f14356.jpg

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

  • 相关阅读:
    .IllegalArgumentException: Mapped Statements collection does not contain 异常一例【我】
    Spring配置文件里加载路径中的通配符
    线程池使用Callable示例【我】
    使用Callable和Future接口创建线程
    Java线程池(Callable+Future模式)
    集合切割
    draw call 理解和优化
    Unity 3d导入3dMax模型 产生若干问题
    3dmax做的模型导入U3d后 当模型靠近摄像机时镂空问题
    不管多少个空格替换为一个空格
  • 原文地址:https://www.cnblogs.com/gered/p/9401903.html
Copyright © 2011-2022 走看看