목록SQL Server/SQL Server 운영 (20)
SQL Server에서 다른 DB 서버에 연결하여 데이터베이스 간에 정보를 공유하거나 특정 작업을 수행할 수 있습니다. 다음은 SQL Server Management Studio(SSMS)를 사용하여 연결된 서버를 설정하고 사용하는 간단한 예제입니다. 1. 연결된 서버 설정 SSMS 열기: SQL Server Management Studio를 열고, 원하는 서버에 로그인합니다. 서버 객체 탐색기에서 "서버 객체" 선택: 왼쪽 창의 "서버 객체 탐색기"에서 "서버 객체"를 선택합니다. 연결된 서버 추가: 마우스 오른쪽 버튼을 클릭하고 "연결된 서버 추가"를 선택합니다. 연결된 서버 속성 창 열기: "연결된 서버 추가" 대화 상자에서 "일반" 페이지로 이동합니다. 여기서 연결된 서버의 기본 설정을 구성할 수..
SQL Server 설치 후에 인스턴스 콜레이션을 변경할때 아래와 같은 순서대로 진행하면 된다. 1. CMD 관리자 모드로 실행 2. 설치파일 위치로 이동 3. 아래 명령어 실행 Setup /QUIET /ACTION=REBUILDDATABASE /INSTANCENAME=인스턴스이름(기본값: MSSQLSERVER) /SQLSYSADMINACCOUNTS=서비스계정 /SAPWD= 패스워드 /SQLCOLLATION= 변경할 콜레이션명 4. 재설치가 완료되면 작성했던 서비스계정으로 로그인
대용량 데이터베이스를 백업 및 복원할 때, 아래 쿼리를 실행하면 예상 완료시간을 확인할 수 있습니다. SELECT session_id, start_time, status, command, percent_complete, estimated_completion_time, estimated_completion_time /60/1000 as estimate_completion_minutes, --(select convert(varchar(5),getdate(),8)), DATEADD(n,(estimated_completion_time /60/1000),GETDATE()) as estimated_completion_time FROM sys.dm_exec_requests where command = 'BACKUP ..
SQL Server 인덱스 생성할때, 아래 쿼리를 이용하여 진행경과를 확인할 수 있습니다. (단, 인덱스는 Online 옵션으로 생성해야 진행경과를 확인할 수 있습니다.) SELECT object_name(object_id) table_name,index_id,rows FROM sys.partitions WHERE object_name(object_id) = '테이블명' rows 컬럼 값를 확인하여 진행경과를 확인할 수 있습니다.
운영환경에서 데이터가 증가하면서 혹은 통계업데이트에 의해 실행계획이 변경되어 쿼리가 갑자기 이전보다 확 느려질 수 있다. 아래와 같은 방법으로 실행계획을 확인할 수 있다. 1) 문제의 쿼리 찾기 --spid 찾기 select hostname, hostprocess, spid from master..sysprocesses where hostname = '호스트네임' SELECT client_net_address, session_id FROM sys.dm_exec_connections WHERE client_net_address = 'IP' --실행중인 쿼리 확인 SELECT sqltext.TEXT, req.status, req.command, req.cpu_time, req.total_elapsed_tim..
SQL Server 2008 버전이상 부터 데이터 압축을 지원합니다. 아래는 인덱스가 있는 상태에서 Rebuild를 통해 PAGE 압축을 진행하는 스크립트입니다. Enterprise 버전에서는 Online 인덱스와 병렬처리 (Maxdop)가 지원이 되서 옵션을 주고 진행을 합니다. ALTER INDEX [인덱스] ON 테이블 REBUILD WITH ( DATA_COMPRESSION = PAGE, ONLINE=ON, MAXDOP=8) 압축 진행율은 아래 partition view를 통해 알 수 있습니다. SELECT *,object_name(object_id) FROM sys.partitions where object_id=object_id('테이블명') Online 인덱스일 경우 기존 인덱스가 남아 있는..
기본 사용자 데이터베이스 이동을 따른다. --오프라인 ALTER DATABASE [SSISDB] SET OFFLINE; --파일 이동 --경로설정 ALTER DATABASE [SSISDB] MODIFY FILE ( NAME = data, FILENAME = 'D:\DATA\SSISDB.mdf' ); ALTER DATABASE [SSISDB] MODIFY FILE ( NAME = log, FILENAME = 'D:\LOG\SSISDB.ldf' ); --온라인 ALTER DATABASE [SSISDB] SET ONLINE; --확인 SELECT name, physical_name AS CurrentLocation, state_desc FROM sys.master_files WHERE database_id =..
WMI Provider ~ 에러메세지로 창이 열리지 않으면 1) cmd 관리자 모드 실행 2) cd C:\Program Files (x86)\Microsoft SQL Server\140(SQL Server 버전에 맞도록)\Shared 80 = SQL Server 2000 = 8.00.xxxx 90 = SQL Server 2005 = 9.00.xxxx 100 = SQL Server 2008 = 10.00.xxxx 105 = SQL Server 2008 R2 = 10.50.xxxx 110 = SQL Server 2012 = 11.00.xxxx 120 = SQL Server 2014 = 12.00.xxxx 130 = SQL Server 2016 = 13.00.xxxx 140 = SQL Server 2017 =..