Sql Server 2008
인스턴스에 데이터베이스에 프로 시저를 저장했습니다.Sql Server 2008에서 다른 버전의 SQL Server 인스턴스에 연결하는 방법 저장 프로 시저
UserName
및 Password
으로 Sql Server 2005
데이터베이스에 연결하고 일부 데이터를 테이블에 삽입하는 저장 프로 시저가 있습니다.
어떻게 할 수 있습니까?
감사합니다.
Sql Server 2008
인스턴스에 데이터베이스에 프로 시저를 저장했습니다.Sql Server 2008에서 다른 버전의 SQL Server 인스턴스에 연결하는 방법 저장 프로 시저
UserName
및 Password
으로 Sql Server 2005
데이터베이스에 연결하고 일부 데이터를 테이블에 삽입하는 저장 프로 시저가 있습니다.
어떻게 할 수 있습니까?
감사합니다.
연결된 서버를 만듭니다. 저장 프로 시저의 컨텍스트에서는이 작업을 수행 할 수 없습니다. 그러나 저장 프로 시저에서 로그인 자격 증명을 설정할 수 있습니다. 아래 예제에서는 연결된 서버의 이름이 OTHERSERVER라고 가정합니다. 이렇게하면 새 연결에 대한 사용자 이름과 암호를 전달하고 저장 프로 시저를 호출 할 수 있습니다.
create procedure NewTestProc (
@I int,
@userName sysname,
@password sysname
)
as
begin
declare @locallogin sysname
set @locallogin = SUSER_NAME()
EXEC master.dbo.sp_addlinkedsrvlogin
@rmtsrvname=N'OTHERSERVER', @useself=N'False',
@[email protected],@[email protected],
@[email protected]
EXEC OTHERSERVER.DestinationDatabase.dbo.StoredProcInOtherDatabase
@OtherParameter = @i
EXEC master.dbo.sp_droplinkedsrvlogin
@rmtsrvname=N'OTHERSERVER',@[email protected]
end
저장 프로 시저를 호출하려면 당신은 또한 연결된 서버
EXEC master.dbo.sp_serveroption @server=N'OTHERSERVER',
@optname=N'rpc', @optvalue=N'true'
을 위해 RPC를 활성화해야
링크 된 서버를 만듭니다. SSMS에서 "서버 개체"-> "연결된 서버"로 이동하여 사용할 보안 컨텍스트를 제공하는 Sql2005 인스턴스에 대한 새 연결된 서버를 만듭니다. 그런 다음 SP에서 Sql2005 테이블을 다음과 같이 참조하십시오. [연결된 서버 이름]. [데이터베이스 이름]. [스키마 이름]. [테이블 이름]