본문 바로가기

SQL Server

(82)
[SQL Server] SQL Server 인스턴스 간에 로그인 및 암호를 전송하는 방법(스크립트) /* Microsoft SQL Server 2005 인스턴스 간에 로그인과 암호를 전송하는 방법 */ USE master GO IF OBJECT_ID ('sp_hexadecimal') IS NOT NULL DROP PROCEDURE sp_hexadecimal GO CREATE PROCEDURE sp_hexadecimal @binvalue varbinary(256), @hexvalue varchar (514) OUTPUT AS DECLARE @charvalue varchar (514) DECLARE @i int DECLARE @length int DECLARE @hexstring char(16) SELECT @charvalue = '0x' SELECT @i = 1 SELECT @length = DATALE..
[SQL Server] 업그레이드 관리자 설치 SQL Server 업그레이드 관리자는 SQL Server의 업그레이드를 준비할 수 있게 도와준다. 업그레이드 관리자는 SQL Server 이전 버전에서 설치된 구성 요소를 분석한 다음 업그레이드 전이나 후에 해결해야 할 문제를 보여주는 보고서를 생성한다. 설치하는 방법은 다음과 같다. 1. 아래의 링크에서 업그레이드 관리자 설치 패키지를 다운로드 받는다. http://technet.microsoft.com/ko-kr/library/ms144256(v=sql.105) 2. 다운 받은 파일을 실행시켜 설치를 시작한다. 3. 설치가 완료되면 시작 메뉴에서 실행할 수 있다. 시작 -> 모든프로그램 -> Microsoft SQL Server 2008 R2 -> SQL Server 2008 R2 업그레이드 관리자..
[SQL Server] 복제된 테이블에 열 추가하기 복제된 테이블에 열을 추가할 때 sp_repladdcolumn 저장 프로시저를 사용할 수 있다. 이 저장 프로시저를 사용하면 구독자에서 열을 자동으로 추가하기 때문에 전체 게시를 초기화하지 않고도 복제된 테이블에 열을 추가할 수 있다. sp_repladdcolumn @source_object = 'table_name' , @column = 'column_name' , @typetext = 'varchar(500) null' 참고 : http://technet.microsoft.com/en-us/library/ms189464(v=sql.100).aspx
[SQL Server] 사용중인 포트 확인 및 변경 SQL Server는 기본포트로 1433을 사용하고 있다. 현재 사용중인 포트 확인 및 변경은 SQL Server 구성관리자에서 할 수 있다. Sql Server Configuration Manager -> SQL Server Network Configuration -> Protocols for MSSQLSERVER -> TCP/IP Properties -> IP Addresses -> IPAll 에서 확인 및 변경이 가능하다. 포트 변경 후에는 서비스를 재시작하여야 한다.
[SQL Server] ALTER COLUMN 사용시 열을 수정할 수 없는 경우 INT형 데이터 형식의 컬림이 오버플로 오류가 발생하여 BIGINT형으로 변경해야하는 경우가 있다. 아래와 같이 실행하였을 때 오류가 발생한다. 해당 열에 DEFAULT 제약조건이 걸려있어서 수정할 수 없는 오류이다. 제약조건을 확인해보면 해당 열에 DEFAULT 제약조건이 걸려있음을 확인할 수 있다. 해당 열의 데이터 형식을 변경하기 위해서 1. DEFAULT 제약조건 삭제 2. 데이터 형식 변경 3. 다시 DEFAULT 제약조건 추가 ALTER COLUMN은 명명된 열을 변경하도록 지정한다. 하지만 다음과 같은 열은 수정할 수 없다. 1. 데이터 형식이 timestamp인 열 2. 테이블의 ROWGUIDCOL 3. 계산 열이나 계산 열에 사용된 열 4. 인덱스에 사용된 열 5. CREATE STATI..
[SQL Server] UPDATE 절 사용시 FROM 절, JOIN 사용하기 UPDATE 절에서도 SELECT 절과 마찬가지로 FROM 절과 JOIN 문을 사용할 수 있다. SELECT 절에서의 JOIN 문과 차이가 없다. CREATE TABLE T_1 ( COL1 INT IDENTITY(1,1) , COL2 CHAR(2) ) GO CREATE TABLE T_2 ( COL1 INT IDENTITY(1,1) , COL2 CHAR(2) ) GO INSERT INTO T_1 VALUES ('아'), ('야'), ('어'), ('여') INSERT INTO T_2 VALUES ('가'), ('갸'), ('거'), ('겨') GO SELECT * FROM T_1 SELECT * FROM T_2 GO UPDATE T_1 SET COL2 = B.COL2 FROM T_1 AS A INNER J..
[SQL Server] RPC에 대해 구성되지 않았습니다. 원격 DB의 프로시저 호출시 '~RPC에 대해 구성되지 않았습니다.' 라는 오류가 발생하였다. 이 오류를 해결하기 위해 RPC 내보내기를 활성화 해주면 된다. -- 연결된 서버로부터 로컬 서버로의 RPC 내보내기 활성화 EXEC sp_serveroption 'DB 링크명', 'RPC', TRUE -- 로컬 서버로부터 연결된 서버로의 RPC 내보내기 활성화 EXEC sp_serveroption 'DB 링크명', 'RPC OUT', TRUE 또는 UI를 이용해서 변경할 수도 있다. 서버 개체 - 연결된 서버 - 속성에서 RPC와 RPC 내보내기를 True로 변경해주면 된다.
[SQL Server] UNION을 ORDER BY와 같이 사용할 때 원하는 값 얻기 UNION, UNION ALL을 ORDER BY와 같이 사용할 때 원하는 결과를 얻지 못할 수 있다. 테스트를 위해 테이블을 생성하고 데이터를 삽입하였다. CREATE TABLE dbo.TEST_TBL ( ID INT IDENTITY(1,1) , NAME CHAR(8) , AGE TINYINT , GENDER CHAR(2) , REGDATE DATETIME ) GO INSERT INTO dbo.TEST_TBL VALUES ('김남자', 30, '남', GETDATE()) INSERT INTO dbo.TEST_TBL VALUES ('김여자', 29, '여', GETDATE()) INSERT INTO dbo.TEST_TBL VALUES ('이남자', 35, '남', GETDATE()+1) INSERT INT..