sqlserver修改实例名称

if serverproperty('servername') <> @@servername 
begin
    declare @server sysname 
    set @server = @@servername 
    exec sp_dropserver @server = @server 
    set @server = cast(serverproperty('servername') as sysname) 
    exec sp_addserver @server = @server , @local = 'LOCAL'
END
-- 删除旧的服务器名
EXEC sp_dropserver 'C9FV63M3';
-- 添加新的服务器名
EXEC sp_addserver 'C9FV63M32', 'local';

修改完,重启服务器。执行

SELECT serverproperty('servername') --服务器名称 
SELECT @@SERVERNAME   --数据库实例名

SQLSERVER 修改实例名以及架构信息

  1. GUI的方式 后者是 alter database 的方式修改 instance的名字
  2. 在全局的安全性下面创建用户.
  3. 在实例的安全性下面创建架构和用户(架构名与用户名一直, 使用新实例的名字).
  4. 使用sa 执行命令 sp_change_users_login 'Update_one','NEWname','NEWname'
  5. 删除之前的的老的架构名和实例.(如果提示有连接 在执行完第六步之后 重新删除.)

6.修改数据库实例中表和视图的属主:

<strong>use newname;</strong> 
DECLARE @table SYSNAME; 
DECLARE @schema SYSNAME; 
DECLARE @new_schema SYSNAME; 
<strong>SELECT @schema </strong><strong>= 'oldname' --原有属主
SELECT @new_schema = 'newname' --</strong><strong>新属主</strong>
DECLARE csr CURSOR FOR 
SELECT o.name, u.name FROM sys.objects o  
INNER JOIN sys.schemas u ON o.schema_id = u.schema_id  
WHERE o.type in( 'u','p','v','tf','fn','if') AND u.name = @schema 
OPEN csr; 
FETCH NEXT FROM csr INTO @table, @schema;  
WHILE @@FETCH_STATUS = 0  
BEGIN 
exec ('ALTER SCHEMA ' + @new_schema + ' TRANSFER [' + @schema + '].[' + @table + ']'); 
FETCH NEXT FROM csr INTO @table, @schema; 
END 
CLOSE csr  
DEALLOCATE csr ;

大气的葡萄酒
1 声望1 粉丝

引用和评论

0 条评论