일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |
- user-secrets
- mysql
- Linux
- openrc
- Flutter
- AnimatedPositioned
- Android
- User
- 맥미니
- opentelemetry
- pg_stat_statements
- version 2
- DotNet
- sqlc
- log
- shared_preload_libraries
- 윈도우즈 터미널
- SQL Server
- option pattern
- vscode
- elasticSearch
- otel
- rc-service
- 무선 디버깅
- golang
- docker
- module upgrade
- 옵션 패턴
- go
- IDX Project
- Today
- Total
목록Database/MS SQL (42)
CATCHV Blog
Fill Factor는 Index Data의 채우기 비율을 말한다. 이게 무슨 이야기냐 하면 SQL Server의 데이터는 PAGE라는 개념에 저장이 된다. PAGE에 저장할 수 있는 용량은 약 8000byte 정도가 된다. ("약 8000 byte" 이라고 표현한 이유는 Heap 데이터, 클러스터인덱스, 넌클러스터 인덱스 구조냐에 따라서 실제 저장 용량이 차이가 난다.) 실제 계산을 해보자. CREATE TABLE Table1 ( A INT -- 4 byte , B CHAR(900) -- 900 byte ) GO 이 테이블은 Row당 904 byte를 차지한다. 그렇다면 한 개 PAGE에는 8개(904 * 8 = 7232 byte)의 Row가 들어간다. INSERT INTO Table1 VALUES( ..
버전 : SQL Server 2005, 2008, 2008 R2, 2012 프로시져를 암호화해서 만들어 놓았는데 원본 소스를 삭제한 경우 기존에 암호화 된 프로시져를 분석해야 한다. 분석할 암호화된 프로지셔를 만들어보자. -- 암호화된 Procedure -- 2013.04.13 SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE PROCEDURE sp_EncryptionProc @TEST VARCHAR(100) WITH ENCRYPTION AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from -- interfering with SELECT statements. SET NOCOUNT ON; S..
관리자 전용으로 연결하기 위해서 sqlcmd –A 를 이용하는데 SQL Server의 SSMS로 연결을 하면 쉽게 작업을 할 수 있다 먼저 구성 옵션을 변경해야 한다. 1 2 3 4 5 sp_configure 'remote admin connections', 1 GO RECONFIGURE WITH OVERRIDE GO SSMS를 실행하고 반드시 "데이터베이스 엔진 쿼리"로 연결을 해야 한다. 서버 이름 입력란에 ADMIN: 을 앞에 넣고 연결을 하면 관리자 전용 연결로 연결이 된다.
msdb의 syssubsystems 테이블에 문제가 생긴 경우 복구하는 방법입니다. http://support.microsoft.com/kb/914171/en-us use msdb go delete from msdb.dbo.syssubsystems -- 삭제 exec msdb.dbo.sp_verify_subsystems 1 -- 다시 구성 go
데이터 가져오기가 이상하게 실패하는 경우가 있다. Excel의 경우는 많지 않지만 Text 파일의 경우가 특히 그렇다. URL이나 특정문자가 들어간 경우가 흔히 그러하다. (인코딩 문제인것 같아서 Unicode, UTF-8 다 해보아도 안되는 경우가 있다.) 그런 경우 Bulk Insert 를 사용하면 편하다. BULK INSERT 테이블명 FROM '파일명' with (FIELDTERMINATOR='column 구분자',ROWTERMINATOR='row 구분자')
DBCC DROPCLEANBUFFERS DBCC FREEPROCCACHE
테이블 변경이 가해지는 경우 프로시져에 문제가 발생할 수 있다. 그런 경우를 예방하기 위해서 MS SQL에서는 DMV를 제공한다. 아래 내용은 MSDN의 내용중 프로시져에 관련된 내용을 옭겨 놓은 것이다. 4.비스키마 바운드 열 종속성 반환 다음 예에서는 Table1을 삭제하고 Table2 및 저장 프로시저 Proc1을 만듭니다.이 프로시저는 Table2 및 존재하지 않는 테이블 Table1을 참조합니다.저장 프로시저가 참조 엔터티로 지정되어 sys.dm_sql_referenced_entities 뷰가 실행됩니다.결과 집합에는 Table1에 대한 행 하나와 Table2에 대한 행 세 개가 표시됩니다. Table1이 없기 때문에 열 종속성을 확인할 수 없고 오류 2020이 반환됩니다. is_all_colu..
아래의 내용은 What's New in SQL Server 2012를 정리한 것입니다. String Function CONCAT 문자열 또는 모든 연산에서 NULL과 연산이 될 경우 결과는 NULL이 된다. 하지만 모든 쿼리 문자열에서 이런 형태를 구현할려면 ISNULL('문자열', '')로 처리를 해야 한다. 그래서 CONCAT이 나온 것 같다. CREATE TABLE #Customer ( FirstName VARCHAR(30) NULL , MiddleName VARCHAR(30) NULL , LastName VARCHAR(30) NULL ) GO INSERT INTO #Customer VALUES ('Rachel', 'Jane', 'Clements') , ('Rachel', NULL, 'Clement..
프로시져에서 특정 문자 찾기 SELECT Name FROM sys.procedures WHERE OBJECT_DEFINITION(object_id) LIKE '%t_code%' SELECT OBJECT_NAME(object_id) FROM sys.sql_modules WHERE Definition LIKE '%foobar%' AND OBJECTPROPERTY(object_id, 'IsProcedure') = 1 SELECT ROUTINE_NAME FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_DEFINITION LIKE '%foobar%' AND ROUTINE_TYPE = 'PROCEDURE'