데이터베이스 원격 전체 백업을 위한 솔루션
원격 전체 데이터베이스 백업을 위한 솔루션
--exec BackUPDatabase_MaJiatao 'pubs','\XZ154ABC$','16:50:00.000',1,'XZ154MaJiatao','MaJiatao'/ ** *************************************************설명하다 :데이터베이스 전체 백업 및 증분 백업 작성자: Ma Jiatao Ma Jiatao 수정: 2014-02-12: 1. 로컬 및 원격 경로를 선택하는 백업 경로를 추가했습니다. 2. 기록 백업 기록을 저장하는 방법을 수정하여 더 이상 로컬 하드 디스크 저장 매체로 사용할 파일의 텍스트 파일**************************************** ******* ***********/if object_id('BackUPDatabase_MaJiatao')가 nulldrop이 아닌 경우 PRoc BackUPDatabase_MaJiatao
GO
alter proc BackUPDatabase_MaJiatao@database_name sysname,--백업할 데이터베이스의 이름@physical_backup_device_name sysname, --백업 파일 저장 디렉터리 @all_backup_datetime char(17)='20:00:00.000', --전체 백업 시간 @IntDistance int=1, --전체 백업 시간 범위(시간) @UserName varchar(100), --원격 서버 로그인 이름@PassWord varchar(100)=''--
/*********************************declare @database_name sysname,--백업할 데이터베이스의 이름 @physical_backup_device_name sysname ,--backup 파일 저장 디렉터리 @all_backup_datetime char(17)select @database_name='test',@physical_backup_device_name='E: 백업 파일 쿼리 서버',@all_backup_datetime='16:00:00.000'
* **** **********************************/
으로 암호화된 원격 서버 로그인 비밀번호--다음과 같은 경우 백업 기록을 설정합니다. 존재하지 않음(id = object_id(N'backup_recorder') 및 OBJECTPROPERTY(id, N'IsUserTable') = 1인 dbo.sysobjects에서 * 선택) exec('CREATE TABLE backup_recorder (backup_datetime datetime not null,backup_name varchar (500) PRIMARY KEY,backup_path varchar (500) NOT NULL ,is_all_backup char(1) null이 아님 기본값 0,file_is_exists char(1) null이 아님 기본값 0)')elsebeginif 존재하지 않음(name='file_is_exists' 및 ID= object_id인 syscolumns에서 * 선택) (N'backup_recorder'))begindrop 테이블 backup_recorderexec('CREATE TABLE backup_recorder (backup_datetime datetime not null,backup_name varchar (500) PRIMARY KEY,backup_path varchar (500) NOT NULL ,is_all_backup char(1) not null 기본값 0,file_is_exists char ( 1) null이 아님 기본값 0)')endend
declare @backup_set_full sysname,@backup_set sysname,--백업 파일 이름 @backup_name sysname
declare @Return_Int intdeclare @CommandText nvarchar(4000) 선언 @DelFilePathName nvarchar(4000)
@physical_backup_device_name_now nvarchar(4000) 선언
@physical_backup_device_namebackup nvarchar(4000)
if isnull(@database_name,'')=' ' 선언 또는 rtrim(@database_name)=''--데이터베이스 이름이 비어 있습니다. set @database_name=db_name()--현재 데이터베이스를 백업합니다.
if isnull(@physical_backup_device_name,'')='' 또는 rtrim (@ Physical_backup_device_name)=''--백업 디렉터리가 비어 있습니다. 시스템 기본 디렉터리를 사용하십시오. startSELECT @physical_backup_device_name=ltrim(rtrim(reverse(filename))) FROM master.dbo.sysdatabases 여기서 name=@database_nameset @physical_backup_device_name=reverse( substring(@physical_backup_device_name ,charindex('',@physical_backup_device_name)+5,260))+'backup'end
--왼쪽인 경우 경로가 네트워크 경로인지 로컬 경로인지 확인(@physical_backup_device_name,2) ='\' 및 ltrim( rtrim(@UserName))<>'' 및 ltrim(rtrim(@Password))<>''beginselect @CommandText='net use '+@physical_backup_device_name+' "'+@ Password+'" /user:' +@UserNameexec master..xp_cmdshell @CommandText,no_outputend
--디렉토리가 존재하는지 확인 @CommandText='dir '+@physical_backup_device_name+'전체 백업'exec @Return_Int=master를 선택합니다. ..xp_cmdshell @CommandText, no_outputif @ Return_Int<>0 --디렉토리가 존재하지 않습니다. 생성 startselect @CommandText='Mkdir '+@physical_backup_device_name+'전체 백업'exec @Return_Int=master..xp_cmdshell @CommandText, no_outputend
select @CommandText='dir '+@physical_backup_device_name+'차등 백업'exec @Return_Int=master..xp_cmdshell @CommandText, no_outputif @Return_Int<>0 --디렉토리가 존재하지 않습니다. Beginselect @CommandText='를 생성하세요. Mkdir '+@physical_backup_device_name+'차등 백업'exec @Return_Int =master..xp_cmdshell @CommandText, no_outputend
select @physical_backup_device_name_now=@database_name+'_'+ltrim(rtrim(REPLACE(REPLACE(REPLACE(REPLACE(convert) (char(23),getdate(),21) ,'-',''),':',''),'.',''),' ','')))+'.bak'
--전체 백업이 있는지 확인 @CommandText='dir '+@physical_backup_device_name+'Full backup*.bak'exec @Return_Int=master..xp_cmdshell @CommandText, no_output
if @Return_Int< >0 --전체 백업 파일이 없습니다. 전체 백업을 수행합니다. startselect @backup_set_full='전체 백업'+@database_nameselect @physical_backup_device_namebackup=@physical_backup_device_name+'전체 백업'+@physical_backup_device_name_now
--전체 백업, 미디어 다시 쓰기 헤더 BACKUP DATABASE @database_name to DISK=@physical_backup_device_namebackup WITH FORMAT ,NAME = @backup_set_fullif @@error=0--백업 성공, 당일 전체 백업 전에 모든 기록 백업 파일 삭제 시작--backup_recorder(backup_datetime)에 백업 로그 삽입 쓰기 , backup_name,backup_path,is_all_backup,file_is_exists)값(getdate(),@physical_backup_device_name_now,@physical_backup_device_namebackup,'1','1')#backup_recorder에 삽입(backup_datetime,backup_name,backup_path,is_all_backup,file_is_exists)backup_datetime,backup_name,backup 선택 _경로 , is_all_backup,file_is_existsfrom backup_recorder여기서 backup_name<>@physical_backup_device_name_now and is_all_backup='1' and file_is_exists='1'endendelsebegin--전체 백업이 있습니다. 전체 백업이 전날 지정된 시간 이후인지 확인하십시오--@ 선택 all_backup_datetime=REPLACE(REPLACE( @all_backup_datetime,':',''),'.','')if right(left(right(@physical_backup_device_name_now,21),17),9) 사이 REPLACE(REPLACE(@all_backup_datetime, ':','' ),'.','') 및 REPLACE(REPLACE(substring(convert(char(23),dateadd(hh,@IntDistance,@all_backup_datetime),21),12,12),': ',''), '.','')--전체 백업 수행 Beginselect @backup_set_full='전체 백업'+@database_nameselect @physical_backup_device_namebackup=@physical_backup_device_name+'전체 백업'+@physical_backup_device_name_now--전체 백업, 미디어 헤더 다시 쓰기 BACKUP DATABASE @database_name to DISK =@physical_backup_device_namebackup WITH FORMAT ,NAME = @backup_set_fullif @@error=0--백업 성공 시작--backup_recorder(backup_datetime,backup_name,backup_path,is_all_backup,file_is_exists)values(getdate()에 백업 로그 삽입 쓰기 ,@physical_backup_device_name_now,@physical_backup_device_namebackup ,'1','1')-#backup_recorder(backup_datetime,backup_name,backup_path,is_all_backup,file_is_exists)에 삽입된 기록 백업 파일 찾기backup_datetime,backup_name,backup_path,is_all_backup,file_is_existsfrom backup_recorderwhere _이름<> ;@physical_backup_device_name_now 및 is_all_backup= '1' 및 file_is_exists='1'endendelse--현재 백업 시간이 지정된 전체 백업 시간보다 작습니다. 차등 백업을 시작하십시오.
select @backup_set_full='증분 백업'+ @database_nameselect @physical_backup_device_namebackup=@physical_backup_device_name+' 차등 백업'+@physical_backup_device_name_now--차등 백업, 미디어 추가 BACKUP DATABASE @database_name to DISK=@physical_backup_device_namebackup WITH NOINIT, DIFFERENTIAL,NAME = @backup_setif @@error=0--백업 성공 시작- -backup_recorder(backup_datetime,backup_name,backup_path,is_all_backup,file_is_exists)values(getdate(),@physical_backup_device_name_now,@physical_backup_device_namebackup,'0','1')에 백업 로그 삽입 쓰기--#backup_recorder(backup_datetime에 삽입된 기록 백업 파일 찾기 ,backup_name,backup_path,is_all_backup,file_is_exists )backup_datetime,backup_name,backup_path,is_all_backup,file_is_existsfrom backup_recorder여기서 backup_name<>@physical_backup_device_name_now 및 is_all_backup='0' file_is_exists='1'endendend
DE CLARE DelFilePathName 커서 FORWARD_ONLY FOR select backup_path From # backup_recorder OPEN DelFilePathNameFETCH NEXT FROM DelFilePathName into @DelFilePathNameWHILE @@FETCH_STATUS = 0beginif exists(select *from backup_recorder where backup_path=@DelFilePathName and backup_name<>@physical_backup_device_name_now)beginselect @CommandText='del '+@DelFilePathNameexecute @Return_Int= master..xp_cmdshell @Com mandText-- ,no_outputif @Return_Int=0 startupdate backup_recorder set file_is_exists=0 여기서 backup_path=@DelFilePathNameendendFETCH NEXT FROM DelFilePathName into @DelFilePathNameendCLOSE DelFilePathNameDEALLOCATE DelFilePathName
if object_id('tempdb..#backup_recorder) ' )는 nulldrop 테이블이 아닙니다 #backup_recorder
left(@physical_backup_device_name,2)='\' 및 ltrim(rtrim(@UserName))<>'' 및 ltrim(rtrim(@Password))< ;>''beginselect @CommandText= 'net share '+@physical_backup_device_name+' /delete'exec master..xp_cmdshell @CommandText,no_outputend
위는 원격 전체 데이터베이스 백업을 위한 솔루션입니다. , PHP 중국어 웹사이트(www.php.cn)를 주목해주세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











PHP 및 PDO: 데이터베이스 백업 및 복원 작업을 수행하는 방법 웹 애플리케이션을 개발할 때 데이터베이스 백업 및 복원은 매우 중요한 작업입니다. 널리 사용되는 서버 측 스크립팅 언어인 PHP는 풍부한 라이브러리와 확장 기능을 제공하며, 그 중 PDO(PHP 데이터 개체)는 강력한 데이터베이스 액세스 추상화 계층입니다. 이 기사에서는 PHP와 PDO를 사용하여 데이터베이스 백업 및 복원 작업을 수행하는 방법을 소개합니다. 1단계: 데이터베이스에 연결 실제 작업을 수행하기 전에 데이터베이스에 대한 연결을 설정해야 합니다. PDO 쌍 사용

현 인터넷 시대에 데이터의 중요성은 자명합니다. 인터넷 애플리케이션의 핵심 구성 요소 중 하나인 데이터베이스 백업 및 복구 작업은 특히 중요합니다. 그러나 데이터 양이 계속 증가하고 비즈니스 요구 사항이 점점 더 복잡해짐에 따라 기존 데이터베이스 백업 및 복구 솔루션은 더 이상 최신 애플리케이션의 고가용성 및 고성능 요구 사항을 충족할 수 없습니다. 따라서 MySQL 데이터베이스의 백업 및 복구 성능을 최적화하는 것이 해결해야 할 시급한 문제가 되었습니다. 실제로 우리는 MySQL 데이터를 효과적으로 개선하기 위해 일련의 프로젝트 경험을 채택했습니다.

비즈니스 시스템을 개발하는 과정에서 데이터베이스는 매우 중요한 부분입니다. 따라서 데이터베이스를 백업하고 복원하는 것은 매우 필요한 작업입니다. 이 기사에서는 ThinkPHP6 프레임워크의 예를 결합하여 ThinkPHP6을 사용하여 데이터베이스 백업 및 복구를 구현하는 방법을 소개합니다. 1. 데이터베이스 백업 1.1 환경 준비 데이터베이스 백업을 수행하기 전에 다음 사항을 확인해야 합니다. 1. mysql 데이터베이스의 bin 디렉터리 주소를 설정하고 해당 경로를 시스템 경로 변수에 추가해야 합니다. mysqld

Golang에서 데이터베이스를 백업하는 것은 데이터를 보호하는 데 중요합니다. 표준 라이브러리의 데이터베이스/sql 패키지를 사용하거나 github.com/go-sql-driver/mysql과 같은 타사 패키지를 사용할 수 있습니다. 구체적인 단계는 다음과 같습니다. 데이터베이스에 연결합니다. 백업 데이터를 저장할 파일을 생성합니다. 덤프 기능이나 내보내기를 사용하여 데이터베이스를 파일로 백업합니다.

제목: ThinkORM을 사용하여 데이터베이스 백업 및 복원 실현 소개: 개발 과정에서 데이터베이스 백업 및 복원은 매우 중요한 작업입니다. 이 기사에서는 ThinkORM 프레임워크를 사용하여 데이터베이스 백업 및 복원을 구현하는 방법을 소개하고 해당 코드 예제를 제공합니다. 1. 배경 소개 개발 과정에서 우리는 일반적으로 데이터를 저장하고 관리하기 위해 데이터베이스를 사용합니다. 데이터베이스 백업 및 복원의 원칙은 데이터베이스에 문제가 발생하거나 데이터가 손실되는 경우 신속하게 데이터를 복원할 수 있도록 데이터베이스를 정기적으로 백업하는 것입니다. 의 도움으로

인터넷의 급속한 발전으로 인해 대규모 MySQL 데이터베이스 백업 및 복구는 주요 기업과 웹사이트에 필요한 기술 중 하나가 되었습니다. Memcached가 널리 적용되면서 Memcached를 백업하고 복원하는 방법도 중요한 문제가 되었습니다. 웹 개발의 주요 언어 중 하나인 PHP는 MySQL 및 Memcached의 백업 및 복구를 처리하는 데 있어 고유한 장점과 기술을 가지고 있습니다. 이 기사에서는 PHP에서 MySQL을 처리하고 Memcached 백업 및 복구를 수행하는 방법을 자세히 소개합니다.

오늘날의 온라인 세계에서 웹사이트는 모든 기업, 조직 또는 개인이 브랜드, 서비스, 제품 등을 표시하는 중요한 매체가 되었습니다. 웹사이트의 정상적인 운영과 보안을 보장하려면 지속적인 백업과 최적화가 필요합니다. 데이터베이스 및 복구. 간단한 조작, 풍부한 기능 및 아름다운 인터페이스를 갖춘 서버 관리 소프트웨어인 Pagoda Panel은 데이터베이스 관리에도 매우 뛰어나며 백업, 최적화 및 복구와 같은 중요한 기능을 갖추고 있습니다. 이 기사에서는 Pagoda Panel의 데이터베이스 백업, 최적화 및 복구 기능과 관련 문제에 중점을 둘 것입니다.

인터넷의 발전과 함께 데이터베이스 백업 및 복구는 웹사이트 운영 및 개발 과정에서 매우 중요한 부분이 되었습니다. 데이터베이스는 웹사이트의 핵심이며 많은 중요한 정보를 포함하고 있습니다. 데이터가 손실되거나 손상되면 웹사이트 운영과 사용자 경험에 큰 영향을 미치게 됩니다. 따라서 웹사이트 운영자와 개발자에게 데이터베이스 백업 및 복구의 중요성은 자명합니다. 이 기사에서는 개발자가 참조할 수 있도록 PHP 프로그래밍의 데이터베이스 백업 및 복구 작업에 중점을 둘 것입니다. 1. 번호
