sqlserver修改实例名称
1 2 3 4 5 6 7 8 9 10 11 12 | 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' ;
|
修改完,重启服务器。执行
1 2 | 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.修改数据库实例中表和视图的属主:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | <strong>use newname;</strong>
DECLARE @ table SYSNAME;
DECLARE @ schema SYSNAME;
DECLARE @new_schema SYSNAME;
<strong> SELECT @ schema </strong><strong>= 'oldname'
SELECT @new_schema = 'newname'
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 ;
|
自己写的 改天验证一下.