Я выполнил следующий шаг из вопроса, на который был дан ответ в отношении связанного сервера для базы данных Azure.

Мне нужно добавить связанный сервер к MS Azure SQL Server

-- Make a link to the cloud
EXEC sp_addlinkedserver   
     @server='[servername].database.windows.net',   -- specify the name of the linked server    
     @srvproduct=N'Azure SQL Db',
     @provider=N'SQLNCLI', 
     @datasrc='yourservername',             -- add here your server name   
     @catalog='FCS';
GO

--Set up login mapping
EXEC sp_addlinkedsrvlogin 
    @rmtsrvname = '[servername].database.windows.net',   
    @useself = 'FALSE', 
    @locallogin=NULL,
    @rmtuser = 'username',
    @rmtpassword = 'password'
GO

Это создает связанный сервер в моем окружении, однако он не подключается к указанному мною каталогу (FCS). По какой-то причине он подключается к дефолту. Что-то я делаю не так

1
Fahim 30 Окт 2019 в 13:11

2 ответа

Вы используете @server, как и @datasrc. @Server - это просто имя вашего связанного сервера на вашем экземпляре SQL Server (локального), а @datasrc должно быть именем логического сервера вашей базы данных SQL Azure.

enter image description here

Пожалуйста, прочтите эту статью, чтобы получить полный пример того, как создать связанный сервер.

0
Alberto Morillo 30 Окт 2019 в 15:43
Я думаю, вы сделали противоположное тому, о чем я просил. Я хочу создать связанный сервер базы данных SQL Azure в моей локальной базе данных. На данный момент у меня есть проблема с подключением к БД, которую я указал в @catalog и currentley.Он подключается к умолчанию, где у меня нет данных.
 – 
Fahim
4 Ноя 2019 в 17:36

Вот простой пример, объясняющий, как подключиться к базе данных SQL Azure с помощью распределенных запросов:

-- Configure the linked server  
-- Add one Azure SQL DB as Linked Server  
EXEC sp_addlinkedserver  
  @server='myLinkedServer', -- here you can specify the name of the linked server  
  @srvproduct='',       
  @provider='sqlncli', -- using SQL Server Native Client  
  @datasrc='myServer.database.windows.net',   -- add here your server name  
  @location='',  
  @provstr='',  
  @catalog='myDatabase'  -- add here your database name as initial catalog (you cannot connect to the master database)  

-- Add credentials and options to this linked server  
EXEC sp_addlinkedsrvlogin  
  @rmtsrvname = 'myLinkedServer',  
  @useself = 'false',  
  @rmtuser = 'myLogin',             -- add here your login on Azure DB  
  @rmtpassword = 'myPassword' -- add here your password on Azure DB  

EXEC sp_serveroption 'myLinkedServer', 'rpc out', true;  

-- Now you can use the linked server to execute 4-part queries  
-- You can create a new table in the Azure DB  
EXEC ('CREATE TABLE t1tutut2(col1 int not null CONSTRAINT PK_col1 PRIMARY KEY CLUSTERED (col1) )') at myLinkedServer  
-- Insert data from your local SQL Server  
EXEC ('INSERT INTO t1tutut2 VALUES(1),(2),(3)') at myLinkedServer  

-- Query the data using 4-part names  
SELECT * FROM myLinkedServer.myDatabase.dbo.myTable

Следуйте официальному примеру и повторите попытку.

Ссылка: Добавить базу данных SQL Azure в качестве Связанный сервер для использования с распределенными запросами в облачных и локальных базах данных

Надеюсь это поможет.

0
Leon Yue 31 Окт 2019 в 05:40