SQL Server 썸네일형 리스트형 인덱스된뷰는 다른 데이터베이스간의 테이블로 생성이 안된다. 인덱스된 뷰(INDEXED VIEW)를 생성시 다른 데이터베이스의 테이블을 참조하여 생성을 하려고 하면 오류가 발생이 된다. By Design 이므로 생성할 수 없는 듯 싶다. 오류문구를 자세히 보면 "이름은 두 부분으로 구성되어야 하며 개체는 자체 참조할 수 없습니다 " Two-part만 가능하다는 것으로 보인다. 아래 예제로 확인하면 된다. -- Create DB USE MASTER GO CREATE DATABASE TD1 CREATE DATABASE TD2 GO USE TD1 GO CREATE TABLE TBL1 (COL1 INT) GO USE TD2 GO CREATE TABLE TBL2 (COL1 INT) GO USE TD1 GO -- Create View CREATE VIEW CrossDBVie.. 더보기 SSMS 쿼리 결과탭 없이 구문검사만 하고 싶을땐 SSMS에서 쿼리를 수행할 때 결과탭과 메시지 탭이 같이 출력이 된다. 실제 쿼리가 수행되지 않고 구문검사만 수행을 하고 싶을 경우에 아래와 같이 세션옵션을 변경하여 수행하면 된다. SET OPTION을 쓰거나 SSMS쿼리옵션에서 설정이 가능하다. SET PARSEONLY ON -- without Results, 구문검사만 수행한다. select * from [HumanResources].[Department] SET PARSEONLY OFF -- wit Results, 구문검사 및 결과셋도 출력한다. (기본값)select * from [HumanResources].[Department] 기본값 : UnChecked, 설정적용하려면 Checked 하면 된다. 더보기 오픈 트랜잭션 쿼리가 있는 데이터베이스 찾아보기 현재 오픈된 트랜잭션이 어느 데이터베이스에 있는지 찾는 방법은 여러 가지 있다. 이 활성화된 세션을 찾아야 블로킹세션을 찾을 수 있다. 아래와 같이 세션 2개를 열어서 확인해보자 -- session #1 tempdb 를 열고 실제 데이터베이스는 TD 에 있는 테이블을 업데이트 하고 있다. use tempdb go begin tran update A set diff = '1' from td.[dbo].[results] a -- rollback -- session #2 use tempdb go DBCC OPENTRAN 세션#1에서 tempdb를 오픈하고 Update를 하지만 실제는 TD 를 하고 있는 것을 찾아야 된다. SELECT spid, dbid FROM SYS.SYSPROCESSES WHERE OPE.. 더보기 SQL Server 다양한 와일드카드와 LIKE 연산자의 쓰임새 /* 다양한 와일드카드와 LIKE 연산자의 쓰임새*/ use AdventureWorks2014 go sp_helpindex [HumanResources.Department] /* AK_Department_Name nonclustered, unique located on PRIMARY Name PK_Department_DepartmentID clustered, unique, primary key located on PRIMARY DepartmentID */ -- p 로 시작하는 문자열 검색 SELECT name from HumanResources.Department WHERE Name LIKE 'p%'; -- index seek SELECT name from HumanResources.Department .. 더보기 SQL Server 백업 with copy_only 사용하기 3탄 -- 시나리오 전체백업 + 전체백업 with copy_only + 로그백업 + 로그백업 with copy_only + 로그백업 with copy_only 백업파일이 존재한다. 여기서 복원시 전체백업 with copy_only + 마지막 로그백업 with copy_only 까지 전체복원이 되는가? 결론 : 잘된다. [로그백업 with copy_only] 이후의 로그백업을 순차적으로 복원하면 가능하다. with copy_only는 이전 정상백업과 연관이 되어 있으며 차등백업과 같은 변경점은 바로 직전의 로그백업 또는 전체백업 이후 변경점부터 모두 백업하게 된다. use master GO IF EXISTS (SELECT name FROM master.dbo.sysdatabases WHERE name = N'B.. 더보기 SQL Server 백업 with copy_only 사용하기 2탄 -- 시나리오 전체백업 + 전체백업 with copy_only + 로그백업 ..... + 로그백업 백업파일이 존재한다. 여기서 복원시 전체백업 with copy_only + 마지막 로그백까지 전체복원이 되는가? 결론 : 잘된다. [로그백업 with copy_only] 이후의 로그백업을 순차적으로 복원하면 가능하다. use master GO IF EXISTS (SELECT name FROM master.dbo.sysdatabases WHERE name = N'BACKUPTEST') DROP DATABASE BACKUPTEST GO CREATE DATABASE BACKUPTEST GO USE BACKUPTEST GO --drop table TBL IF OBJECT_ID('dbo.TBL') IS NOT NUL.. 더보기 SQL Server 백업 with copy_only 사용하기 1탄 -- 시나리오 전체백업 + 로그백업 ..... + 로그백업 with copy_only 백업파일이 존재한다. 여기서 복원시 전체백업 + 로그백업 with copy_only 하면 전체복원이 되는가? 결론 : 실패 왜? [로그백업 with copy_only] 이전의 로그백업이 존재하기에 이전 로그백업을 모두 복원 후 최종으로 [로그백업 with copy_only] 을 복원하면 가능하다. use master GO IF EXISTS (SELECT name FROM master.dbo.sysdatabases WHERE name = N'BACKUPTEST') DROP DATABASE BACKUPTEST GO CREATE DATABASE BACKUPTEST GO USE BACKUPTEST GO --drop table .. 더보기 SQL Server 최초 전체백업 with copy_ony 후 로그백업은 실패다 SQL Server Full Backup은 무조건 해주고 시작하는것이 좋을 것 같다. 전체백업 with COPY_Only 로 백업 후 트랜잭션로그백업을 받으면 아래와 같이 오류다. 중요한 포인트이다. 왜 ? 가용성그룹의 백업정책과 밀접한 관계가 있다. use master GO IF EXISTS (SELECT name FROM master.dbo.sysdatabases WHERE name = N'BACKUPTEST') DROP DATABASE BACKUPTEST GO CREATE DATABASE BACKUPTEST GO USE BACKUPTEST GO --drop table TBL IF OBJECT_ID('dbo.TBL') IS NULL drop table TBL GO CREATE TABLE TBL(COL.. 더보기 이전 1 ··· 7 8 9 10 11 12 13 ··· 15 다음