/*
  테스트용으로 northwind를 복사한 newNorthwind라는 DB를 사용합니다.
  <<백업/복원이나 DTS 와 같은 기능을 이용해서 직접 작업하시면 됩니다.>>
*/
use newNorthwind

/*
    원본 dtproperties 확인

  EM에서 작성한 다이어그램은 dtproperties 시스템 테이블에 저장된다.
  다이어그램을 복사하고자 할 경우, dtproperties 테이블의 데이터를 복사함으로써
 프로그램으로 다이어그램 복사 작업이 가능하다.

  다이어그램 하나 당 7개의 row로 구성된다.
*/

select * from northwind.dbo.dtproperties


/*
    dtproperties 테이블의 몇 가지 특징

    - 타입은 user 테이블이다.
     - EM에서는 system table 로 출력된다.
        이 테이블은 SQL Server에 의해서 내부적으로 생성되기 때문에
       'IsMSShipped' 속성을 가지고 있고 이로 인해 EM에서 system table로
      출력이 된다.
*/


select *  from sysobjects
where id = object_id('dtproperties')

-- IsMSShipped: MS SQL Server 2000에 의해서 (설치동안) 작성된 테이블
select name, objectproperty(id, 'IsMSShipped'), objectproperty(id, 'IsSystemTable') from sysobjects
where id = object_id('dtproperties')

--dtproperties 생성, 없는 경우 em에서 다이어그램 항목을 클릭하면 하면 자동 생성됨.
select * from dbo.dtproperties

-- id 컬럼이 identity 속성을 가지고 있다.
exec sp_help dtproperties


/*시작*/
--시스템 테이블에 수정을 가능하게 한다.
EXEC sp_configure 'allow updates', 1
RECONFIGURE WITH OVERRIDE
GO

UPDATE sysobjects
SET xtype = 'U'
WHERE name = 'dtproperties'


-- 이동할 데이터베이스의 dtproperties id insert 설정
set identity_insert dtproperties on

-- 복사
INSERT INTO newnorthwind.dbo.dtproperties
 (id, objectid, property, value, uvalue, lvalue, version)
  SELECT id, objectid, property, value, uvalue, lvalue, version 
  FROM northwind.dbo.dtproperties

set identity_insert dtproperties off

--다시 테이블의 속성을 시스템 테이블로 변경한다.
UPDATE sysobjects
SET xtype = 'S'
WHERE name = 'dtproperties'


--시스템 테이블에 수정을 불가하게 한다.
EXEC sp_configure 'allow updates', 0
RECONFIGURE WITH OVERRIDE
GO

/*끝*/


--완료 후, EM 다이어그램에서 새로 고침후 확인


참고 :
DTS(Data Transfer Service) -  DTS 위져드 사용 : http://sqler.pe.kr/sql2k/1202.asp
http://www.devpia.com/MAEUL/Contents/Detail.aspx?BoardID=39&MAEULNO=16&no=483&page=14


Posted by 귀찮은 여니씨
,

1. 테이블 필드 수정하기
ex) alter table sale alter column title varchar(200) not null

2. 필드 삭제하기
ex) alter table sale drop title

3. 필드 추가하기
ex) alter table sal add sale varchar(20) not null
alter table sale add isDel bit DEFAULT 0 not null

 컬럼사이에 넣는것은 EM 에서만 가능한것같네여. 

[출처] mssql alter table column|작성자 재원맨



MSSQL에서 개체의 정보 변경은 저장프로시져로 처리한다.
---------------------------------
1.테이블명 바꾸기
---------------------------------

sp_rename   바꿀 Table , New Table 명

---------------------------------
2.컬럼명 바꾸기
---------------------------------

sp_rename 'TableName.바꿀 컬럼명','new 컬럼명'

Posted by 귀찮은 여니씨
,

방화벽 시스템은 컴퓨터 리소스에 대한 무단 액세스를 방지합니다. 방화벽을 통해 SQL Server 데이터베이스 엔진의 인스턴스에 액세스하려면 SQL Server를 실행하는 컴퓨터에서 액세스를 허용하도록 방화벽을 구성해야 합니다.

기본 Windows 방화벽 설정에 대한 자세한 내용과 데이터베이스 엔진, Analysis Services, Reporting Services 및 Integration Services에 영향을 주는 TCP 포트에 대한 설명은 SQL Server 액세스를 허용하도록 Windows 방화벽 구성인터넷으로 SQL Server에 연결을 참조하십시오. 사용할 수 있는 방화벽 시스템은 여러 가지가 있습니다. 사용 중인 시스템에 해당하는 설명은 방화벽 설명서를 참조하십시오.

ms175043.note(ko-kr,SQL.100).gif중요:
방화벽의 포트를 열면 서버가 악의적인 공격에 노출될 수 있습니다. 포트를 열기 전에 방화벽 시스템을 잘 이해해야 합니다. 자세한 내용은 SQL Server 설치에 대한 보안 고려 사항을 참조하십시오.

액세스를 허용하는 주요 단계는 다음과 같습니다.

  1. 특정 TCP/IP 포트를 사용하도록 데이터베이스 엔진을 구성합니다. 데이터베이스 엔진의 기본 인스턴스에서는 포트 1433을 사용하지만 이 포트는 변경할 수 있습니다. SQL Server Express 인스턴스, SQL Server Compact 3.5 및 데이터베이스 엔진의 명명된 인스턴스에서는 동적 포트를 사용합니다. 특정 포트를 사용하도록 이러한 인스턴스를 구성하려면 방법: 특정 TCP 포트로 수신하도록 서버 구성(SQL Server 구성 관리자)을 참조하십시오.
  2. 권한 있는 사용자 또는 컴퓨터에 해당 포트에 대한 액세스를 허용하도록 방화벽을 구성합니다.
ms175043.note(ko-kr,SQL.100).gif참고:
SQL Server Browser 서비스를 사용하면 사용자가 포트 번호를 몰라도 포트 1433에서 수신하지 않는 데이터베이스 엔진 인스턴스에 연결할 수 있습니다. SQL Server Browser를 사용하려면 UDP 포트 1434를 열어야 합니다. 가장 안전한 환경으로 승격하려면 SQL Server Browser 서비스를 중지하고 해당 포트 번호를 사용하여 연결하도록 클라이언트를 구성합니다.

ms175043.note(ko-kr,SQL.100).gif참고:
기본적으로 Microsoft Windows XP 서비스 팩 2에서는 포트 1433을 닫아 인터넷 컴퓨터가 사용자 컴퓨터의 기본 SQL Server 인스턴스에 연결할 수 없도록 하는 Windows 방화벽을 사용합니다. 포트 1433을 다시 열 때까지 TCP/IP를 사용하여 기본 인스턴스에 연결할 수 없습니다. Windows XP 방화벽 구성을 위한 기본적인 단계는 다음 절차에서 볼 수 있습니다. 자세한 내용은 Windows 설명서를 참조하십시오.

고정 포트에서 수신하도록 SQL Server를 구성하고 포트를 여는 대신 SQL Server 실행 파일(Sqlservr.exe)을 차단된 프로그램의 예외로 표시할 수 있습니다. 동적 포트를 계속 사용하려는 경우 이 방법을 사용합니다. 이렇게 하면 하나의 SQL Server 인스턴스에만 액세스할 수 있습니다.

다음 절차에서는 현재 네트워크 위치 프로필에 대한 방화벽만 구성하는 제어판의 Windows 방화벽 항목을 사용하여 Windows 방화벽을 구성합니다. Windows 방화벽은 고급 보안이 설정된 Windows 방화벽 MMC(Microsoft Management Console) 스냅인 및 netsh 명령줄 도구를 사용하여 구성할 수도 있습니다. 이러한 도구에 대한 자세한 내용은 SQL Server 액세스를 허용하도록 Windows 방화벽 구성을 참조하십시오.

  1. 제어판에서 네트워크 연결을 열고 활성 연결을 마우스 오른쪽 단추로 클릭한 다음 속성을 클릭합니다.

  2. 고급 탭을 클릭한 다음 Windows 방화벽 설정을 클릭합니다.

  3. Windows 방화벽 대화 상자에서 예외 탭을 클릭한 다음 포트 추가를 클릭합니다.

  4. 포트 추가 대화 상자에서 이름 입력란에 SQL Server <instance name>을 입력합니다.

  5. 포트 번호 입력란에 데이터베이스 엔진 인스턴스의 포트 번호를 입력합니다. 예를 들어 기본 인스턴스의 포트 번호는 1433입니다.

  6. TCP를 선택한 다음 확인을 클릭합니다.

  7. SQL Server Browser 서비스를 노출하는 포트를 열려면 포트 추가를 클릭하고 이름 입력란에 SQL Server Browser를 입력합니다. 포트 번호 입력란에 1434를 입력하고 UDP를 선택한 다음 확인을 클릭합니다.

    ms175043.note(ko-kr,SQL.100).gif참고:
    방화벽을 통해 명명된 파이프에 액세스할 수 있도록 하려면 방화벽을 통한 파일 및 프린터 공유도 설정해야 합니다.

  8. Windows 방화벽속성 대화 상자를 닫습니다.

ms175043.note(ko-kr,SQL.100).gif참고:
특정 프로그램에 대한 액세스 허용 및 특정 IP 주소나 네트워크 서브넷에 대한 액세스 제한과 같은 추가 옵션을 설정하려면 Windows 방화벽 대화 상자에서 프로그램 추가를 클릭합니다. 자세한 내용은 Windows 설명서를 참조하십시오.

  1. 제어판에서 네트워크 연결을 열고 활성 연결을 마우스 오른쪽 단추로 클릭한 다음 속성을 클릭합니다.

  2. 고급 탭을 클릭한 다음 Windows 방화벽 설정을 클릭합니다.

  3. Windows 방화벽 대화 상자에서 예외 탭을 클릭한 다음 포트 추가를 클릭합니다.

  4. 포트 추가 대화 상자에서 이름 입력란에 SQL Server <instance name>을 입력합니다.

  5. 포트 번호 입력란에 데이터베이스 엔진 인스턴스의 포트 번호를 입력합니다. 예를 들어 기본 인스턴스의 포트 번호는 1433입니다.

  6. TCP를 선택한 다음 확인을 클릭합니다.

  7. SQL Server Browser 서비스를 노출하는 포트를 열려면 포트 추가를 클릭하고 이름 입력란에 SQL Server Browser를 입력합니다. 포트 번호 입력란에 1434를 입력하고 UDP를 선택한 다음 확인을 클릭합니다.

    ms175043.note(ko-kr,SQL.100).gif참고:
    방화벽을 통해 명명된 파이프에 액세스할 수 있도록 하려면 방화벽을 통한 파일 및 프린터 공유도 설정해야 합니다.

  8. Windows 방화벽속성 대화 상자를 닫습니다.

ms175043.note(ko-kr,SQL.100).gif참고:
특정 프로그램에 대한 액세스 허용 및 특정 IP 주소나 네트워크 서브넷에 대한 액세스 제한과 같은 추가 옵션을 설정하려면 Windows 방화벽 대화 상자에서 프로그램 추가를 클릭합니다. 자세한 내용은 Windows 설명서를 참조하십시오.

  1. Windows 방화벽 대화 상자의 예외 탭에서 프로그램 추가를 클릭합니다.

  2. 찾아보기를 클릭하여 방화벽을 통해 액세스할 SQL Server 인스턴스를 찾은 다음 열기를 클릭합니다. 기본적으로 SQL Server는 C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\Binn\Sqlservr.exe에 있습니다.

  3. Windows 방화벽 프로그램을 닫으려면 확인을 두 번 클릭합니다.

SQL Server Management Studio를 사용하여 정적 포트를 구성하고 방화벽을 열고 데이터베이스 엔진에 연결하는 방법에 대한 간단한 자습서는 자습서: 데이터베이스 엔진 시작을 참조하십시오.

  1. Windows 방화벽 대화 상자의 예외 탭에서 프로그램 추가를 클릭합니다.

  2. 찾아보기를 클릭하여 방화벽을 통해 액세스할 SQL Server 인스턴스를 찾은 다음 열기를 클릭합니다. 기본적으로 SQL Server는 C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\Binn\Sqlservr.exe에 있습니다.

  3. Windows 방화벽 프로그램을 닫으려면 확인을 두 번 클릭합니다.


    - 출처 : http://msdn.microsoft.com/ko-kr/library/ms175043.aspx -

Posted by 귀찮은 여니씨
,