加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

sql-server – 自动重命名SQL Server

发布时间:2020-12-12 16:45:15 所属栏目:MsSql教程 来源:网络整理
导读:我们正在更换我们的SQL Server,并决定重命名服务器本身比更改其他所有内容以指向新名称要容易得多.我们找到了有关更改SQL Server实例名称以匹配计算机名称的说明,如下所示: sp_dropserver 'OLDSERVER'sp_addserver 'NEWSERVER',local 虽然SQL企业管理器似乎
我们正在更换我们的SQL Server,并决定重命名服务器本身比更改其他所有内容以指向新名称要容易得多.我们找到了有关更改SQL Server实例名称以匹配计算机名称的说明,如下所示:
sp_dropserver 'OLDSERVER'
sp_addserver 'NEWSERVER',local

虽然SQL企业管理器似乎并不喜欢这些.我不得不将其更改为以下内容以使其协同工作:

sp_dropserver 'OLDSERVER'; GO
sp_addserver 'NEWSERVER','local'; GO

哪个不错,但我希望事情更加自动化.由于@@ ServerName返回实例的名称,我想出了如何自动化第一行:

sp_dropserver @@ServerName; GO

我还了解到SERVERPROPERTY(‘ServerName’)应该返回计算机名称,所以我想我可以用它来自动化第二部分,但这不起作用:

sp_addserver SERVERPROPERTY('ServerName'),'local'; GO

我尝试设置一个变量,无论如何我需要更新SQL代理作业,但这也不起作用:

DECLARE @srv sysname;
SET @srv = CAST(SERVERPROPERTY('ServerName') AS sysname);
sp_addserver @srv,'local'; GO

‘sp_addserver’附近的语法不正确.

我非常希望不必将新服务器名称硬编码到脚本中,以使其更容易重用.有人有任何想法吗?

解决方法

这是一个做你想做的事情的脚本:
DECLARE @var1 nvarchar(50)
DECLARE @var2 nvarchar(50)
SET @var1 = convert(nvarchar(50),@@SERVERNAME)
SET @var2 = convert(nvarchar(50),SERVERPROPERTY('MachineName'))
EXEC sp_dropserver @var1
EXEC sp_addserver @var2,'local'
GO

积分:http://www.myitforum.com/articles/5/view.asp?id=4983

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读