본문 바로가기

RDB/MSSQL21

The server principal "{login}" is not able to access the database "{db_name}" under the current security context. ALTER DATABASE {DB_NAME} SET TRUSTWORTHY on WITH EXECUTE AS OWNER 가 SP내에 있을 때 TRUSTWORTHY 옵션 켜야함 2024. 7. 12.
create sys procedure EXEC sp_ms_marksystemobject 'spName' 2024. 7. 5.
[MSSQL] OUTPUT INTO 원본 데이터 사용하기 데이터를 Insert할 때 특정 컬럼의 값이 유동적인 Default 값으로 Insert된다면 해당 값을 OUTPUT INTO 를 통해 inserted.{column_name} 으로 받아올 수 있다. 하지만 INSERT SELECT 를 하게 될 때에 SELECT한 값을 OUTPUT과 함께 받아오는 것은 불가능하다. 이 상황에 대안 방법으로 MERGE INTO를 사용하는 것이 고려된다. --소스 테이블CREATE TABLE sourceTable ( id int IDENTITY (1, 1) NOT NULL, data int NOT NULL);--타겟 테이블CREATE TABLE targetTable ( id int IDENTITY (1, 1) NOT NULL, data int NOT NULL);--소스, 타겟.. 2024. 5. 23.
참고용 index include 넌클러스터 인덱스 리프노드에 함께 포함시키는 옵션 인덱스 컬럼으로 순서를 매기지만 include된 컬럼 또한 리프노드에 같이 저장하므로 클러스터 인덱스에 접근하지 않고 데이터를 조회할 수 있음 https://blog.naver.com/PostView.naver?blogId=sinjoker&logNo=222600096237&categoryNo=122&parentCategoryNo=93&viewDate=&currentPage=2&postListTopCurrentPage=1&from=menu&userTopListOpen=true&userTopListCount=5&userTopListManageOpen=false&userTopListCurrentPage=2 SQL Server 인덱스 튜닝 문제 쿠폰 업데이트를 .. 2024. 4. 5.
트랜잭션로그복원 https://featur.tistory.com/152 2024. 3. 27.
[MSSQL] 이미 존재하는 DB 복원 실패 The backup set holds a backup of a database other than the existing {DATABASE NAME} database. RESTORE DATABASE is terminating abnormally. (Microsoft SQL Server, Error: 3154) 또는 Msg 1834, Level 16, State 1, Line 1 The file {FILE_PATH} cannot be overwritten. It is being used by database {DATABASE NAME}. Msg 3156, Level 16, State 4, Line 1 File {NEW_DATABASE NAME} cannot be restored to {mdf_file_pa.. 2024. 2. 5.
세션 확인용 SELECT d.name AS [Database], s.program_name, s.host_name, s.login_name FROM sys.dm_exec_sessions s JOIN sys.databases d ON s.database_id = d.database_id WHERE d.name = '테이블명'; 2024. 1. 31.
데이터 collation 변경작업 -- 데이터베이스 오프라인 모드로 변경 ALTER DATABASE SF_TWN_GAMEDB SET OFFLINE WITH ROLLBACK IMMEDIATE; -- 데이터베이스의 Collation 변경 ALTER DATABASE SF_TWN_GAMEDB COLLATE Chinese_Taiwan_Stroke_CI_AS; ALTER DATABASE SF_TWN_GAMEDB COLLATE Korean_Wansung_CI_AS; -- 데이터베이스 온라인 모드로 변경 ALTER DATABASE SF_TWN_GAMEDB SET ONLINE; 2024. 1. 23.
[MSSQL] Unable to open the physical file Operating system error 5: "5(Access is denied.)". 해결법 이전글 참고: https://kigo23.tistory.com/29 해당 오류는 ALTER DATABASE {DB명} MODIFY FILE 을 사용하여 파일경로, 파일명을 변경할 때 윈도우 계정이 파일에 대한 권한이 부족하여 발생하는 오류이다. 파일을 관리할 수 있는 계정권한을 부여한다면 쉽게 해결할 수 있다. 해당 파일의 속성-보안 에서 Edit를 선택하여 Full control 권한을 유저 계정에 부여한다. 사용하는 계정을 선택한 뒤 Full Control을 Allow 하여 해결할 수 있다. 2024. 1. 18.
[MSSQL] DB 복원하면서 체크사항 1. DB 오프라인 상태로 바꿨다가 온라인 상태로 변경 (복원 직후에 배타적으로 잠금 해제 필요) 2. 복원 후 호환성, 옵션 설정 3. 사용자 권한 매핑 ... 2024. 1. 12.
[MSSQL] 백업 압축 데이터베이스를 압축하며 백업하는 기능 장점 - 백업 데이터를 압축하여 디스크 I/O를 줄이고 백업시간을 단축함 - 디스크 공간을 절약할 수 있음 단점 - 일반 압축보다 많은 CPU 리소스를 사용하게 됨 (단 백업 시 사용되는 CPU 사용량 제한가능) 백업 압축은 백업쿼리에 WITH COMPRESSION 옵션을 추가하여 사용할 수 있습니다. 또는 서버 레벨에서 기본 값으로 백업 압축을 활성화할 수 있는데 기본값은 사용하지 않음으로 설정되어 있습니다. --일반 압축 BACKUP DATABASE SAMPLE_DB TO DISK = 'D:\SQL\BACKUP\SAMPLE_DB.BAK' WITH INIT GO --백업 압축 BACKUP DATABASE SAMPLE_DB TO DISK = 'D:\SQL\BACKUP.. 2023. 12. 3.
[DB] Oracle에 MSSQL DB Link 생성 Oracle에서 mssql 서버를 연결하여 통신이 필요할 때 사용할 수 있습니다. 정보가 많이 없었는데 아래 출처의 블로그에 정리가 잘 되어있어 참고하여 작업하였습니다. (참고 블로그 : https://positivemh.tistory.com/626) 해당 포스팅은 Oracle DB에 mssql DB Link를 생성하는 글이며, mssql에서 오라클 DB에 연결할 때에는 Linked Server를 생성하여 사용해야 합니다. 작업한 내용을 정리하기 위해 포스팅 합니다. 서버간 통신을 위해 ODBC 설정을 해야합니다. (방화벽 접근권한이 허용되어있어야 합니다.) 아래 내용을 오라클이 설치된 리눅스 OS에서 작업합니다. 1. unixODBC를 설치합니다. # yum install unixODBC* 2. Fre.. 2023. 9. 2.
반응형