MS SQL 能否修改实例名称

前几天研究了了一下修改数据库名称的方式后,今天突然冒出一个问题,MS SQL的命名实例是否也可以修改呢?例如下图,我在本机上安装了一个命名实例GSP,如果我想将其改为GSPS,能行吗? 如果可以,那么该怎么做呢?

该如何下手呢,真的不知道怎么做,毕竟以前都没有做过修改命令实例(当然修改计算机名称是另外一回事),先从网上搜索资料吧,结果,搜索到一堆不相关的资料,其实都不是真正的修改命名实例名称,只是修改计算机名称。不过最后搜索到一点有用的信息http://www.itpub.net/thread-1047040-1-1.html, 不过呢,我按照其操作去实现的时候,发现根本行不通。

修改sysservers脚本

  1.   EXEC sp_configure'allow updates', 1;
  2.  
  3.   RECONFIGURE WITH OVERRIDE;
  4.  
  5.   GO
  6.  
  7.  
  8.   UPDATE master..sysservers SET srvname='A8BEC8491730444\GSPS', dataaccess='A8BEC8491730444\GSPS',
  9.  
  10.            srvnetname='A8BEC8491730444\GSPS'
  11.  
  12.        WHERE srvname ='A8BEC8491730444\GSPS';
  13.  
  14.       
  15.  
  16.   EXEC sp_configure'allow updates', 0;
  17.  
  18.   RECONFIGURE WITH OVERRIDE;
  19.  
  20.   GO

因为sql server 2005 和 sql server 2008 不再支持直接对系统表进行修改,上面语句会报如下错误。

消息 259,级别 16,状态 1,第 2 行

不允许对系统目录进行即席更新。

那么接下来我们来看看修改计算机名称,会给数据库带来什么影响,我把计算机名称从A8BEC8491730444改为Kerry,然后重启机器和服务,执行下面脚本

Code Snippet

  1. USE master;
  2.  
  3. GO
  4.  
  5. IF SERVERPROPERTY('servername') <> @@SERVERNAME
  6.  
  7. BEGIN
  8.  
  9. DECLARE @server sysname;
  10.  
  11. SET @server =@@SERVERNAME;
  12.  
  13. EXEC sp_dropserver@server = @server;
  14.  
  15. SET @server = CAST(SERVERPROPERTY('servername') AS sysname);
  16.  
  17. EXEC sp_addserver@server=@server, @local='LOCAL';
  18.  
  19. END
  20.  
  21. GO

执行完脚本后,我们来看看查询结果

SELECT @@SERVERNAME ,SERVERPROPERTY('servername')
 
SELECT * FROM Sys.SysServers
 

我们重启一下服务.OK,问题已经解决

结论:折腾了大半下午,终于弄清了一个事实,数据库命名实例是不能修改的,不能将GSP改为其它名称,除非你重装MSSMS。不像ORACLE数据库的实例名是可以修改的。但是呢,可以修改计算机名称。

 

时间: 2024-09-19 20:32:45

MS SQL 能否修改实例名称的相关文章

ASP.NET获取MS SQL Server安装实例实现思路及代码_实用技巧

参考MSDN的文章 http://msdn.microsoft.com/zh-cn/library/a6t1z9x2.aspx中所指的SqlDataSourceEnumerator类别,是应用程序在当前的网络中查找SQL Server实例. Insus.NET在演示中,是把找到的实例显示于DropDownList控件中.首先在.aspx拉一个DropDownList控件: 复制代码 代码如下: Server: <asp:DropDownList ID="DropDownListInstan

ASP+MS SQL在线修改Serv-u的密码教程

asp+|serv-u|sql|教程|在线 下面是以Serv-U 6.0和Sql Server 2000相结合的演示. 建表Sql 语句: CREATE TABLE [groupaccounts] ( [id] int IDENTITY (1,1) PRIMARY KEY, [Index] int Default 0, [Name] nVarChar(50) default '', [Notes] nVarChar(255) default '' )CREATE INDEX [Name] on

ASP.NET获取MS SQL Server安装实例

View Code protected void Page_Load(object sender, EventArgs e) { DataTable dataTable = SqlDataSourceEnumerator.Instance.GetDataSources(); foreach (DataRow dr in dataTable.Rows) { if (string.IsNullOrEmpty(dr["InstanceName"].ToString())) this.Drop

MS SQL Server入门教程

SQL Server 是一个关系数据库管理系统,它最初是由Microsoft,Sybase和Ashton-Tate三家公司共同开发的,于1988年推出了第一个OS/2版本.在Windows NT推出后,Microsoft与Sybase在SQL Server的开发上就分道扬镳了,Microsoft将SQL Server 移植到Windows NT. MS SQL基础教程:SQL Server 2000 简介 MS SQL基础教程:SQL Server 2000 的新特性 MS SQL基础教程:SQ

MS SQL修改数据库名称

在MS SQL中,如果你想修改某一个数据库的名称,你可以通过下面几种方法实现.   方法一:使用SP_RENAMEDB系统存储过程实现. 语法: sp_renamedb [ @dbname = ] 'old_name' , [ @newname = ] 'new_name' 例子: 我需要将数据库Test_1的名称修改为Test use master go exec sp_renamedb @dbname='Test_1', @newname='Test'; go   有时候执行该脚本,会报如下

出现的问题:在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。请验证实例名称是否正确并且 SQL Server

问题描述 大虾帮帮忙我的数据库连接:privateSqlConnectionGetsqlserverConn()//获得数据库连接{stringstrConn=WebConfigurationManager.ConnectionStrings["SQL1"].ToString();SqlConnectionsqlConn=newSqlConnection(strConn);//stringstr=WebConfigurationManager.ConnectionStrings[&qu

看实例学VFP:用sql命令修改表结构

在看实例学VFP:用sql语句修改数据表记录一文中介绍过用sql语句修改表记录的值,实际vfp中也可以用sql语言中的Alter语句动态的修改表结构.虽然可以实现这样的操作,但是我觉得尽可能还是不要在程序中动态修改表结构,因为这样有可能会造成程序的不稳定以及其它的意外情况. vfp中对表结构的操作主要是增加字段.修改字段.重命名字段和删除字段这四项,sql中修改表结构的语句是Alter语句,那么和这四项操作相对应的Alter语句格式可以总结如下: 增加字段:alter talbe 表名 add

MS SQL基础教程:实例数据库

SQL Server 2000 有两个实例数据库(Sample Databases pubs):和Northwind.与系统数据库一样,实例数据库的文件也存储在Microsoft SQL Server (默认安装目录)的 MSSQL 子目录的Data 文件夹中.实例数据库所包含的文件如表6-2 所示: pubs 和Northwind 数据库可以作为SQL Server 的学习工具,SQL Server Books Online 中的实例基本上都是基于这两个数据库来讲解的.其中pubs 实例数据库

MS SQL基础教程:定位修改删除游标

通常情况下我们用游标来从基础表中检索数据,以实现对数据的行处理.但在某些情况下,我们也常要修改游标中的数据,即进行定位更新或删除游标所包含的数据.所以必须执行另外的更新或删除命令,并在WHERE 子句中重新给定条件才能修改到该行数据.但是如果在声明游标时使用了FOR UPDATE 语句,那么就可以在UPDATE 或DELETE命令中以WHERE CURRENT OF 关键字直接修改或删除当前游标中所存储的数据,而不必使用WHERE 子句重新给出指定条件.当改变游标中数据时,这种变化会自动地影响到