sách gpt4 ai đã đi

Cập nhật sys.servers sau khi đổi tên máy chủ SQL Server

In lại 作者:行者123 更新时间:2023-12-01 06:17:47 31 4
mua khóa gpt4 Nike

我即将将我的 SQL Server 2012 实例升级到 SQL Server 2014。

我已经克隆了主机 Windows VM 并将其重命名为 foo-2012ĐẾN foo-2014 .
重新启动时,SQL Server 实例注意到它更新了自己的名称,因此我现在可以以 foo-2014 的身份登录它。 .都好。

不幸的是 sys.servers 中的(单个)条目还在foo-2012这意味着运行

LỰA CHỌN * 
FROM [foo-2012].[barDB].[dbo].tFooBarTable

失败:

Could not find server 'RW-DB-2014' in sys.servers. Verify that the correct server name was specified. If necessary, execute the stored procedure sp_addlinkedserver to add the server to sys.servers.



美好的。

我跑 EXEC sp_addlinkedserver 'foo-2014', 'SQL Server'并获得一个条目。

但现在新条目有 isLinked=1 (而现有条目具有 isLinked=0 ).

Tài liệu表明此设置很重要(特别是对于我的应用程序,它对 Distr.Trans. 有很强的意见。:()

我无法直接编辑/添加/修改 sys.servers。任何这样做的尝试都会给出:

Ad hoc updates to system catalogs are not allowed.



我删除了成功的新条目( EXEC sp_dropserver 'foo-2014' ),并尝试使用 EXEC sp_addserver 'foo-2014', 'local'哪个报道

The server 'foo-2014' already exists



立即重新运行 drop 然后报告

The server 'RW-DB-2014' does not exist. Use sp_helpserver to show available servers.



我该如何解决?

1 Câu trả lời

您需要先删除旧服务器 foo-2012以便您在 sys.servers 中没有行,然后添加 'local' :

EXEC sp_dropserver 'foo-2012';
GO
EXEC sp_addserver 'foo-2014', 'local';
GO

然后您需要重新启动 MSSQLSERVER 服务以使更改生效,如 sp_addserver 的文档所述。 :

The local definition takes effect only after the Database Engine is restarted.

关于sql-server - 重命名 SQL Server 主机后更新 sys.servers,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39637577/

31 4 0
Bài viết được đề xuất: jQuery 选择
Bài viết được đề xuất: Python 导入模块时遇到问题
Bài viết được đề xuất: java - Java中读取系统代理
Bài viết được đề xuất: jquery - 使用 jQuery 进行复杂查询
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com