7

我有两台服务器 Server1 和 Server2

在两台服务器上,我都有一个名为 QAI 的数据库

有没有一种方法可以创建一个链接服务器,其别名从 Server2 到 Server1,而不是 Server1.QAI.dbo.tbBlah

将其别名为 QAI.dbo.tbBlah

这是必需的,因为 server2 上的 QAI DB 失败并且需要在修复时回退到 Server1 实例

谢谢

4

3 回答 3

12

这行得通。在 SQL2012 上测试

http://alexpinsker.blogspot.se/2007/08/how-to-give-alias-to-sql-linked-server.html

将 SQL 链接服务器添加到运行它的特定主机没有问题。但是如果你需要给它一个别名,而不是使用主机名作为链接服务器名呢?这是如何做到的:

1) 第 1 步:
• 在 SQL Server Management Studio 中打开链接服务器,然后打开“新建链接服务器”。
• 出现的向导内部– 选择常规选项卡。
• 在“链接服务器”字段中指定别名。
• 选择SQL Native Client 作为提供者。
• 在“产品名称”字段中添加 sql_server(这很神奇)。
• 在“数据源”中——指定要用作链接服务器的主机名。

2) 第 2 步:
• 在安全选项卡中 - 指定适当的安全选项(例如安全上下文)

3) 第 3 步:
• 在“服务器选项”选项卡中 - 将“数据访问”、“RPC”、“Rpc Out”和“使用远程协作”设置为 true。

4) 第 4 步:
• 享受。

于 2015-04-28T13:35:06.987 回答
4

如果您不想在查询表时指定数据库名称,您可以为其创建同义词。

CREATE SYNONYM [dbo].[DimProduct]
FOR
[AdventureWorksDW].[dbo].[DimProduct]

这将在您的 Synonyms 文件夹中创建 DimProduct

于 2012-12-07T17:27:32.633 回答
1

恐怕这是不可能的,你总是必须明确地引用 Server1。但是如果您的应用程序是在服务器上而不是在许多客户端上,因此使用点数量有限,您可以在那里修改连接字符串,因此应用程序将临时引用 server1 而不是 server2。

于 2012-07-24T09:44:46.640 回答