1. 简介
链接服务器是在一个数据库服务上访问另一个数据库服务的一种方法。通过此方法,我们可以在同一台计算机上或不同计算机上访问其他数据库服务(如Oracle、MySQL、PostgreSQL等)。本文将重点介绍如何快速搭建MSSQL数据库链接服务器。
2. 创建链接服务器
2.1 创建链接服务器账号
在创建链接服务器前,我们首先需要创建一个有足够权限的数据库账号。
CREATE LOGIN [LinkedServerLogin]
WITH PASSWORD=N'LinkedServerPassword',
DEFAULT_DATABASE=[master],
CHECK_EXPIRATION=OFF,
CHECK_POLICY=OFF
上述代码创建了一个名为LinkedServerLogin的账号,密码为LinkedServerPassword。
2.2 创建链接服务器
创建链接服务器的语法如下:
EXEC master.dbo.sp_addlinkedserver
@server = 'LinkedServerName',
@srvproduct = 'MSSQLSERVER',
@provider = 'SQLNCLI',
@datasrc = 'LinkedServerHostName',
@catalog = 'LinkedServerDatabaseName'
其中:
@server:链接服务器名称
@srvproduct:链接服务器产品名称
@provider:链接服务器提供程序名称
@datasrc:链接服务器主机名
@catalog:链接服务器所在的数据库名称
例如,我们创建一个名为LinkedServer的链接服务器,使用SQLNCLI提供程序,链接到名为LinkedServerHost的主机上的MSSQLSERVER实例,并且链接数据库为LinkedServerDB,则以上代码可修改为如下所示:
EXEC master.dbo.sp_addlinkedserver
@server = 'LinkedServer',
@srvproduct = 'MSSQLSERVER',
@provider = 'SQLNCLI',
@datasrc = 'LinkedServerHost',
@catalog = 'LinkedServerDB'
此时我们已经成功创建了链接服务器。
2.3 设定链接服务器的登录账号
接下来我们需要为链接服务器设定一个已经创建的账号,使得我们能够用此账号来访问链接服务器中的数据库。代码如下:
EXEC master.dbo.sp_addlinkedsrvlogin
@rmtsrvname = 'LinkedServer',
@useself = 'FALSE',
@rmtuser = 'LinkedServerLogin',
@rmtpassword = 'LinkedServerPassword'
其中:
@rmtsrvname:链接服务器名称
@useself:是否使用本地账号连接链接服务器
@rmtuser:用于访问链接服务器的账号名称
@rmtpassword:链接服务器密码
3. 使用链接服务器
创建完成链接服务器后,我们就可以使用它来访问其他数据库服务了。
3.1 查询访问
查询其它数据库服务中的表,需要在表名前加上链接服务器名称加句点,如下面的示例:
SELECT * FROM LinkedServerDatabaseName.dbo.TableName
注意,LinkedServerDatabaseName和TableName分别为另外一个数据库服务中的数据库名称和表名称。
3.2 插入数据
插入数据到链接服务器中,需要使用四部分命名法,如下所示:
INSERT INTO LinkedServer.LinkedServerDatabaseName.dbo.TableName
VALUES (...)
其中,LinkedServer为链接服务器名称,LinkedServerDatabaseName为另外一个数据库服务中的数据库名称,TableName为表名称。
3.3 更新数据
更新数据使用方法同插入数据,如下所示:
UPDATE LinkedServer.LinkedServerDatabaseName.dbo.TableName
SET ...
WHERE ...
4. 删除链接服务器
无论何时,我们都可以删除不需要的链接服务器。删除链接服务器的语法如下:
EXEC master.dbo.sp_dropserver
@server = 'LinkedServer',
@droplogins = 'droplogins'
其中:
@server:链接服务器名称
@droplogins:删除与链接服务器关联的登录账号
如果不需要删除与链接服务器关联的登录账号,可以将@droplogins替换为null。
5. 总结
本文介绍了如何快速搭建MSSQL数据库链接服务器,通过链接服务器的访问方式我们可以更加灵活地操作数据,实现不同数据库之间的数据传输和操作。链接服务器是链接不同数据库之间的一种方法,它提供了灵活的操作方式,以适应不同的需求。需要注意的是,对于不同的数据库服务,链接服务器的创建和使用方式也不一样,因此在实际应用中需要按照实际情况进行修改和调整。