一淘模板给人人带来了对于于SQL的相干知识,其中主要介绍了SQLServer跨效劳器操纵数据库的图文方法,SQLServerManagementStudio(SSMS)是用于治理SQLServer基础构造的集成情况,下面一起来看一下,希望对于人人有帮助。
以SQLServer的数据库治理工具SSMS(SQLServerManagementStudio)为平台停止操纵。
SQLServerManagementStudio(SSMS)是用于治理SQLServer基础构造的集成情况。应用SSMS,能够访问、配置、治理以及开辟SQLServer、AzureSQL数据库以及SQL数据堆栈的所有组件。SSMS在一个综合实用工具中会集了少量图形工具以及丰富的剧本编纂器,为各种技能水平的开辟者以及数据库治理员供应答SQLServer的访问权限。
甚么是跨效劳器操纵?
跨效劳器操纵便是能够在内陆连接到短途效劳器上的数据库,能够在对于方的数据库上停止相干的数据库操纵,比如增点窜查。
为甚么要停止跨效劳器操纵
随着数据量的增加,营业量的扩年夜,需要在分比方的效劳器布置分比方的数据库,偶然刻因为营业需要,将分比方的效劳器中的数据停止整合,这时刻就需要停止跨效劳器操纵了。
跨效劳器操纵的工具是甚么?
DBLINK(数据库链接),顾名思义便是数据库的链接,就像电话线同样,是一个通道,当咱们要跨内陆数据库,访问另一个数据库表中的数据时,内陆数据库中就必须要建立短途数据库的dblink,通过dblink内陆数据库能够像访问内陆数据库同样访问短途数据库表中的数据。
1.关上SSMS-->登录到内陆数据库-->效劳器工具-->链接效劳器(右键)-->新建链接效劳器,下列图:
2.在弹出的对于话框中输入相干信息
●在【链接效劳器】输入对于方效劳器的IP所在;
●在【效劳器范例】中抉择【SQLServer】;
3.点击左边的【平安性】,浮现下列页面,在第3步中输入对于方数据库的账号明码就可。
点击肯定按钮后,链接效劳器(LinkedServer)就建立胜利了。这时能够看到建立好的链接效劳器:
检察链接效劳器的代码:在建立好的链接效劳器上点右键,编写链接效劳器剧本为-->Create到-->新盘问编纂器窗口,就可关上方才建立的链接效劳器的剧本。
--链接效劳器(LinkedServer)建立实现后会主动天生相干代码——链接到短途SQLServer数据库:
细致:这里有一个弊端,那便是链接的是全部短途SqlServer中的所稀有据库(失常只要要一个特定的数据库),而且链接效劳器的名称是个IP且无奈自界说!以是,最佳的形式照样通过代码间接建立链接数据库(见“三、代码详解”)。
链接效劳器(LinkedServer)就建立胜利后,咱们就能够用建立好的DBLINK链接到短途的Linked效劳器了。下面咱们用建立好的试着盘问对于方效劳器上的表来考证一下。
--盘问链接效劳器(LinkedServer)中数据的方法:[DBLINK名].[对于方数据库名].[对于方数据库下形式名].[对于方数据库表名]
下面FROM字段前面依此是[DBLINK名].[对于方数据库名].[对于方数据库下形式名].[对于方数据库表名],表名前面的这些内容一个都不能少。
盘问效果下列图:
1.【通例】抉择页:
2.【平安性】抉择页:
自界说链接数据库到SQLServer【新建链接效劳器】对于话框中需输入的相干信息说明:
1.【通例】页
●在【链接效劳器】中,输入自界说的链接效劳器别名,如:DBLINK_TO_TESTDB
●在【效劳器范例】中抉择【其余数据源】;
▶[供应程序]中抉择第一个MicrosoftOLEDBProviderforSQLServer
▶[产物名称]中,能够空缺不填,也能够填写SQLServer{细致供应程序是OLEDBProviderforSQLServer时产物名称这里必须为空缺!}
▶[数据源]中短途数据库的所在,端口\实例名,如10.10.0.73,1433\MSSQLSERVER
▶[访问接口字符串]中,能够空着不填;也能够填下方的:(细致######是明码,请换老自身的明码)
Provider=sqloledb;Data Source=10.10.0.73,1433\MSSQLSERVER;Initial Catalog=TESTDB;User Id=apps;Password=#####;
▶[目录]便是数据库名称,这里填上咱们需要短途连上的数据库TESTDB(能够换老自身实践的)。
2.【平安性】页
●抉择【应用此平安高低文建设连接(M)】
▶[短途登录]:短途数据库的连接账号
▶[应用明码]:短途数据库连接账号的明码
--链接效劳器(LinkedServer)建立实现后会主动天生相干代码——链接到短途的SQLServer数据库(自界说):
EXEC master.dbo.sp_addlinkedserver @server = N'DBLINK_TO_TESTDB',@srvproduct=N'',@provider=N'SQLNCLI', @datasrc=N'10.10.0.73';EXEC master.dbo.sp_addlinkedsrvlogin@rmtsrvname=N'DBLINK_TO_TESTDB',@useself=N'False',@locallogin=NULL,@rmtuser=N'apps',@rmtpassword='########'; /****** 实践例子 系统天生的Object: LinkedServer [DBLINK_TO_TESTDB] ******/ USE [master] GO EXEC master.dbo.sp_addlinkedserver @server = N'DBLINK_TO_TESTDB', @srvproduct=N'', @provider=N'SQLNCLI', @datasrc=N'10.10.0.73,1433\MSSQLSERVER', @catalog=N'TESTDB' /*For security reasons the linked server remote logins password is changed with ########*/ EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname=N'TEST',@useself=N'False',@locallogin=NULL,@rmtuser=N'apps',@rmtpassword='########'
其余形式:供应程序换成其余的,如本机SQLServerNativeClient11.0(SQLServerNativeClient11.0不反对于连接到SQLServer2000或者更早的版本)等
A.SSMS链接到短途SQLServer数据库
(内陆SQLServer数据库链接效劳器(LinkedServer)到短途SQLServer数据库。)
--LinkedServer链接到短途SQLServer数据库:
--1.申明将要链接的‘链接名称(自界说)’,短途数据库产物名(或者别名),(供应商,数据库效劳器所在及实例名)
EXEC master.dbo.sp_addlinkedserver @server = N'DBLINK_TO_TESTDB',@srvproduct=N'SQL Server';
--2.申明‘链接名称(自界说)’,@useself=N'False',@locallogin=NULL,将要链接的数据库效劳器的账号以及明码
EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname=N'192.168.110.189',@useself=N'False',@locallogin=NULL,@rmtuser=N'sa',@rmtpassword='########';
B.SSMS链接到短途非SQLServer数据库
(内陆SQLServer数据库链接效劳器(LinkedServer)到短途非SQLServer的数据库。如短途的MySQL、Oracle等数据库。)
--链接到短途的非SQLServerd数据库(如链接到短途MySQL、Oracle等数据库):
--1.申明‘自界说的链接名称’,短途数据库产物名(或者别名),供应商,数据库效劳器所在及实例名
EXEC master.dbo.sp_addlinkedserver @server = N'TEST_SQL_SERVER',@srvproduct=N'TEST',@provider=N'SQLNCLI11', @datasrc=N'192.168.110.189';-
-2.申明登录信息‘自界说的链接名称’,@useself=N'False',@locallogin=NULL,短途数据库的账号以及明码
EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname=N'TEST_SQL_SERVER',@useself=N'False',@locallogin=NULL,@rmtuser=N'sa',@rmtpassword='########';
实践例子-SQLServer通过Linkserver连接MySql
--通过SSMS链接到短途MySql数据库(SQLServer连接MySql)--应用的访问接口为:MySqlProviderforOLEDB--
EXEC master.dbo.sp_addlinkedserver @server = N'DBLINK_TO_MysqlTESTDB', @srvproduct = N'MySql', @provider = N'MSDASQL', @provstr = N'Driver={MySQL ODBC 5.1 Driver};Server=10.167.69.6,3306/sytv;Database=TESTDB;User=root;Password=root;Option=3';-- EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname = N'DBLINK_TO_MysqlTESTDB', @useself = N'False', @locallogin = N'10.167.69.6,3306/sytv', @rmtuser = N'root', @rmtpassword = N'root';
实践例子-SQLServer通过Linkserver连接Oracle
--通过SSMS链接到短途Oracle数据库(SQLServer连接Oracle)
--应用的访问接口为:OracleProviderforOLEDB
USE [master] GO --Declare Oracle OLEDB 'OraOLEDB.Oracle': EXEC master.dbo.sp_MSset_oledb_prop N'OraOLEDB.Oracle', N'AllowInProcess', 1;--Create the Linked Server to the ECT database in Oracle: EXEC sp_addlinkedserver 'DBLINK_TO_OraTESTDB', 'Oracle', 'OraOLEDB.Oracle', '10.167.69.6/prt';--EXEC master.dbo.sp_addlinkedserver @server = N'DBLINK_TO_OraTESTDB', @srvproduct=N'oracle', @provider=N'OraOLEDB.Oracle', @datasrc=N'10.167.69.6/orcl' --Create the Remote Login for the Oracle Linked Server: EXEC sp_addlinkedsrvlogin @rmtsrvname=N'DBLINK_TO_OraTESTDB',@useself=N'False',@locallogin=N'apps',@rmtuser=N'SYSTEM',@rmtpassword='######';--最后能够测试一下是否连接胜利 --select * from openquery(DBLINK_TO_OraTESTDB,'select * from SYSTEM.HELP');
本文链接:https://addon.ciliseo.com/sql-server-kua-fu-wu-qi-cao-zuo-shu-ju-ku-de-tu-wen-fang-fa.html
网友评论
DigitalMagician
回复SQLServer跨服务器操作数据库,简便快捷图文全指导!