다음을 통해 공유


UDL 파일을 사용하여 SQL Server에 대한 OLE DB 연결 테스트

적용 대상: SQL Server

참고 항목

문제 해결을 시작하기 전에 필수 구성 요소를 확인하고 검사 목록을 진행합니다 .

이 문서에서는 UDL(유니버설 데이터 링크) 파일을 만들고 다른 공급자를 사용하여 파일을 통해 SQL Server 인스턴스에 대한 연결을 테스트하는 방법을 설명합니다.

UDL 파일 만들기

참고 항목

UDL 파일을 사용하면 전체 애플리케이션에 관계없이 모든 백 엔드 데이터베이스에 대한 OLE DB(Object Linking and Embedding Database) 공급자 연결을 테스트할 수 있습니다. UDL 파일을 저장하면 애플리케이션의 연결 문자열 빌드하거나 다른 속성을 설정하는 방법을 확인하는 데 사용할 수 있는 올바른 형식의 연결 문자열 생성됩니다. 문자열을 얻으려면 메모장에서 파일을 엽니다.

OLE DB 공급자를 테스트하는 UDL 파일을 만들려면 다음 단계를 수행합니다.

  1. 파일 탐색기 파일 확장자를 표시하려면 다음 단계를 수행합니다.

    1. 시작을 선택하고 파일 탐색기 옵션을 입력합니다.

    2. 보기 탭을 선택하고 알려진 파일 형식대한 확장 프로그램 숨기기 옵션을 선택 취소한 다음 확인을 선택합니다.

  2. UDL 파일을 만들 폴더로 이동합니다. 예를 들어 C:\temp입니다.

  3. 새 텍스트 파일(예: sqlconn.txt)을 만든 다음 확장의 이름을 .txt .udl바꿉니다. (선택 파일 이름 확장명 변경에 대한 경고 메시지에 예입니다.)

    다음 PowerShell 스크립트를 사용하여 %temp% 폴더에 sqlconn.udl을 만들 수도 있습니다.

    clear
    $ServerName = "(local)"
    $UDL_String = "[oledb]`r`n; Everything after this line is an OLE DB initstring`r`nProvider=MSOLEDBSQL.1;Integrated Security=SSPI;Persist Security Info=False;User ID=`"`";Initial Catalog=`"`";Data Source=" + $ServerName + ";Initial File Name=`"`";Server SPN=`"`";Authentication=`"`";Access Token=`"`""
    Set-Content -Path ($env:temp + "\sqlconn.udl") -Value $UDL_String -Encoding Unicode
    
    #open the UDL
    Invoke-Expression ($env:temp + "\sqlconn.udl")
    

SQL Server OLE DB 드라이버를 사용하여 연결 테스트

MICROSOFT OLE DB Driver for SQL Server (MSOLEDBSQL)는 최신 SQL Server OLE DB 드라이버입니다. 드라이버에는 TLS 1.2 및 1.3, MultiSubnetFailover 및 Azure 인증 방법(Microsoft Entra ID)과 같은 새로운 기능이 있습니다. 최신 SQL Server 데이터베이스에는 이 드라이버를 사용하는 것이 좋습니다.

MICROSOFT OLE DB Provider for SQL Server (SQLOLEDB)는 레거시 OLE DB 연결 공급자입니다. Windows에 기본 제공되며 TLS 1.2 또는 1.3 채널 바인딩이 필요하도록 구성되지 않은 모든 버전의 SQL Server에 연결할 수 있습니다.

Microsoft OLE DB 드라이버 또는 SQL Server 공급자를 사용하여 연결을 테스트하려면 다음 단계를 수행합니다.

  1. UDL 파일을 엽니다.

  2. 공급자 탭을 선택하고, 애플리케이션에서 사용하는 OLE DB 드라이버 또는 공급자를 선택한 다음, 다음을 선택합니다.

  3. 연결 탭에서 네트워크 프로토콜, FQDN(정규화된 도메인 이름) 및 서버 이름 선택 또는 입력 아래의 포트 번호를 지정합니다. 예들 들어 tcp:SQLProd01.contoso.com,1433입니다.

    참고 항목

    이 방법으로 서버 이름 및 포트를 입력하면 연결을 방해할 수 있는 일반적인 문제(예: SQL Server 브라우저 서비스 문제)를 방지할 수 있습니다.

  4. 연결 탭에 다른 속성을 입력합니다.

    참고 항목

    대부분의 연결 테스트에서는 데이터베이스 이름을 입력할 필요가 없습니다.

  5. 연결 테스트를 클릭합니다.

다른 탭을 선택하고 다른 드라이버 설정을 탐색할 수도 있습니다. 연결 테스트가 완료되면 확인을 선택하여 파일에 연결 문자열 저장합니다.

ODBC 드라이버용 Microsoft OLE DB 공급자를 사용하여 연결 테스트

Microsoft OLE DB Provider for ODBC Drivers를 사용하여 ODBC(Open Database Connectivity) 드라이버를 테스트하려면 다음 단계를 수행합니다.

  1. UDL 파일을 엽니다.

  2. 공급자 Microsoft OLE DB Provider for ODBC Drivers>를 선택합니다.>

  3. 연결 탭에서 다음 방법 중 하나를 사용하여 데이터 원본을 지정한 다음 다른 속성을 입력할 수 있습니다.

    • 데이터 원본 이름 사용 필드에 값을 입력합니다.

    • 와 같은 Driver={ODBC Driver 17 for SQL Server};Server=SQLProd01;Database=Northwind;Trusted_Connection=YesDSN이 없는 연결 문자열 입력합니다.

  4. 연결 테스트를 클릭합니다.

64비트 컴퓨터에서 32비트 공급자 테스트

64비트 운영 체제에서 32비트 공급자의 연결을 테스트하려면 다음 단계를 수행합니다.

  1. 명령 프롬프트 창에서 다음 명령을 실행하여 32비트 명령 프롬프트를 엽니다.

    %windir%\SysWoW64\cmd.exe
    
  2. 다음 명령을 실행하여 UDL 파일을 엽니다.

    C:\temp\test.udl
    
  3. 공급자 탭에 Microsoft Jet 4.0 OLE DB 공급자가 표시되면 32비트 대화 상자를 로드했으며 이제 32비트 공급자를 선택하여 연결을 테스트할 수 있습니다.

UDL 파일 시작

UDL 파일을 두 번 클릭하여 시작합니다. 다음은 UDL 파일을 시작할 때 사용되는 기본 프로세스에 대해 설명합니다.

UDL 파일 UI는 OLEDB32.DLL 제공하며 RUNDLL32.EXE 호스트됩니다.

  • 32비트 운영 체제에서 또는 64비트 운영 체제의 64비트 공급자에서 다음 명령을 사용하십시오 (C:\temp\test.udl 가정).

    Rundll32.exe "C:\Program Files\Common Files\System\OLE DB\oledb32.dll",OpenDSLFile C:\temp\test.udl

  • 64비트 운영 체제의 32비트 공급자의 경우 다음 명령을 사용합니다.

    C:\Windows\SysWOW64\Rundll32.exe "C:\Program Files (x86)\Common Files\system\Ole DB\oledb32.dll",OpenDSLFile C:\temp\test.udl

.udl 파일 확장명은 첫 번째 명령에 매핑됩니다. 64비트 운영 체제의 32비트 공급자의 경우 32비트 명령 프롬프트를 실행한 다음 32비트 공급자를 테스트하기 위해 실행 START C:\TEMP\TEST.UDL 하여 작업을 간소화할 수 있습니다. 필요에 따라 32비트 명령을 사용하는 파일 확장명 매핑을 만들 수 있습니다.

32비트 UDL32 파일 확장자 매핑 만들기

64비트 운영 체제에서 32비트 공급자를 자주 사용하는 경우 다음 단계를 사용하여 새 파일 확장명(예: .udl32)을 매핑하여 32비트 UDL 대화 상자를 시작할 수 있습니다.

중요합니다

이 섹션, 메서드 또는 작업에는 레지스트리를 수정하는 방법을 알려주는 단계가 포함되어 있습니다. 그러나 레지스트리를 잘못 수정하면 심각한 문제가 발생할 수 있습니다. 따라서, 다음 단계들을 주의 깊게 따르십시오. 보호하기 위해 레지스트리를 수정하기 전에 백업하여 문제가 발생할 경우 레지스트리를 복원할 수 있도록 합니다. 레지스트리를 백업하고 복원하는 방법에 대한 자세한 내용은 Windows에서 레지스트리를 백업 및 복원하는 방법을 참조하십시오.

  1. 다음 스크립트를 메모장에 복사하고 udl32.reg 저장합니다.

    Windows Registry Editor Version 5.00
    
    [HKEY_CLASSES_ROOT\.UDL32]
    @="ft000001"
    
    [HKEY_CLASSES_ROOT\ft000001]
    @="Microsoft Data Link 32"
    "BrowserFlags"=dword:00000008
    "EditFlags"=dword:00000000
    
    [HKEY_CLASSES_ROOT\ft000001\shell]
    @="open"
    
    [HKEY_CLASSES_ROOT\ft000001\shell\open]
    
    [HKEY_CLASSES_ROOT\ft000001\shell\open\command]
    @="C:\\Windows\\SysWOW64\\Rundll32.exe \"C:\\Program Files (x86)\\Common Files\\system\\Ole DB\\oledb32.dll\",OpenDSLFile %1"
    
    [HKEY_CLASSES_ROOT\ft000001\shell\open\ddeexec]
    
  2. .reg 파일을 두 번 클릭하여 UDL32 파일을 자동으로 시작하는 데 도움이 되는 레지스트리 키를 만듭니다.

  3. .udl32 파일 확장자를 사용하여 파일을 만듭니다. 예를 들어 C:\temp\test.udl32입니다.

  4. test.udl32를 두 번 클릭하여 32비트 UDL 대화 상자를 시작합니다. 예를 들어 다음과 같은 대화 상자가 표시될 수 있습니다.

    스크린샷은 32비트 UDL 대화 상자의 예를 보여줍니다.

연결 문제를 해결하기 위한 팁

다음 메서드를 사용하여 연결이 실패하는 이유를 확인할 수 있습니다.

  • 공급자를 변경합니다.
  • 프로토콜을 변경합니다. 예를 들어 tcp:, np: 또는 lpc:입니다.
  • 전체 도메인 접미사 또는 IP 주소만 사용하거나 사용하지 않고 연결을 테스트합니다.
  • 포트 번호를 제거하고 인스턴스 이름을 사용하여 SQL Server Browser 서비스를 테스트합니다.

위의 각 메서드에 대해 하나의 조합이 작동하고 다른 조합이 실패하면 문제에 대한 단서를 제공할 수 있습니다. 예를 들어 두 번째 메서드를 사용하는 경우 작동하며 lpc: 그렇지 않은 경우 tcp: SQL Server 구성 관리자 TCP 프로토콜을 사용하도록 설정해 봅니다.

참고 항목

UDL(유니버설 데이터 링크) 구성

참고 항목

이 문서에서 문제를 해결하지 못하는 경우 SQL Server에서 연결 문제 해결을 확인하여 추가 도움말을 확인할 수 있습니다.