SqlServer 2008 데이터베이스 동기 화 에 대한 두 가지 방식(Sql JOB)에 대한 분석 소개

다음은 데이터베이스 동기 화의 두 가지 방식 을 소개 한다.
1.SQL JOB 방식 
sql Job 의 방식 으로 데이터 베 이 스 를 동기 화 하 는 것 은 SQL 문 구 를 통 해 데이터 원본 의 데 이 터 를 대상 데이터 베이스 에 동기 화 하 는 것 입 니 다.SQL 을 통 해 데이터베이스 간 동기 화 작업 을 유연 하 게 할 수 있 는 것 이 특징 이다.제 정 된 시간 에 미 션 계획 으로 자동 으로 수행 할 수 있 습 니 다.단점 은 SQL 을 써 서 조작 해 야 한 다 는 것 이다.데이터베이스 간 의 동기 화 는 데이터베이스 간 의 연결 과 관련된다.연결 을 만 드 는 것 은 동기 화의 첫걸음 이다.SQL Server 구축 연결 은 시스템 저장 과정 을 통 해 구축 할 수 있 습 니 다.[다른 방법 이 있 는 지 잘 모 르 겠 습 니 다]저장 과정 은 다음 과 같은 몇 가지 가 있 습 니 다:spdroplinkedsrvlogin、sp_dropserver、sp_addlinkedserver、sp_addlinkedsrvlogin。앞의 두 개 는 데이터베이스 간 의 연결 을 삭제 한 것 이 고,뒤의 두 개 는 데이터베이스 간 의 연결 을 구축 한 것 이다.
    연결 저장 프로시저 매개 변 수 를 삭제 하 는 방법 은 다음 과 같 습 니 다.
a)sp_droplinkedsrvlogin
문법sp_addlinkedsrvlogin [ @rmtsrvname = ] 'rmtsrvname'     [ , [ @useself = ] 'useself' ]     [ , [ @locallogin = ] 'locallogin' ]     [ , [ @rmtuser = ] 'rmtuser' ]     [ , [ @rmtpassword = ] 'rmtpassword' ]매개 변수
[@rmtsrvname =] 'rmtsrvname'
로그 인 맵 을 사용 하 는 링크 서버 이름 입 니 다.rmtsrvname 의 데이터 형식 은 sysname 이 며 기본 설정 이 없습니다.
[@useself =] 'useself'
원 격 서버 에 연결 할 로그 인 이름 을 결정 합 니 다.useself 의 데이터 형식 은 varchar(8)이 고 기본 값 은 TRUE 입 니 다.true 값 은 SQL Server 에서 검증 한 로그 인 을 지정 합 니 다.rmtsrvname 에 연결 하기 위해 자신의 증 거 를 사용 하고 rmtuser 와 rmtpassword 인 자 를 무시 합 니 다.false 값 은 rmtuser 와 rmtpassword 인 자 를 지정 하여 특정 localogin 의 rmtsrvname 에 연결 합 니 다.rmtuser 와 rmtpassword 도 NULL 로 설정 되면 링크 서버 에 연결 할 때 로그 인 이나 비밀 번 호 를 사용 하지 않 아 도 됩 니 다.Windows NT 인증 로그 인 에 있어 서 useself 가 true 이면 Microsoft Windows NT 를 제외 하고 유효 하지 않 습 니 다.® 환경 은 보안 계 정 의뢰 를 지원 하고 윈도 인증 을 지원 합 니 다.(이 때 는 값 이 true 인 맵 을 만 들 필요 가 없 지만 생 성 은 유효 합 니 다.)
[ @locallogin =] 'locallogin'
로 컬 서버 의 로그 인.localogin 의 데이터 형식 은 sysname 이 고 기본 값 은 NULL 입 니 다.NULL 값 지정 이 항목 은 rmtsrvname 에 연 결 된 모든 로 컬 로그 인 에 적 용 됩 니 다.값 이 NULL 이 아니라면 localogin 은 SQL Server 로그 인 이나 Windows NT 사용자 일 수 있 습 니 다.Windows NT 사용자 에 게 SQL Server 에 직접 접근 하거나 접근 권한 이 부 여 된 그룹의 구성원 으로 SQL Server 에 접근 할 수 있 는 권한 을 부여 해 야 합 니 다.
[@rmtuser =] 'rmtuser'
useself 가 false 일 때 rmtsrvname 을 연결 하 는 사용자 이름 입 니 다.rmtuser 의 데이터 형식 은 sysname 이 고 기본 값 은 NULL 입 니 다.
[@rmtpassword =] 'rmtpassword'
rmtuser 와 관련 된 비밀번호 입 니 다.rmtpassword 의 데이터 형식 은 sysname 이 고 기본 값 은 NULL 입 니 다.
코드 값 되 돌리 기
0(성공)또는 1(실패)
설명:
사용자 가 로 컬 서버 에 로그 인하 고 분포 식 조 회 를 실행 하여 링크 서버 의 표 에 접근 할 때 로 컬 서버 는 링크 서버 에 로그 인하 여 이 사용자 가 이 표 에 접근 하 는 것 을 대표 해 야 합 니 다.sp 사용addlinkedsrvlogin 은 로 컬 서버 로그 인 링크 서버 의 로그 인 증 거 를 지정 합 니 다.
로 컬 서버 의 모든 로그 인과 링크 서버 의 원 격 로그 인 사이 의 기본 맵 은 sp 를 실행 합 니 다.addlinkedserver 자동 생 성.기본 맵 은 링크 서버 대표 의 로그 인 에 연결 할 때 SQL Server 가 로 컬 로그 인 사용자 증명 서 를 사용 합 니 다(링크 서버 의@useself 를 true 로 설정 할 때 sp 를 실행 하 는 것 과 같 습 니 다.addlinkedsrvlogin)。sp 사용addlinkedsrvlogin 은 특정 로 컬 서버 의 기본 맵 을 변경 하거나 새 맵 을 추가 할 수 있 습 니 다.기본 맵 이나 다른 맵 을 삭제 하려 면 sp 를 사용 하 십시오.droplinkedsrvlogin。
다음 조건 이 존재 할 때 SQL Server 는 sp 를 사용 해 야 하 는 것 이 아니 라 검색 중인 사용자 의 Windows NT 안전 증명서(Windows NT 사용자 이름과 비밀번호)를 자동 으로 사용 하여 링크 서버 에 연결 할 수 있 습 니 다.addlinkedsrvlogin 에서 미리 설 정 된 로그 인 맵 을 만 듭 니 다.
  사용법 예시:
EXEC sp_droplinkedsrvlogin 'DBLink',Null
b)sp_dropserver
로 컬 Microsoft® SQL Server™ 위 에 알려 진 원 격 및 링크 서버 목록 에서 서버 를 삭제 합 니 다.
문법
sp_dropserver [ @server = ] 'server'
    [ , [ @droplogins = ] { 'droplogins' | NULL} ]
매개 변수
[@server =] 'server'
삭 제 될 서버 입 니 다.server 의 데이터 형식 은 sysname 이 며 기본 값 이 없습니다.서버 가 이미 존재 해 야 합 니 다.
[@droplogins =] 'droplogins' | NULL
droplogins 가 지정 되면 server 와 관련 된 원 격 및 링크 서버 로그 인 도 삭 제 됩 니 다.@droplogins 의 데이터 형식 은 char(10)이 고 기본 값 NULL 이 있 습 니 다.
코드 값 되 돌리 기
0(성공)또는 1(실패)
주석
서버 에 원 격 및 링크 서버 로그 인 항목 이 있 으 면 이 서버 에서 sp 를 실행 합 니 다.dropserver 시 오류 메시지 가 발생 할 수 있 습 니 다.이 메 시 지 는 원 격 또는 링크 서버 를 삭제 하기 전에 관련 로그 인 을 삭제 해 야 합 니 다.서버 를 삭제 할 때 서버 의 모든 원 격 및 링크 서버 로그 인 을 삭제 하기 위해 droplogins 인 자 를 사용 하 십시오.
사용자 정의 트 랜 잭 션 에서 sp 를 실행 할 수 없습니다.dropserver。
권한
sysadmin 또는 setupadmin 고정 서버 역할 의 구성원 만 sp 를 수행 할 수 있 습 니 다.dropserver。
사용법 예시:
EXEC sp_dropserver 'DBLink'
    연결 저장 프로 세 스 매개 변 수 를 만 드 는 방법 은 다음 과 같 습 니 다.
a)sp_addlinkedserver
OLE DB 데이터 원본 에 대한 다양한 종류의 조회 에 접근 할 수 있 도록 링크 서버 를 만 듭 니 다.sp 사용 중addlinkedserver 가 링크 된 서버 를 만 든 후에 이 서버 는 분포 식 조 회 를 실행 할 수 있 습 니 다.링크 서버 가 Microsoft 로 정의 되면® SQL Server™,원 격 저장 프로 세 스 를 실행 할 수 있 습 니 다.
문법sp_addlinkedserver [ @server = ] 'server'     [ , [ @srvproduct = ] 'product_name' ]     [ , [ @provider = ] 'provider_name' ]     [ , [ @datasrc = ] 'data_source' ]     [ , [ @location = ] 'location' ]     [ , [ @provstr = ] 'provider_string' ]     [ , [ @catalog = ] 'catalog' ]매개 변수
[ @server = ] 'server'
만 들 링크 서버 의 로 컬 이름 입 니 다.server 의 데이터 형식 은 sysname 이 고 기본 설정 이 없습니다.
SQL Server 인 스 턴 스 가 여러 개 있 으 면 server name\instancename 을 사용 할 수 있 습 니 다.이 링크 의 서버 는 다음 예제 의 데이터 원본 으로 인 용 될 수 있 습 니 다.
SELECT *FROM [servername\instancename.]pubs.dbo.authors. 
data 가 지정 되 지 않 으 면source,서버 는 이 인 스 턴 스 의 실제 이름 입 니 다.
[ @srvproduct = ] 'product_name'
서버 를 연결 하 는 OLE DB 데이터 원본 으로 추가 할 제품 이름 입 니 다.product_name 의 데이터 형식 은 nvarchar(128)이 고 기본 값 은 NULL 입 니 다.SQL Server 라면 provider 를 지정 할 필요 가 없습니다.name、data_source、location、provider_string 및 디 렉 터 리.
[ @provider = ] 'provider_name'
이 데이터 원본 에 대응 하 는 OLE DB 가 제공 하 는 프로그램의 유일한 프로그램 식별 자(PROGID)입 니 다.provider_name 현재 컴퓨터 에 설 치 된 OLE DB 공급 자 는 유일 해 야 합 니 다.provider_name 의 데이터 형식 은 nvarchar(128)이 고 기본 값 은 NULL 입 니 다.OLE DB 제공 자 는 주어진 PROGID 로 레 지 스 트 에 등록 해 야 합 니 다.
[ @datasrc = ] 'data_source'
OLE DB 에서 프로그램 이 설명 하 는 데이터 원본 이름 을 제공 합 니 다.data_source 의 데이터 형식 은 nvarchar(4000)이 고 기본 값 은 NULL 입 니 다.data_source 는 DBPROP 로 여 겨 집 니 다.INIT_OLE DB 공급 자 를 초기 화 할 수 있 도록 DATASOURCE 속성 전달.
연 결 된 서버 가 SQL Server OLE DB 공급 자 에 대한 프로그램 을 만 들 때 server name\\instancename 형식 으로 data 를 지정 할 수 있 습 니 다.source,특정 컴퓨터 에서 실행 되 는 SQL Server 의 특정 인 스 턴 스 에 연결 할 수 있 습 니 다.server name 은 SQL Server 를 실행 하 는 컴퓨터 이름 입 니 다.instancename 은 사용자 가 연결 할 특정 SQL Server 인 스 턴 스 의 이름 입 니 다.
[ @location = ] 'location'
OLE DB 는 프로그램 이 설명 하 는 데이터베이스 의 위 치 를 제공 합 니 다.location 의 데이터 형식 은 nvarchar(4000)이 고 기본 값 은 NULL 입 니 다.location 는 DBPROPINIT_OLE DB 공급 자 를 초기 화하 기 위해 LOCATION 속성 전달.
[ @provstr = ] 'provider_string'
OLE DB 는 프로그램의 특정한 연결 문자열 을 제공 합 니 다.유일한 데이터 원본 을 표시 할 수 있 습 니 다.provider_string 의 데이터 형식 은 nvarchar(4000)이 고 기본 값 은 NULL 입 니 다.Provstr 는 DBPROP 로INIT_OLE DB 제공 자 를 초기 화 할 수 있 도록 PROVideRSTRING 속성 전달.
서버 OLE DB 공급 자 에 게 링크 서버 를 제공 한 후 SERVER 키 워드 를 SERVER=server name\\instancename 으로 인 스 턴 스 를 지정 하여 특정한 SQL Server 인 스 턴 스 를 지정 할 수 있 습 니 다.server name 은 SQL Server 가 실행 중인 컴퓨터 이름 입 니 다.instancename 은 사용자 가 연 결 된 특정한 SQL Server 인 스 턴 스 이름 입 니 다.
[ @catalog = ] 'catalog'
OLE DB 가 제공 하 는 프로그램의 연결 을 만 들 때 사용 하 는 디 렉 터 리 입 니 다.catalog 의 데이터 형식 은 sysname 이 고 기본 값 은 NULL 입 니 다.catalog 는 DBPROP 로INIT_OLE DB 공급 자 를 초기 화하 기 위해 CATALOG 속성 전달.
코드 값 되 돌리 기
0(성공)또는 1(실패)
결과 집합
지정 한 인자 가 없 으 면 spaddlinkedserver 에서 이 메 시 지 를 되 돌려 줍 니 다:
Procedure 'sp_addlinkedserver' expects parameter '@server', which was not supplied.
적절 한 OLE DB 를 사용 하여 프로그램 과 인 자 를 제공 하 는 spaddlinkedserver 에서 이 메 시 지 를 되 돌려 줍 니 다:
Server added.

EXEC sp_addlinkedserver 'DBLink', ' ', 'SQLOLEDB', "10.0.222.12"


b)sp_addlinkedsrvlogin

Microsoft® SQL Server™ 。

sp_addlinkedsrvlogin [ @rmtsrvname = ] 'rmtsrvname'
    [ , [ @useself = ] 'useself' ]
    
[ , [ @locallogin = ] 'locallogin' ]

    [ , [ @rmtuser = ] 'rmtuser' ]
    
[ , [ @rmtpassword = ] 'rmtpassword' ]

[@rmtsrvname =] 'rmtsrvname'

rmtsrvname sysname, 。

[@useself =] 'useself'

useself varchar(8), TRUE。true SQL Server


 rmtsrvnamermtuser rmtpasswordfalse rmtuser rmtpassword locallogin rmtsrvname


rmtuser rmtpassword NULL, 。 Windows NT ,useself true


Microsoft Windows NT® , , Windows ( true , )。

[ @locallogin =] 'locallogin'

locallogin sysname, NULL。NULL rmtsrvname 。 NULL,


locallogin SQL Server Windows NT 。 Windows NT SQL Server


SQL Server 。


[@rmtuser =] 'rmtuser'


useself false rmtsrvname rmtuser sysname, NULL。


[@rmtpassword =] 'rmtpassword'


rmtuserrmtpassword sysname, NULL。

0( ) 1( )

, , , 。 sp_addlinkedsrvlogin


sp_addlinkedserver 。 ,SQL Server


@useself true sp_addlinkedsrvlogin)。 sp_addlinkedsrvlogin


。 , sp_droplinkedsrvlogin

,SQL Server Windows NT (Windows NT ), ,

sp_addlinkedsrvlogin

    Windows , SQL Server。



    Windows ( , Windows NT SQL Server)。

( SQL Server sp_addlinkedsrvlogin ) , ,


sp_addlinkedsrvlogin

sysadmin securityadmin sp_addlinkedsrvlogin

EXEC sp_addlinkedsrvlogin 'DBLink', 'false',null, 'ILM', '111111

, SQL JOB 。 。
a) 。 :

a、  。 :

b、  【 】 【 】 , SQL JOB 。

c、  [새 작업]대화 상자 의[절차]옵션 을 누 르 고 절차 이름 을 입력 하 십시오.


d、  작업 을 진행 하 는 첫 번 째 단계---데이터베이스 연결 작업 을 구축한다.다음 그림:


e、  숙제 의 다음 단 계 를 진행 하 다.다음 그림:
e.작업 수행 계획 설정

f.확인 을 클릭 하여 SQL JOB 의 개발 을 완성 합 니 다.
g.완성 후 작업 아래 에 방금 개발 한 작업 이 많아 집 니 다.다음 과 같다.

h.작업 이 완료 되면 바로 실행 할 수 있 습 니 다.만약 그것 을 실행 하지 못 하 게 한다 면,그것 도 정 해진 주파수 에 따라 집행 할 것 이다.테스트 작업:


좋은 웹페이지 즐겨찾기