스토어드 프로 시저의 구문 오류

사용자 1666952

환경 : SQL Server 2008 R2.

다음은 데이터베이스에서 테이블 세트의 데이터를 동일한 스키마를 가진 다른 데이터베이스로 복사하기 위해 APP에서 호출하는 저장 프로 시저입니다. 데이터를 복사하지 않는 것 같습니다. 쿼리 분석기에서 수동으로 실행하려고 할 때.

exec dbo.sp_Copy_DB_Subset_Tables ('Server1\Instance','MainDB','Server1\Instance','MiniDB')

하지만 실행할 때이 오류가 발생합니다.

메시지 102, 수준 15, 상태 1, 줄 1
'Server1 \ Instance'근처에 잘못된 구문이 있습니다.

여기에 저장 프로 시저가 있습니다. 어떻게 오류가 발생하는지 알 수 없습니다. 데이터베이스는 동일한 서버에 있습니다. 왜 오류가 발생합니까?

CREATE  PROCEDURE [dbo].[sp_Copy_MYDB_Subset_Tables](
    @vSourceServer      varchar(255)
    ,@vSourceDatabase   varchar(255) = 'MYDB'
    ,@vDestinationServer    varchar(255)
    ,@vDestinationDatabase  varchar(255) = 'MYDB'
    ,@vIsServerOnDomain     BIT = 1 --
    ,@TargetDBUserName  varchar(255) = ''
    ,@TargetDBPassword  varchar(255) = ''
    )  
AS
BEGIN 
    Declare 
    @vSourceTable   varchar(255)
    ,@vSourceSelectQuery    varchar(255)
    ,@vDestinationTable     varchar(255)
    ,@vReturn               int 
    ,@vReturnMessage        varchar(max) 
    ,@vPeriodtoArchive      int
    ,@ColumnMappings        varchar(4000)


BEGIN TRY
    if (@vSourceServer is null or @vSourceServer = '')
        set @vSourceServer = @@servername

    if object_id('tempdb..#TempTableCopyList') is not null
        drop table #TempTableCopyList

    Create Table #TempTableCopyList
    (
        id [int] NOT NULL  primary key clustered
        ,TableName      varchar(100)
        ,ColumnMappings varchar(4000)
        ,DateCopied     datetime
    )

    insert into #TempTableCopyList
        Select id, TableName, ColumnMappings, DateCopied
        from dbo.fn_Get_MYDB_Subset_TableList()

    declare c cursor for 
    Select TableName, ColumnMappings 
        from #TempTableCopyList
           order by id desc
    open c

    fetch next from c into @vSourceTable, @ColumnMappings

    While @@fetch_status = 0 
    BEGIN
       print 'Start Copying table: ' + @vSourceTable + ' at ' + convert(varchar(30),getdate(),120)

       Set @vSourceSelectQuery = 'Select * from ' + @vSourceTable + ' with (nolock) '

       IF @vIsServerOnDomain = 0
        BEGIN
                exec master.dbo.usp_BulkCopy 
                     @vSourceServer
                    ,@vSourceDatabase
                    ,@vSourceSelectQuery
                    ,@vDestinationServer
                    ,@vDestinationDatabase
                    ,@vSourceTable
                    ,1
                    ,1
                    ,true
                    ,false
                    ,''
                    ,''
                    ,@TargetDBUserName  
                    ,@TargetDBPassword
                    ,@ColumnMappings
        END
        ELSE BEGIN

                exec master.dbo.usp_BulkCopy 
                     @vSourceServer
                    ,@vSourceDatabase
                    ,@vSourceSelectQuery
                    ,@vDestinationServer
                    ,@vDestinationDatabase
                    ,@vSourceTable
                    ,1
                    ,1
                    ,true
                    ,true
                    ,''
                    ,''
                    ,''
                    ,''
                    ,@ColumnMappings
        END
                UPDATE #TempTableCopyList
                    set DateCopied = GETDATE()
                WHERE TableName = @vSourceTable




        fetch next from c into @vSourceTable, @ColumnMappings

    END

    close c
    deallocate c
END TRY
BEGIN CATCH
    close c
    deallocate c
    DECLARE @ErrorMessage VARCHAR(MAX)
    SET @ErrorMessage = error_message()
    print @vSourceTable + '; '+ @vSourceServer+ '; '+  @vSourceDatabase+ '; '+ @vDestinationServer+ '; '+ @vDestinationDatabase+ '; '+ @vDestinationTable
    Print @ErrorMessage
    RAISERROR (@ErrorMessage, 0, 1)
END CATCH

    --INFORMATIONAL
    SELECT * FROM #TempTableCopyList

    drop table #TempTableCopyList

   return 
END
스티브 티게
exec dbo.sp_Copy_DB_Subset_Tables 'Server1\Instance','MainDB','Server1\Instance','MiniDB'

괄호없이 사용해 보시겠습니까?

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

DB2 스토어드 프로 시저가 구문 오류를 제공함

SQL 코드, 로그인 저장 프로 시저의 구문 오류

저장 프로 시저를 만드는 MySQL 구문 오류

저장 프로 시저 구문 오류

SQL Server 저장 프로 시저의 구문 오류 이스케이프 문자열

SQL 스토어드 프로 시저 형식화 오류

저장 프로 시저의 MySQL 구문 오류 디버깅

MySQL의 저장 프로 시저 구문 오류

저장 프로 시저의 MySQL 구문 오류

MySQL 저장 프로 시저 케이스 문 구문 오류-계속

heidiSQL을 사용하여 스토어드 프로 시저 작성시 오류

프로세스 대체시 "예기치 않은 토큰`( '근처의 구문 오류"오류

db2 스토어 프로 시저의 휴면 시간 구문

MySQL / MariaDB 저장 프로 시저 구문 오류 문제 해결

스토어드 프로 시저에서 싱글 톤 오류 해결

워크 벤치에서 스토어드 프로 시저 실행 오류

PostgreSQL 저장 프로시저의 "DECLARE" 또는 그 부근에서 구문 오류

SQL Server 저장 프로 시저 실행시 구문 오류

MySQL 서버 저장 프로 시저 구문 오류

TSQL 저장 프로 시저 구문 오류

저장 프로시저 생성 중 MySQL 구문 오류

PHPmyadmin 저장 프로시저 구문 오류 if else

Alembic을 사용한 저장 프로 시저 : MySQL 구문 오류

저장 프로 시저 생성-구문 오류

else 구문 오류 인 경우 저장 프로 시저

MySql 저장 프로 시저 매개 변수-구문 오류

MySQL 저장 프로 시저 구문 오류

MySQL 저장 프로 시저 구문 오류

값에 대한 SQL Server 저장 프로 시저 구문 오류

TOP 리스트

  1. 1

    Ionic 2 로더가 적시에 표시되지 않음

  2. 2

    JSoup javax.net.ssl.SSLHandshakeException : <url>과 일치하는 주체 대체 DNS 이름이 없습니다.

  3. 3

    std :: regex의 일관성없는 동작

  4. 4

    Xcode10 유효성 검사 : 이미지에 투명성이 없지만 여전히 수락되지 않습니까?

  5. 5

    java.lang.UnsatisfiedLinkError : 지정된 모듈을 찾을 수 없습니다

  6. 6

    rclone으로 원격 디렉토리의 모든 파일을 삭제하는 방법은 무엇입니까?

  7. 7

    상황에 맞는 메뉴 색상

  8. 8

    SMTPException : 전송 연결에서 데이터를 읽을 수 없음 : net_io_connectionclosed

  9. 9

    정점 셰이더에서 카메라에서 개체까지의 XY 거리

  10. 10

    Windows cmd를 통해 Anaconda 환경에서 Python 스크립트 실행

  11. 11

    다음 컨트롤이 추가되었지만 사용할 수 없습니다.

  12. 12

    C #에서 'System.DBNull'형식의 개체를 'System.String'형식으로 캐스팅 할 수 없습니다.

  13. 13

    JNDI를 사용하여 Spring Boot에서 다중 데이터 소스 구성

  14. 14

    Cassandra에서 버전이 지정된 계층의 효율적인 모델링

  15. 15

    복사 / 붙여 넣기 비활성화

  16. 16

    Android Kotlin은 다른 활동에서 함수를 호출합니다.

  17. 17

    Google Play Console에서 '예기치 않은 오류가 발생했습니다. 나중에 다시 시도해주세요. (7100000)'오류를 수정하는 방법은 무엇입니까?

  18. 18

    SQL Server-현명한 데이터 문제 받기

  19. 19

    Seaborn에서 축 제목 숨기기

  20. 20

    ArrayBufferLike의 typescript 정의의 깊은 의미

  21. 21

    Kubernetes Horizontal Pod Autoscaler (HPA) 테스트

뜨겁다태그

보관