sql数据库中跨不同数据库服务器的查询

sql数据库中跨不同数据库服务器的查询,第1张

--SQL Server跨服务器查询

--创建链接服务器(连接的保密要自己想办法解决啦!)

exec sp_addlinkedserver 'LKSV', ' ', 'SQLOLEDB', '远程服务器名或ip地址' 

exec sp_addlinkedsrvlogin 'LKSV', 'false ',null, '用户名', '密码'

--查询实例

select * from LKSV.数据库名.dbo.表名

跨服务器数据查询,服务器要处理rollback,log之类的操作,还是存储过程,会很慢。

可以这样解决1、把数据、日志、索引放到不同的I/O设备上,增加读取速度,以前可以将Tempdb应放在RAID0上,SQL2000不在支持。数据量(尺寸)越大,提高I/O越重要。

2、纵向、横向分割表,减少表的尺寸(sp_spaceuse)。

3、升级硬件。

4、根据查询条件,建立索引,优化索引、优化访问方式,限制结果集的数据量。注意填充因子要适当(最好是使用默认值0)。索引应该尽量小,使用字节数小的列建索引好(参照索引的创建),不要对有限的几个值的字段建单一索引如性别字段。

5、提高网速。

1、使用ssh-keygen生成密钥实现快速登陆

[python]

view

plain

copy

要跨服务器自动执行脚本,得需要实现免密码自动登陆,然后才能在多个服务器之间跳转,因此我们首先需要生成登陆密钥。

生存登陆密钥需要三个步骤,在本地机器创建密钥,复制公钥要远程主机,将公钥追加到远程主机的authorized_keys

下面是一个操作示例:

oracle@linux1:~>

mkdir

~/.ssh

#首先在本地创建.ssh目录并赋予权限

oracle@linux1:~>

chmod

700

~/.ssh

oracle@linux1:~>

ssh-keygen

-t

rsa

#使用ssh-keygen生成密钥对,也可以使用dsa方式

Generating

public/private

rsa

key

pair.

Enter

file

in

which

to

save

the

key

(/users/oracle/.ssh/id_rsa):

Enter

passphrase

(empty

for

no

passphrase):

Enter

same

passphrase

again:

Your

identification

has

been

saved

in

/users/oracle/.ssh/id_rsa.

Your

public

key

has

been

saved

in

/users/oracle/.ssh/id_rsa.pub.

The

key

fingerprint

is:

01:c8:48:01:f2:3d:a7:b4:cd:4a:9c:10:2d:ba:ef:4e

oracle@linux1


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/117287.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-03-13
下一篇2023-03-13

发表评论

登录后才能评论

评论列表(0条)

    保存