데이터베이스를 오프라인으로 전환하는 이유는 무엇입니까? 무엇입니까 ? 오프라인 데이터베이스로 수행 할 수있는 작업은

“오프라인으로 연결”/ ALTER DATABASE dbName SET OFFLINE기능 을 사용하는 이유와 상황은 무엇입니까 ?

오프라인 데이터베이스로 수행 할 수있는 작업은 무엇입니까? 오프라인 데이터베이스로만 수행 할 수있는 작업은 무엇입니까?



답변

MDF 파일을 다른 서버로 이동하여 온라인 상태로 만들 수 있습니다.


답변

개발 / 스테이징 환경에서는 응용 프로그램에서 데이터베이스의 올바른 인스턴스에 연결하고 어딘가에 연결 문자열이 없는지 확인하기 위해 데이터베이스를 오프라인 상태로 만드는 것이 유용한 경우가 있습니다.

즉,이 상황에서는 다른 환경에 대해 다른 데이터베이스 이름과 연결 문자열을 자동으로 구성하는 빌드 프로세스를 갖는 것이 훨씬 좋습니다.

마찬가지로, 나는 데이터베이스를 해제하기 전에 일정 기간 동안 데이터베이스를 오프라인으로 전환하여 어떤 이유로 든 온라인 상태로 돌아와야하는 것을 좋아합니다. 나는 그것을 없애고 싶을 때 내 데이터베이스 중 하나에 알지 못하는 고리를 가진 개발자들에 의해 물린 적이 있습니다. 필요한 경우 삭제하고 복원하는 것보다 훨씬 덜 과감하고 시간이 덜 드는 오프라인 상태로 만듭니다.

또 다른 것은 긴급 보호 수단입니다. 전에이 작업을 수행해야했습니다. 때로는 악의적이지는 않지만 데이터베이스의 데이터를 손상시키는 악의적 인 버그가 앱에서 발견되는 경우가 있습니다. 데이터베이스를 오프라인으로 전환하는 것은 버그를 식별 할 때까지 출혈을 멈추는 빠른 방법입니다. 그런 다음 데이터베이스 내 손상을 평가하기 위해 온라인으로 되돌릴 수 있습니다.


답변

여기에 대한 답변 중 일부는 액세스가 제한된 데이터베이스로 수행 할 수있는 작업에 대한 아이디어를 제공 할 수 있지만 실제로 오프라인 상태 인 데이터베이스로는 수행 할 수있는 작업이 많지 않습니다. 데이터를 업데이트, 업그레이드, 추가 또는 삭제할 수 없습니다.


답변

나의 가장 중요한 이유는 내가 열거하고 싶은 것보다 DBA에 더 자주 팔아야 할 이유입니다.

“SAN은 수리가 필요합니다. 드라이브를 핫스왑 할 수 없으며 백플레인 / 컨트롤러에 결함이 있습니다.”

디스크가 없어지면 DB 인스턴스는 매우 잘못 작동합니다.

따라서 SAN을 오프라인으로 전환하기 전에 SQL 인스턴스를 종료 한 다음 한 번에 하나씩 다시 가져 와서 리소스를 사용하지 않도록합니다. 첫 번째 인스턴스는 모든 클러스터 리소스를 가져 와서 활성 DB 노드가됩니다. 수동 노드로.


답변

이 작업을 수행해야하는 데는 여러 가지 이유가 있습니다.

예를 들어,

consider changing or upgrading the actual database program/binary...
consider changing or upgrading the schema or tables..
consider changing or upgrading index's..

가장 중요한 점은 ..

Is taking a backup.. to get a perfect snapshot in time..

(일부 DB에서는 모든 테이블에 대한 잠금을 만듭니다)


답변