권장 : ASP 3.0 고급 프로그래밍 (45) 비동기 실행은 백그라운드에서 데이터를 검색하는 것을 말하며, 얻은 데이터는 모든 데이터가 반환되기 전에 웹 페이지에서 사용할 수 있습니다. 모든 데이터가 필요할 수 있지만 비동기 작업은 적어도 미리 데이터 처리를 시작할 수 있습니다. 또한 사용자가 특정 콘텐츠를 먼저 볼 수 있으므로 웹 사이트가됩니다.
개요
SQL 분산 관리 객체 (SQL-DMO)는 개발자에게 프로그램 및 스크립팅 언어를 사용하여 일반 작업을 수행하는 방법을 제공하여 SQL Server의 기능을 확장합니다. 이 기사에서는 SQL-DMO를 영리하게 사용하여 데이터베이스 백업 및 확인 ASP 응용 프로그램을 작성하는 방법에 대해 설명합니다.
전제
SQL Server 데이터베이스 백업에 대한 지식이 있어야합니다. 또한 Global.asa 파일에 SQL-DMO 라이브러리에 대한 참조를 추가해야합니다. 다음은 SQL Server 2000에 대한 참조입니다.
| 다음은 인용 된 내용입니다. <!-메타 데이터 유형 = typelib name = microsoft sqldmo 객체 라이브러리 uuid = {10010001-E260-11CF-AE68-00AA004A34D5} 버전 = 8.0-> |
이 기사의 샘플 코드는 SQL 7.0, MSDE 및 SQL Server 2000에 적용됩니다.
기쁨과 슬픔
SQL-DMO 객체를 사용하면 사람들이 행복하고 슬프게 만듭니다. 그것은 매우 풍부한 기능을 제공하여 그것을 사용하는 방법을 알려지지 않았습니다. 이 기사에서는 예제와 관련된 객체 속성 및 방법에 대해서만 설명합니다. SQL Server Online Teaching에 대한 관련 정보를 많이 찾을 수 있습니다.
sqldmo.sqlserver
SQL Server 데이터베이스에 연결하는 데 사용됩니다.
| 다음은 인용 된 내용입니다. <% Dim SRV set srv = server.createobject (sqldmo.sqlserver) srv.logintimeout = 15 srv.connect servername, 사용자 이름, 비밀번호 %> |
여기서 SQL Server 데이터베이스는 사용자 이름과 비밀번호를 대체하여 연결됩니다. NT의 ID 인증을 사용하려면 LoginCure 속성을 true (true)로 설정하고 대체 된 사용자 이름과 비밀번호를 무시하고 NT의 등록 정보를 사용하십시오.
sqldmo.database
서버에 데이터베이스를 나열합니다. 이 예에서는 나열된 데이터베이스가 백업됩니다. 다음 코드는 드롭 다운 메뉴에서 서버의 데이터베이스를 나열합니다.
| 다음은 인용 된 내용입니다. <% Dim SRV 희미한 objdb set srv = server.createobject (sqldmo.sqlserver) srv.logintimeout = 15 srv.connect servername, 사용자 이름, 비밀번호 set objdb = server.createobject (sqldmo.database) %> <이름 = fdatabase>를 선택하십시오 <% srv.databases의 각 objdb에 대해 if objdb.systemobject = false입니다 %> <옵션> <%= objdb.name%> </옵션> <% 끝 If 다음 %> </선택> |
sqldmo.backupdevice
서버에 설치된 백업 장치를 나열합니다. 백업 장치를 사용하여 데이터베이스를 백업하는 것이 좋습니다. 이런 식으로 SQL-DMO의 검증 기능을 사용하여 백업 상황을 확인할 수 있습니다. 다음 코드는 서버에 백업 장치를 나열합니다.
| 다음은 인용 된 내용입니다. <% Dim SRV 희미한 objdevice set srv = server.createobject (sqldmo.sqlserver) srv.logintimeout = 15 srv.connect servername, 사용자 이름, 비밀번호 set objdevice = server.createobject (sqldmo.backupdevice) srv.backupdevices의 각 objdevice에 대해 응답. objdevice.name <br>를 씁니다 다음 %> |
sqldmo.backup
이것이 우리가 코어 객체를 백업하는 데 사용하려는 것입니다. 엔터프라이즈 SQL 관리자와 동일한 수준에서 백업을 할 수있는 많은 속성이 있습니다. 먼저이 예제에 사용 된 속성에 대해 논의 해 봅시다.
BackupsetName- 백업 파일 이름.
데이터베이스 - 백업 할 데이터베이스.
조치 - 모두 또는 증분 백업. 다른 옵션이 있지만이 두 옵션만이 예에서 사용됩니다.
BackupsetDescription- 백업 설명.
파일 - 파일 백업 옵션. c : /pubs.bak과 같은 백업 파일의 경로와 이름을 나타냅니다. 파일 백업을 사용하는 경우 다음 백업 장치 이름이 비어 있어야합니다.
장치 - 서버의 백업 장치. 백업 장치를 사용하는 경우 위의 파일 백업 옵션이 비어 있어야합니다.
TruncateLog- 백업 로그 옵션. 옵션은 다음과 같습니다.
NOLOR- 트랜잭션 로그 백업이 없습니다.
Notruncate- 백업 트랜잭션 로그. 시간 표시는 로그에 제공됩니다.
Truncate -Backup Transaction Logs이지만 트랜잭션 레코드를 유지하지는 않습니다.
초기화 - true로 설정되면 백업 장치는 다른 백업 미디어를 대체하고 첫 번째 선택이됩니다.
다음은 예제의 Backup.asp 파일입니다.
| 다음은 인용 된 내용입니다. < %@ language = vbscript %> <html> <body> <!-모든 로그인 정보를 포함합니다-> <!-#include file = login.asp-> <% Dim Objbackup '백업 객체를 만듭니다 set objbackup = server.createobject (sqldmo.backup) '속성 설정 objbackup.backupsetName = request (fname) objbackup.database = request (fdatabase) objbackup.action = 요청 (진영) objbackup.backupsetDescription = request (fdescription) objbackup.files = request (fbackupfile) objbackup.devices = request (fdevice) objbackup.truncateLog = request (Flog) objbackup.initialize = request (Finit) '백업 데이터베이스 objbackup.sqlbackup srv '서버에서 분리 srv.disconnect '풀어 주다 SRV = 아무것도 설정하지 않습니다 objbackup = 아무것도 설정하지 않습니다 %> <p> 백업이 시작되었습니다. <a href = givices.asp> verify </a>를 사용하십시오 성공적으로 완료되었는지 확인하는 옵션. <a href = default.asp> 여기를 클릭하십시오 </a> 돌아 오려면. </p> </body> </html> |
백업 확인
VB 또는 C로 프로그래밍하는 경우 이벤트 트리거를 사용하여 백업 프로세스를 확인할 수 있지만 ASP는 아닙니다. SQLDMO.BackupDevice 객체의 readbackupheader 메소드를 사용하여 백업이 성공했는지 확인합니다.
아래는 백업 장치의 이름을 나열하고 가장 최근의 백업에 대한 정보를 제공하는 verification.asp 파일 코드입니다.
| 다음은 인용 된 내용입니다. < %@ language = vbscript %> <html> <body> <!-로그인 정보-> <!-#include file = login.asp-> <p> <% 희미한 objdevice 희미한 objresults 희미한 아이 카운트 희미한 xcount '백업 장치 객체를 만듭니다 set objdevice = server.createobject (sqldmo.backupdevice) '일치하는 장치가 발견 될 때까지 루프 srv.backupdevices의 각 objdevice에 대해 if objdevice.name = request (fname) 인 경우 '일치하는 장치를 찾고 결과를 읽기 시작하십시오 objresults = objdevice.readbackupheader를 설정합니다 iCount = 1 to objresults.rows xcount = 1 to objresults.columns%>의 경우 <b> <%= objresults.columnname (xcount)%> </b> : <%= objresults.getColumnString (아이콘, Xcount)%> <br> < %next %> <HR> < %next %> <%종료 if%> <%next%> <% srv.disconnect SRV = 아무것도 설정하지 않습니다 objdevice = 아무것도 설정하지 않습니다 objresults = 아무것도 설정하지 않습니다 %> </body> </html> |
readbackupheader 메소드는 QueryResults 객체를 반환합니다. 행 속성을 사용하여 백업 레코드 번호를 얻으십시오. 그런 다음 각 레코드 행에 대한 열 정보를 검색하십시오.
다른 기능
SQL-DMO는 원격 백업 및 복구 기능도 제공합니다. 이 기사에는 데이터베이스 복구가 포함되지 않지만 SQL-DMO는 강력한 복구 기능이 있습니다.
공유 : 기본 개발 엔트리 레벨 : JSP와 ASP 비교 Microsoft는 ASP (ActiveserverPage)를 출시 한 이래로 웹 개발자가 강력한 기능과 단순성과 학습하기 쉬운 것에 대해 사랑을 받았습니다. 그러나 Microsoft 제품에는 일반적인 문제가 있으며 Windows 플랫폼에서만 사용할 수 있지만 컨트롤을 추가하여 Linux에서 사용할 수 있습니다.