我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Sql server数据库如何远程连接

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Sql server数据库如何远程连接

Sql server数据库如何远程连接,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

在同一网络环境下,或者在可以访问的IP地址下,我们利用SQL数据库实现远程连接访问可以使用如下方法:

通过调用master.sys.sp_addlinkedserver创建访问连接

EXEC master.sys.sp_addlinkedserver @server = NULL, -- sysname
    @srvproduct = N'', -- nvarchar(128)
    @provider = N'', -- nvarchar(128)
    @dataclass="lazy" data-src = N'', -- nvarchar(4000)
    @location = N'', -- nvarchar(4000)
    @provstr = N'', -- nvarchar(4000)
    @catalog = NULL -- sysname

[ @server= ] 'server'
要创建的链接服务器的名称。 server 的数据类型为 sysname,无默认值。

[ @srvproduct= ] 'product_name'
要添加为链接服务器的 OLE DB 数据源的产品名称。 product_name 的数据类型为 nvarchar(128),默认值为 NULL。 如果为 SQL Server,则不必指定 provider_namedata_sourcelocationprovider_string 和 catalog

[ @provider= ] 'provider_name'
与此数据源对应的 OLE DB 访问接口的唯一编程标识符 (PROGID)。 对于当前计算机中安装的指定 OLE DB 访问接口,provider_name 必须唯一。 provider_name 的数据类型为 nvarchar(128),默认值为 NULL;但如果忽略 provider_name,则使用 SQLNCLI。 (使用 SQLNCLI 并且 SQL Server 将重定向到 SQL Server Native Client OLE DB 访问接口的最新版本。)OLE DB 访问接口应以指定的 PROGID 在注册表中注册。

[ @dataclass="lazy" data-src= ] 'data_source'
由 OLE DB 访问接口解释的数据源的名称。 data_source 的数据类型为 nvarchar(4000)。 data_source 作为 DBPROP_INIT_DATASOURCE 属性传递以初始化 OLE DB 访问接口。

[ @location= ] 'location'
由 OLE DB 访问接口解释的数据库的位置。 location 的数据类型为 nvarchar(4000),默认值为 NULL。 location 作为 DBPROP_INIT_LOCATION 属性传递以初始化 OLE DB 访问接口。

[ @provstr= ] 'provider_string'
OLE DB 访问接口特定的连接字符串,它可标识唯一的数据源。 provider_string 的数据类型为 nvarchar(4000),默认值为 NULL。 provstr 或传递给 IDataInitialize 或设置为 DBPROP_INIT_PROVIDERSTRING 属性,以初始化 OLE DB 访问接口。

当针对 SQL Server Native Client OLE DB 访问接口创建链接服务器时,可以使用 SERVER 关键字来指定实例,即使用 SERVER=servername\instancename 指定特定 SQL Server 实例。 servername 是运行 SQL Server 的计算机的名称,instancename 是用户要连接的特定 SQL Server 实例的名称


成功创建访问链接后就需要登陆远程服务器数据库

exec master.sys.sp_addlinkedsrvlogin @rmtsrvname = NULL, -- sysname
    @useself = '', -- varchar(8)
    @locallogin = NULL, -- sysname
    @rmtuser = NULL, -- sysname
    @rmtpassword = NULL -- sysname

[ @rmtsrvname = ] 'rmtsrvname'
应用登录映射的链接服务器的名称。 rmtsrvname 的数据类型为 sysname,无默认值。

[ @useself = ] 'TRUE' | 'FALSE' | 'NULL'
确定是否通过模拟本地登录名或显式提交登录名和密码来连接到 rmtsrvname。 数据类型为 varchar(8),默认值为 TRUE。

值为 TRUE 指定登录名使用自己的凭据连接到 rmtsrvname,而忽略 rmtuser 和 rmtpassword 参数。 FALSE 指定 rmtuser 和 rmtpassword 参数用于连接到指定 locallogin 的 rmtsrvname。 如果 rmtuser 和 rmtpassword 也设置为 NULL,则不使用登录名或密码来连接链接服务器。

[ @locallogin = ] 'locallogin'
本地服务器上的登录。 locallogin 的数据类型为 sysname,默认值为 NULL。 NULL 指定此项应用于连接到 rmtsrvname 的所有本地登录。 如果不为 NULL,则 locallogin 可以是 SQL Server 登录或 Windows 登录。 对于 Windows 登录来说,必须以直接的方式或通过已被授权访问的 Windows 组成员身份授予其访问 SQL Server 的权限。

[ @rmtuser = ] 'rmtuser'
当 @useself 为 FALSE 时,用于连接到 rmtsrvname 的远程登录名。 当远程服务器是不使用 Windows 身份验证的 SQL Server 实例时,rmtuser是一个 SQL Server 登录名。 rmtuser 的数据类型为 sysname,默认值为 NULL。

[ @rmtpassword = ] 'rmtpassword'
与 rmtuser 关联的密码。 rmtpassword 的数据类型为 sysname,默认值为 NULL。


接下来就要为远程服务器和链接服务器设置服务器选项

    EXEC master.sys.sp_serveroption @server = NULL, -- sysname
        @optname = '', -- varchar(35)
        @optvalue = N'' -- nvarchar(128)

[ @server = ] 'server'
要为其设置选项的服务器的名称。 server 的数据类型为 sysname,无默认值。

[ @optname = ] 'option_name'
为指定的服务器设置的选项。 option_name 的数据类型为 varchar(35),无默认值。 option_name 可以是下列任意值。

[ @optvalue =] 'option_value'
指定应启用(TRUE 或 on)还是禁用(FALSE 或 off)option_name。 option_value 的数据类型为 varchar(10),无默认值。

option_value 可以是用于 connect timeout 和 query timeout 选项的非负整数。 对于 collation name 选项,option_value 可以是排序规则名称或 NULL。

通过上述步骤就可以实现远程数据库的访问了

具体例子如下:

EXEC master.sys.sp_addlinkedserver
@server = 'HQDB2',
@srvproduct = '',
@provider = 'SQLOLEDB',
@dataclass="lazy" data-src = '10.82.21.69'
EXEC master.sys.sp_addlinkedsrvlogin 
    @rmtsrvname = 'HQDB2',
    @useself = N'false',
    @locallogin = NULL,
    @rmtuser = 'btscn',
    @rmtpassword = 'btscn' 
EXEC master.sys.sp_serveroption 
    @server = 'HQDB2', 
    @optname = 'RPC out', 
    @optvalue = N'true'
EXECUTE [HQDB2].[BTSHQ9903].[dbo].[stp_Generate_RentalReport] 
   @GenerateDate

可以执行select * from sys.servers查询当前的远程访问链接是否存在

当远程连接使用完后需要释放

EXEC master.sys.sp_dropserver @server = NULL, -- sysname
    @droplogins = '' -- char(10)

[ @server = ] 'server'
要删除的服务器。 server 的数据类型为 sysname,无默认值。 server 必须存在。

[ @droplogins = ] 'droplogins' | NULL
指示如果指定了 droplogins,那么对于 server,还必须删除相关的远程服务器和链接服务器登录名。 @droplogins 的数据类型为 char(10),默认值为 NULL。

实例:

EXEC master.sys.sp_dropserver 
    @server = 'HQDB2', 
    @droplogins = 'droplogins'

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注亿速云行业资讯频道,感谢您对亿速云的支持。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Sql server数据库如何远程连接

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

java如何连接SQL Server数据库

这篇文章主要介绍java如何连接SQL Server数据库,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!具体内容如下操作系统:windows 10 64位java开发环境:MyEclipse数据库:SQL Serve
2023-05-31

Docker 容器里连接远程 Sql Server 数据库。

Docker 容器里无法连接sql server 2008 sp3以下版本的数据库。(已用sql server 2008测试)修改Dockerfile文件, (文件收vs 2019 创建默认配置,运行于Linux)把第一行:FROM mcr.microsoft
Docker 容器里连接远程 Sql Server 数据库。
2022-03-25

如何通过Java连接SQL Server数据库

今天小编给大家分享一下如何通过Java连接SQL Server数据库的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。一.明确J
2023-07-05

如何使用connectionStrings连接SQL Server数据库

要使用connectionStrings连接SQL Server数据库,您需要向web.config文件或app.config文件添加一个连接字符串。下面是一些步骤:1. 打开您的项目中的web.config(ASP.NET项目)或app.
2023-08-23

SQL Server 远程数据库

exec sp_addlinkedserver ‘--别名(自定义)--‘, ‘ ‘, ‘SQLOLEDB ‘, ‘服务器ip‘ --连接exec sp_addlinkedsrvlogin ‘--别名--‘, ‘false ‘,null, ‘--用户名--
SQL Server 远程数据库
2014-11-01

jdbc怎么连接sql server数据库

要连接 SQL Server 数据库,您需要执行以下步骤:1. 下载并安装 SQL Server JDBC 驱动程序。您可以从 Microsoft 官方网站或 Maven 仓库下载最新版本的驱动程序。2. 在您的项目中导入 JDBC 驱动程
2023-09-11

使用connectionStrings连接SQL Server数据库

要使用connectionStrings连接SQL Server数据库,您需要在应用程序的配置文件中添加一个connectionStrings节点,并在其中提供连接字符串。以下是一个示例配置文件的connectionStrings节点:``
2023-08-22

SQL Server 连接数据库报错 (ObjectExplorer)

报错信息    无法访问数据库 ReportServer。 (ObjectExplorer)  具体错误信息:程序位置:在 Microsoft.SqlServer.Management.UI.VSIntegration.ObjectExplorer.Datab
SQL Server 连接数据库报错 (ObjectExplorer)
2019-08-10

sqlplus如何连接远程数据库

要连接到远程数据库,可以使用以下命令在sqlplus中输入:sqlplus username/password@hostname:port/servicename其中:username是数据库用户名password是数据库密码host
sqlplus如何连接远程数据库
2024-04-09

oracle如何远程连接数据库

要远程连接到Oracle数据库,可以使用以下步骤:安装Oracle客户端:首先需要在本地计算机上安装Oracle客户端工具,例如SQL*Plus或SQL Developer。配置网络连接:在Oracle服务器上配置监听器以便允许远程连接。通
oracle如何远程连接数据库
2024-04-18

编程热搜

目录