sqlserver数据库如何修改实例名称
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 ;自己写的 改天验证一下.
到此这篇关于sqlserver修改实例名称的文章就介绍到这了,更多相关sqlserver修改实例名称内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
SQL Server提示"选定的用户拥有对象,所以无法除去该用户”
今天在帮朋友弄一台服务器的时候当我需要删除一个数据库里的用户时,提示如下错误信息: "选定的用户拥有对象,所以无法除去该用户" 如何解决呢?2009-04-04
SQL Server 2022 AlwaysOn新特性之包含可用性组详解
这篇文章主要介绍了SQL Server 2022 AlwaysOn新特性之包含可用性组介绍,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2023-04-04
SQL Server安装后本地服务器连接失败的解决方法(仅供参考)
访问SQLServer数据库失败时,最常见的错误是"连接服务器失败,SQLServer不存在或访问被拒绝",或者"未能建立与(local)的链接,SQLServer不存在或访问被拒绝",这篇文章主要给大家介绍了关于SQL Server安装后本地服务器连接失败的解决方法,需要的朋友可以参考下2023-11-11


最新评论