2019/03

오라클의 DESC오라클에서 DESC 를 하게 되면 해당 테이블의 컬럼, 컬럼크기, NullAble 등의 정보를 확인할 수 있습니다.DESC TABLE_NAME SQL Server 의 DESCSQL Server 는 DESC 를 지원하지 않습니다.대신 sp_columns 의 프로시저와 INFORMATION_SCHEMA.COLUMNS 테이블로 정보를 조회할 수 있습니다. EXEC SP_COLUMNS TABLE_NAME SELECT * FROM INFORMATION_SCHEMA WHERE TABLE_NAME = 'TABLE_NAME'
MSSQL 서버 확인하기@@SERVERNAME 으로 확인할 수 있습니다.현재 접속해있는 서버를 반환합니다.SELECT @@SERVERNAME MSSQL 인스턴스 확인하기@@SERVICENAME 으로 확인할 수 있습니다.현재 접속해 있는 인스턴스를 반환합니다.SELECT @@SERVICENAME MSSQL 데이터베이스 확인하기DB_NAME() 으로 확인할 수 있습니다.현재 접속해 있는 데이터베이스를 반환합니다.SELECT DB_NAME() 현재 접속한 서버 / 인스턴스 / 데이터베이스 확인SELECT @@SERVERNAME, @@SERVICENAME, DB_NAME()
ORACLE 에서 출력된 데이터로 테이블 생성하기ORACLE 에서는 CREATE TABLE AS SELECT * 문으로 테이블을 생성할 수 있습니다.* 대신 컬럼을 지정할 수도 있습니다.CREATE TABLE NEW_TABLE AS SELECT C1, C2 FROM OLD_TABLE ; SQL Server 에서 출력된 데이터로 테이블 생성하기SQL Server 에서는 SELECT * INFO FROM 문으로 테이블을 생성할 수 있습니다.* 대신 컬럼을 지정할 수도 있습니다.SELECT C1, C2 INTO NEW_TABLE FROM OLD_TABLE ; 새로 생성되는 테이블들은 기존의 제약사항을 가지고 있지 않습니다.
ANSI_NULLS 와 ANSI_WARNINGS 이란ANSI_NULLS 는 NULL과 함께 사용될 경우 = , != () 비교 연산자의 ISO 호환 동작을 지정합니다.ANSI_WARNIGNS 은 집계함수에 NULL 값이 있으면 경고 메세지가 생성됩니다. https://docs.microsoft.com/ko-kr/sql/t-sql/statements/set-ansi-nulls-transact-sql?view=sql-server-2017https://docs.microsoft.com/ko-kr/sql/t-sql/statements/set-ansi-warnings-transact-sql?view=sql-server-2017 오류 해결법수행할 쿼리 위에 ANSI_NULLS 와 ANSI_WARNIGNS 을 ON ..
USE [?] 를 사용하자USE [?] 는 모든 데이터베이스에 접속하겠다는 의미를 나타냅니다.USE [?] 는 SQL Server 에서 지원하는 SP_MSFOREACHDB 프로시저와 함께 사용해야 합니다. USE [?] 의 사용법SELECT DB_NAME() 란에 원하는 쿼리를 넣어서 사용하시면 됩니다.참고로 쿼리에서 ' 를 쓰기를 원하는 경우 ' 를 하나 더 붙여서 '' 로 사용해야 합니다.EXEC MASTER..SP_MSFOREACHDB 'USE [?]BEGIN SELECT DB_NAME()END' USE [?] 에서 특정 데이터베이스 제외하기USE [?] 하단에 IF ''?' 로 제외할 수 있습니다.EXEC MASTER..SP_MSFOREACHDB 'USE [?]IF ''?'' ''master'' ..
MSSQL 은 백업시 백업 경로를 입력하는 대신에 백업 경로를 저장한 백업 장치를 사용하여 백업을 수행할 수 있습니다.매번 백업경로를 생각하고, 그 경로를 작성해야 하는 것보단 백업장치 명만 기억하면 되기 때문에 편리하게 사용할 수 있습니다. 이번 포스팅은 백업 장치를 만들어 보고 삭제하는 것을 알아보겠습니다. SSMS 를 이용하여 백업 장치를 만들어 보기1. 서버 개체 - 백업 장치 - 새 백업 장치를 클릭합니다. 2. 장치 이름에 원하는 백업 장치 명을, 아래에는 백업파일이 생성될 폴더 경로와 파일명을 입력해 줍니다.이 때, 폴더는 있어야 합니다. 3. 백업 장치가 만들어졌습니다. 나중에 백업할 때 경로를 작성하는 대신 백업 장치 명을 사용하여 진행 할 수 있습니다.아래의 2개 쿼리는 동일한 의미를 ..
MSSQL 은 전체 복원, 차등 복원, 로그 복원을 지원합니다. 전체 복원과 차등 복원은 같은 구문을 사용합니다.구문은 다음과 같습니다.RESTORE DATABASE AdventureWorks FROM DISK = 'C:\백업폴더\advbackup.bak'; 로그 복원 문법은 다음과 같습니다.RESTORE LOG AdventureWorks FROM DISK = 'C:\백업폴더\advbackup_log.bak'; 복원이 완료되면 다른 사용자는 바로 데이터베이스에 접근할 수 있습니다.하지만 전체 백업과 로그백업을 병행한 경우에는, 전체 복원을 한 후에 로그 복원을 해야 합니다.전체 복원만 한 상태에서 사용자가 데이터베이스에 접근한다면 아직 로그 복원되지 않은 불완전한 데이터베이스에 접근하는 것이기 때문엡니다..
MSSQL 은 SQL Server 로그를 확인할 수 있는 sp_readerrorlog 시스템 프로시저를 지원합니다.기본적으로 sp_readerrorlog 를 수행하면, 가장 최신 로그 파일의 모든 내용을 출력합니다. 추가적으로 sp_readerrorlog 에 옵션을 부여할 수 있는데,sp_readerrorlog @p1, @p2, @p3 와 같이 쓸 수 있습니다.@p1 은 파일 로그 시퀀스@p2 는 1과 2가 있는데 1 은 SQL Server 로그, 2 는 SQL Server 에이전트 로그@p3 은 찾기를 원하는 문자열 입니다. 문자열은 여러개로 구성될 수 있으며 and 연산자로 구성됩니다. xp_readerrorlog 는 추가적인 옵션을 부여할 수가 있습니다.xp_readerrorlog @p1, @p2,..
SQL Server 는 sp_readerrorlog 라는 시스템 프로시저를 지원합니다.이 프로시저는 SQL Server 로그를 읽어오는 역할을 수행합니다. xp_readerrorlog 역시 지원하는데, 이는 sp_readerrorlog 보다 좀더 많은 기능을 지원합니다.단지 기능만을 지원하는 것 뿐이지 출력 형식이 달라진다거나 그러지는 않습니다.xp_readerrorlog 와 sp_readerrorlog 의 차이점은 아래 포스팅을 참고해 주세요.https://mozi.tistory.com/296 구동 시점 이후의 오류만 출력하는 쿼리 그럼 먼저 구동 시점 이후의 오류만 뽑아오는 쿼리를 보여드리고 아래서 설명을 진행하겠습니다.CREATE TABLE dbo.TEMP_logcnt (LogNumber INT, ..
MSSQL 은 데이터베이스에 백업을 위한 3가지 모델(전체, 대량 로그, 단순)을 지원하며,백업의 종류는 전체, 차등, 로그 백업으로 구성됩니다. 이해가 좀 어려울 수 있는 데, 간단히 설명드리겠습니다. 모델은, 트랜잭션 로그파일에 어떻게 기록하는지에 대한 정의를 내리는 부분입니다.백업은, 말그대로 현재 데이터 파일을 물리적으로 복사한다 라고 생각하면 됩니다. 데이터베이스의 복구 모델데이터베이스 복구 모델은 전체(Full), 대량 로그(Bulked Log), 단순(Simple) 세 가지 모델이 있습니다.예를 들어 SQL Server 에서 제공하는 AdventureWorks2017 데이터베이스의 복구 모델은 단순으로 설정되어 있습니다.1. 전체 복구 모델데이터베이스가 문제가 발생할 때 문제가 발생한 시점까..
꽁담
'2019/03 글 목록