shell如何跨服务器执行数据库查询

shell如何跨服务器执行数据库查询,第1张

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_rsapub

The

key

fingerprint

is:

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

oracle@linux1

第一步:确认你的服务器是运行的。在企业管理器中看到服务器处如果有个绿色的小三角形,表示运行成功;如果是红色方块,则未成功,如果无法用“启动”连接成功,你需要对着服务器名称点鼠标右键,选择“新建SQL SERVER注册”,然后在弹出的向导对话框中选择“下一步”,然后在出现的“可用的服务器”中选择一个已有的服务器,点“添加”,然后点“下一步”,选择使用“Windows身份验证登录”,然后一路默认点下去,最后完成,就可以启动你的服务器了。 第二步:启动成功后在企业管理器里面的服务器上右键,选属性,在“安全性”中选择验证方式为“SQL SERVER和WINDOWS”,确定。 第三步:打开查询分析器后如果还没有自动连接成功,在连接登录框上选中“如果SQL SERVER已停止,则启动它”,然后选择一个可用服务器(在上面的下拉框右下角的省略号处点击,等一会儿就行)。然后你可以选择用系统验证登录还是用SQL SERVER验证登录,后者需要你有自己的帐号和密码(可以在企业管理器的“安全性”——>“登录”中新建帐号。如果只是为了练习SQL语句,那么推荐使用系统验证,这样方便些

是你的用户权限所致。如果你用SA登录,查询本服务器里的数据库是不用加DBO的。 另 如果你做跨服务器查询时就要用到DBO。 如 select from sf11raybendbotable1 两个特殊数据库用户: dbo,数据库的拥有者,在安装sqlserver时,被设置到model数据库中,不能被删除,所以dbo在每个数据库中都存在。dbo是数据库的最高权力者,对应于创建该数据库的登陆用户,即所有的数据库的dbo都对应于sa帐户; guest,这个用户可以使任何已经登陆到sqlserver服务器的用户都可以访问数据库,即使它还没有成为本数据库的用户。所有的系统数据库除model以外都有guest用户。所有新建的数据库都没有这个用户,如果有必要添加guest用户,请用sp_grantdbaccess来明确建立这个用户。

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

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

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

3、升级硬件。

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

5、提高网速。

确定网速没问题的话,用的又是存储过程,服务器要处理rollback,log之类的操作会变慢,但是不至于慢这么多,你检查一下防火墙和杀毒软件,把他们关了看看会不会变快。能想到的就这么多了。刚刚给你查了下,禁用DNS解析,连接速度会快很多。不妨试一下,如果还慢的话,建议用缓存吧,比如hibernate框架

1、链接服务器,此种方式较为安全。验证是数据库级别的验证。

2、使用域环境+足够权限的SQL用户权限,就可以访问。

3、使用证书验证(非域环境),配置较以上两种方式复杂。

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » shell如何跨服务器执行数据库查询

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情