none
如何用SQL语句来连接不同台数据库服务器? RRS feed

  • 问题

  • 如何用SQL语句来连接不同台数据库服务器?                                
    我想在某台机器上写个存储过程,用来统计那些数据库服务器上数据库的大小及备份文件大小.
    1.首先,我如何用SQL语句来连接不同台数据库服务器?(就相当于在查询分析器中连接服务器的操作用语句来实现)
    2.连接上后,如何用SQL语句查询出磁盘上某路径下该数据库的备份文件大小?并把结果插入表.
    3.用SQL语句查询出该磁盘的可用空间,我知道用Exec master.dbo.xp_fixeddrives,但不知道如何把结果插入一张表?

    知道的高手帮忙解答一下吧,谢谢!!!
    2007年8月15日 8:52

答案

  • 1.首先,我如何用SQL语句来连接不同台数据库服务器?(就相当于在查询分析器中连接服务器的操作用语句来实现)
    sp_addlinkedserver 'lnksvr','','sqloledb','192.168.18.33'
    exec sp_addlinkedsrvlogin 'lnksvr',false,null,'sa','密码'
    2.连接上后,如何用SQL语句查询出磁盘上某路径下该数据库的备份文件大小?并把结果插入表.
    create table #t(col varchar(400))
    insert #t exec [lnksvr].master..xp_cmdshell 'dir c:\a.txt' --这里换成实际的文件名和路径
    select * from #t

    3.用SQL语句查询出该磁盘的可用空间,我知道用Exec master.dbo.xp_fixeddrives,但不知道如何把结果插入一张表?
    create table #t(drive varchar(10),可用空间 float)
    insert into #t Exec master.dbo.xp_fixeddrives
    select * from #t
    2007年8月15日 8:55