IDENTITY_INSERT가 OFF로 설정되면 테이블 '테이블명'의 ID 열에 명시적 값을 삽입할 수 없습니다.

DataBase/MS-SQL|2019. 11. 22. 12:11
반응형

쿼리 

 CREATE TABLE dbo.[테이블명] (
        seq int IDENTITY (1, 1) NOT NULL,
       id varchar(20) NOT NULL
 )
 
insert into dbo.[테이블명] (seq,id) values(1,'abc')

IDENTITY_INSERT가 OFF로 설정되면 테이블 '테이블명'의 ID 열에 명시적 값을 삽입할 수 없습니다.

 

IDENTITY 가 있는 데이터 테이블 생성 후 해당 컬럼 입력 시도 할 경우 에러 발생

 

아래와 같이 IDENTITY_INSERT ON 처리 후 실행 시 가능해짐

반드시 INSERT 후에 OFF 처리 해야 이후 문제가 안생김

SET IDENTITY_INSERT dbo.[테이블명] ON

insert into dbo.[테이블명] (seq,id) values(1,'abc')

SET IDENTITY_INSERT dbo.[테이블명] OFF

댓글()

MSSQL - 시간 분 시간별 그룹화 / 5분단위로

DataBase/MS-SQL|2019. 11. 5. 15:43
반응형

년,월,일,시,분 단위로 그룹핑하여 보기 각종 통계시 활용

 

select DATEPART(YEAR, adddt) '년'
,DATEPART(MONTH, adddt) '월'
,DATEPART(DAY, adddt) '일'
,DATEPART(HOUR, adddt) '시'
-- ,(DATEPART(MINUTE, adddt) / 10)
,count(*) FRom 테이블명 with(nolock)
 GROUP BY
DATEPART(YEAR, adddt)
,DATEPART(MONTH, adddt) 
,DATEPART(DAY, adddt)
,DATEPART(HOUR, adddt)
--,(DATEPART(MINUTE, adddt) / 10)
order by 1,2,3,4


select TIMEFROMPARTS(
         DATEPART(HOUR, adddt),
         DATEPART(MINUTE, adddt) / 5 * 5, 0,
         0,
         0)
,count(*) FRom 테이블명 with(nolock) 
group by TIMEFROMPARTS(
         DATEPART(HOUR, adddt),
         DATEPART(MINUTE, adddt) / 5 * 5, 0,
         0,
         0)
order by 1

 

댓글()

MSSQL, 테이블 및 인덱스 사이즈 구하기, Table and Index size in SQL Server

DataBase/MS-SQL|2019. 11. 5. 14:09
반응형
create table #t
(
  name nvarchar(128),
  rows varchar(50),
  reserved varchar(50),
  data varchar(50),
  index_size varchar(50),
  unused varchar(50)
)

declare @id nvarchar(128)
declare c cursor for
select '[' + sc.name + '].[' + s.name + ']' FROM sysobjects s INNER JOIN sys.schemas sc ON s.uid = sc.schema_id where s.xtype='U'

open c
fetch c into @id

while @@fetch_status = 0 begin

  insert into #t
  exec sp_spaceused @id

  fetch c into @id
end

close c
deallocate c

select * from #t
order by convert(int, substring(data, 1, len(data)-3)) desc

drop table #t

 

 

참고 URL : https://stackoverflow.com/questions/316831/table-and-index-size-in-sql-server

댓글()

암호가 암호 정책 요구 사항에 맞지 않습니다. 최소 암호 길이, 암호 복잡도 및 암호 기록 요구 사항을 확인하십시오.

OS/Microsoft|2019. 10. 29. 13:09
반응형

윈도우 신규 계정 생성 시 아래와 같은 오류 메시지가 뜰 경우 아래와 같이 보안정책 완화할 수 있다.

하지만 권장사항이니 만큼 사용하는 것이 좋을 것 같다.

 

 

암호가 암호 정책 요구 사항에 맞지 않습니다. 최소 암호 길이, 암호 복잡도 및 암호 기록 요구 사항을 확인하십시오.

 

1. 계정 생성 시 아래와 같이 오류 메시지가 뜸.

 

 

2. 실행 - secpol.msc 

 

 

 

 

3. 로컬 보안 정책 - 계정 정책 - 암호 정책 - 암호는 복잡성을 만족해야 함

 

 

4. 사용안함 - 저장

 

 

댓글()

database mdf 파일 사이즈 축소

DataBase/MS-SQL|2019. 10. 11. 10:52
반응형

 

로그 서버에 DB 파일 사이즈가 900기가에 육박하여 불필요한 로그를 삭제하고 

 

DBCC SHRINKFILE(DB명, TRUNCATEONLY)

 

위와 같이 축소를 했다.

 

하지만 크게 줄어들지 않은 mdf 파일 사이즈

 

왜 그렇지 하고 찾아보니 SHRINKFILE 옵션을 찾아보니 

 

(MS docs 링크)

 

NOTRUNCATE
target_percent의 지정 여부와 관계없이 데이터 파일의 끝에서 할당된 페이지를 파일 앞의 할당되지 않은 페이지로 이동합니다. 파일 끝의 사용 가능한 공간이 운영 체제에 반환되지 않고, 파일의 물리적 크기가 변경되지 않습니다. 그러므로 NOTRUNCATE를 지정하면 파일이 축소되지 않는 것처럼 보입니다. NOTRUNCATE는 데이터 파일에만 적용되며 로그 파일에는 영향을 주지 않습니다. 이 옵션은 FILESTREAM 파일 그룹 컨테이너에서 지원되지 않습니다.

 

TRUNCATEONLY
파일 끝의 모든 사용 가능한 공간을 운영 체제로 해제하지만 파일 내에서 페이지 이동을 수행하지 않습니다. 데이터 파일은 마지막으로 할당된 익스텐트까지만 축소됩니다. TRUNCATEONLY로 지정되면 target_size가 무시됩니다.
TRUNCATEONLY 옵션은 로그에 있는 정보를 이동시키지 않습니다. 하지만 로그 파일의 끝에서 비활성 상태의 VLF를 제거합니다. 이 옵션은 FILESTREAM 파일 그룹 컨테이너에서 지원되지 않습니다.

 

TRUNCATEONLY 옵션으로는 중간중간에 비어있는 공간에 대해서 해제를 하지 못한다는 것.

 

NOTRUNCATE 옵션으로 중간중간 비어있는 공간들을 당겨주고

TRUNCATEONLY 옵션으로 해제해주어야 원하는 결과를 얻을 수 있었다.

 

 


DBCC SHRINKFILE(DB명,NOTRUNCATE) 
-- DB 빈 공간 정리 마치 조각 모음과 같다. ( 빈 공간은 그대로 남아있다 )

DBCC SHRINKFILE(DB명, TRUNCATEONLY) 
-- 빈 여유 공간 제거 ( 사이즈 축소 )

 

 

 

댓글()

윈도우 원격 접속 관리 툴 , Remote Desktop Connection Manager 2.7

OS/Microsoft|2019. 10. 7. 12:21
반응형

 

윈도우 원격 접속 관리 툴입니다.

 

여러 서버의 동시 접속 관리시 유용한 툴 이며 접속정보가 저장되어 전용 PC에서 활용도가 높습니다.

 

아래와 같이 연결된 여러 서버들의 실시간 화면을 볼 수 있고

 

연결된 상태에서 클릭만으로 서버 간 이동이 가능합니다.

 

 

접속된 서버의 경우 아래와 같이 우측 화면에 연결화면이 나오며 메뉴를 통해 전체화면으로도 변경 가능합니다.

 

 

서버 등록 시 입력되는 항목들입니다. 기본적인 이름부터 로그인 정보 , 해상도 등등..

 

 

 

등록된 서버별 메뉴는 아래와 같은데 매우 직관적이기 때문에 별도 설명없이도 사용이 가능하실 것 같습니다.

 

 

 

 

Remote Desktop Connection Manager 2.7

 

RDCMan 2.7

RDCMan manages multiple remote desktop connections

www.microsoft.com

 

댓글()

Database 목록을 확인하는 5가지 방법

DataBase/MS-SQL|2019. 9. 20. 10:08
반응형

SQL Server 2000 이상

SELECT * FROM dbo.sysdatabases

 

SQL Server 2005 이상

SELECT * FROM sys.databases

 

DB 이름만

EXEC sp_MSForEachDB 'SELECT ''?'' AS DatabaseName'

 

DB 이름 , 소유자 , 상태 , 크기  등과 함께

EXEC sp_helpdb

 

DB 이름 , 크기

EXEC sp_databases

 

댓글()

문자열 치환 정규식

Progmming/ASP|2019. 7. 26. 10:41
반응형

0-9 까지 숫자를 제거

Set eregObj = New RegExp: 
eregObj.Pattern = "[0-9]": 
eregObj.IgnoreCase = True: 
eregObj.Global = True: 
str = eregObj.Replace(str, ""):

 

..

댓글()