Updates a connection to a data source. A connection allows for access to a single data source. This stored procedure has no equivalent in SQL Server.
Use sp_addlinkedsrvlogin
stored procedure to specify the login credentials that the local server uses to log on to the remote server or service that connection points to.
Syntax
sp_updatelinkedserver [ @server= ] 'server' [ , [ @srvproduct= ] 'product_name' ] [ , [ @datasrc= ] 'data_source' ] [ , [ @location= ] 'location' ] [ , [ @provstr= ] 'provider_string' ] [ , [ @catalog= ] 'catalog' ]
Arguments
[ @server= ] 'server'
Is the name of the data source connection to create. server is sysname, with no default. It corresponds to the name
column in sys.servers
view.
[ @srvproduct= ] 'product_name'
Is the name of the data provider to add as a connection. product_name is nvarchar(128), with a default of NULL. It corresponds to the product
column in sys.servers
view.
[ @datasrc= ] 'data_source'
Is the network server or service name that hosts data source. data_source is nvarchar(4000). It corresponds to the data_source
column in sys.servers
view. Depending on the data provider, data_source can hold values in many formats like servername
, servername:port
, https://api.someserver.com/api/data
, etc.
[ @location= ] 'location'
Is the extended configuration of the data connection in JSON format. location is nvarchar(4000), with a default of NULL. It corresponds to the location
column in sys.servers
view.
[ @provstr= ] 'provider_string'
Is the provider-specific configuration string in JSON format. provider_string is nvarchar(4000), with a default of NULL. It corresponds to the provider_string
column in sys.servers
view. Depending on the data provider, provider_string can hold information about pooling, data pushdown method, initializaiton sql, etc.
[ @catalog= ] 'catalog'
Is the catalog name at the source. Typically it is a database name for systems that support multiple databases hosted by the same instance. catalog is sysname, with a default of NULL;
Note: To learn the exact values to use for each of the parameters, first create the desired connection using GUI, and then examine the
sys.servers
view.
Example
The following example creates the myConnection
, sets the datasrc to "mysql", tests the connection, lists the updated connection using the sys.servers
view, and drops the connection.
exec sp_addlinkedserver 'myConnection', 'MySql'; exec sp_updatelinkedserver 'myConnection', @datasrc='mysql:3306'; exec sp_addlinkedsrvlogin 'myConnection', 'FALSE', @rmtuser='root', @rmtpassword='root'; exec sp_testlinkedserver 'myConnection'; select * from sys.servers where name = 'myConnection'; exec sp_dropserver 'myConnection';