728x90


MSSQL2008 Management Studio를 사용하는 개발자들에게 팁을 하나 주려고 포스팅합니다.
테이블을 생성하고 수정시 이런 경고메세지로 인해서 수정을 못하는 분들이 있을겁니다.

 
변경 내용을 저장 할수 없습니다. 변경 내용을 적용하려면 다음 테이블을 삭제 하고 다시 만들어야 합니다. 다시 만들 수 없는 테이블을 변경 했거나 [테이블을 다시 만들어야 하는 변경 내용 저장 사용 안함 ] 옵션을 설정 했습니다.

MSSQL2008 Management Studio 제약을 걸어놓았더군요. ms에서 왜 그런지는 잘 모르겠구요. 해결 방법은 아래와 같이 해주시면 됩니다.

Management Studio > 도구 > 옵션 > <테이블을 다시 만들어야 하는 변경 내용 저장 사용 안함> 항목을 체크해제 해주시면 됩니다. 아주 간단하죠.

 


옵션 : 테이블을 다시 만들어야 하는 변경 내용 저장 사용 안 함
테이블을 다시 만들어야 하는 변경 내용을 사용자가 저장할 수 없게 만듭니다.
다음 동작을 수행하려면 테이블을 다시 만들어야 할 수 있습니다.
1. 테이블의 중간에 새 열 추가
2. 열 삭제
3. 열의 Null 허용 여부 변경
4. 열의 순서 변경
5. 열의 데이터 형식 변경
위 경우에 옵션을 제한하네요..

기타 옵션은 아래 링크에서 확인하세요.
http://msdn.microsoft.com/ko-kr/library/ms188490.aspx

 

원본링크 : http://www.overtop.co.kr/tt2/335

 

728x90

SQL 서버 데이터베이스 내에 존재하는 시스템 테이블 'sysindexes'에는 'rows'란 컬럼이 존재합니다.

이 컬럼은 테이블에 반영된 행들의 수를 갖고 있습니다.

다음 SQL문을 실행시키면 원하는 결과를 효과적으로 얻을 수 있을 것입니다.

 

select o.name, rows

    from sysobjects o inner join sysindexes i on o.id = i.id

    where i.indid < 2

    order by o.name

 

where 절의 "indid<2" 부분은 클러스터드 인덱스(clustered index) 또는 힙(heap) 정보를 찾지 않기 위해서 입니다.

이 결과는 실제로 트랜잭션(transaction)이 일어난 행만 카운트 합니다.

출처 : http://www.devpia.co.kr/Maeul/Contents/Detail.aspx?BoardID=42&MAEULNO=17&no=101&page=1
728x90
SELECT a.[name] as '테이블 이름',
b.[name] as '열 이름',
b.[length] as '데이터 길이',
c.[name] as '데이터 형식',
isnull(d.[value],'') as'설명'
FROM
sysobjects a
INNER JOIN
syscolumns b
ON a.id = b.id
INNER JOIN
systypes c
ON b.xusertype = c.xusertype
LEFT OUTER JOIN
sys.extended_properties d
ON b.id = d.major_id and b.colid = d.minor_id
WHERE a.[name] = 'Table_name' -- 테이블 이름

+ Recent posts