【发布时间】:2016-04-20 04:40:55
【问题描述】:
我们在一台服务器上有基础数据库,在另一台服务器上有其他数据库,我们需要连接到它。
如何将它们与存储过程联系起来?
CREATE PROCEDURE link_sv
@UserName nvarchar(max)='',
@Password nvarchar(max)='',
@Server nvarchar(max)='',
@DataBase nvarchar(max)=''
AS
BEGIN
-- how do it
-- select [dbo].tbl1.*,@Server.@DataBase.tblUsers.Name from [dbo].tbl1 inner join @Server.@DataBase.tblUsers on [dbo].tbl1.ID=@Server.@DataBase.tblUsers.ID
END
GO
这个程序怎么写?
我用它:
SELECT a.*
FROM OPENROWSET('SQLOLEDB','Data Source=hodb01; UID=MyLogin; PWD=MyPassowrd', 'select top 1 * from HQPMMPRD.dbo.item_master') AS a
但是 SQL Server 阻止了对语句的访问
'OpenRowset/OpenDatasource'。作为此服务器安全配置的一部分,此组件已关闭。
我在主机服务器中的数据库。我无法访问和更改安全配置。
【问题讨论】:
-
您需要创建一个链接服务器。 msdn.microsoft.com/en-us/library/ff772782.aspx
-
此链接添加服务器方便。我想添加服务器不方便并且身份验证不同。
标签: sql sql-server stored-procedures