Checked :  MSSQL 2008.

 

-. 오류 :  DB 무결성 검사 Fail.

-. 조치 :  모든 프로세서에 대해 자동으로 I/O 선호도 마스크 설정 Check!

 

 

Checked :  Microsoft SQL Server 2008 Standard,

                 Micorosft SQL Server 2014 Management Studio.

 

 

Database는 MS-SQL 2008 에서 운영중이라도

SSMS(쿼리편집기) 2012 이상의 버전을 사용할 경우 줄바꿈 문제 해결 방법입니다.


컬럼값에 2줄 이상이 저장되어 있는 레코드가 있을 경우,

SSMS 2012 버전 이상에서 쿼리 실행후 표형태로 결과를 표시하면,

Excel Sheet로 결과값을 복사했을 때, 줄바꿈이 적용되어 Cell 내용이 한줄씩 밀려서 복사됩니다.


이때에는 아래와 같이 REPLACE 구문에 ASCII 코드를 사용하여 한줄로 표현되도록

조회 쿼리를 작성하면 문제가 해결되기는 합니다만... 근본적인 해결 방법은.......


 

SQL>  SELECT REPLACE(REPLACE(ColumnName, CHAR(10), ''), CHAR(13), ', ') AS '컬럼명'

Checked :  MS-SQL 2008


-- TABLE 조회 결과 전체를 INSERT 하기 위한 구문.

-- TABLE1 과 TABLE2의 Column이 동일해야 합니다.

-- SELECT 절에 Column을 모두 나열하고, 특정 Column 값만 변경해서 INSERT 하는 것도 가능합니다.


INSERT INTO {TABLE1}

SELECT *

FROM {TABLE2}

WHERE {조건문} ;

Checked :  Microsoft SQL Server 2014 Standard.


MS-SQL 서버 관리를 위한 공유 기능 설치 내역입니다.





Checked :  MS-SQL 2008 Standard

 

DB를 백업한 서버와는 다른 서버에 DB를 복원하였을 경우, 계정 연결 오류가 발생합니다.

이때, 기존 DB 사용자를 SQL Server 로그인에 매핑해 줍니다.

 

 

USE {DB명}

GO

EXEC sp_change_users_login 'UPDATE_ONE', '{UserNamePattern}', '{LoginName}';

 

-- UPDATA_ONE :  현재 DB에서 지정된 user를 기존 SQL Server login에 연결합니다.

-- {UserNamePattern} :  현재 DB에 있는 사용자 이름.

-- {LoginName} :  SQL Server 로그인 이름.

 

 

USE {DB명}

GO

EXEC  sp_changedbowner  'sa';  // 사용자 및 기본 스키마를 'sa' 로 변경.

Checked :  Microsoft SQL Server 2008 Standard.

 

EXEC sp_lock;  -- 잠금 확인 (중복된 SPID 검색)

    EXEC sp_lock2;

DBCC INPUTBUFFER(SPID);  -- 잠금 Query 확인.

KILL SPID -- 잠금 해제.

Checked : Microsoft SQL Server 2008 Standard.

 

 

 

EXEC master.dbo.sp_configure 'show advanced options', 1;
RECONFIGURE WITH OVERRIDE;

 

EXEC master.dbo.sp_configure 'Database Mail XPs', 1;
RECONFIGURE WITH OVERRIDE;

 

EXEC msdb.dbo.sysmail_start_sp;

Checked : MS-SQL 2005.

 

① 옛날 방식.

 

SET XACT_ABORT ON;

BEGIN TRANSACTION;
-- BEGIN DISTRIBUTED TRANSACTION; -- 분산 트랜잭션 구현시 사용.
------------------------------
 -- DML 쿼리문 작성 부분.
------------------------------
IF (@@ERROR <> 0)
BEGIN
    ROLLBACK TRANSACTION;
END
ELSE
BEGIN
    COMMIT TRANSACTION;
END;

 

==============================

 

② 요즘 방식.

 

SET XACT_ABORT ON;

BEGIN TRANSACTION;

-- BEGIN DISTRIBUTED TRANSACTION; -- 분산 트랜잭션 구현시 사용.
BEGIN TRY

------------------------------
 -- DML 쿼리문 작성 부분.
------------------------------
END TRY
BEGIN CATCH

    SELECT
        ERROR_NUMBER() AS 'ErrorNumber'
        , ERROR_SEVERITY() AS 'ErrorSeverity'
        , ERROR_STATE() AS 'ErrorState'
        , ERROR_PROCEDURE() AS 'ErrorProcedure'
        , ERROR_LINE() AS 'ErrorLine'
        , ERROR_MESSAGE() AS 'ErrorMessage';

    IF (@@TRANCOUNT > 0)
        ROLLBACK TRANSACTION;

END CATCH;

IF (@@TRANCOUNT > 0)
    COMMIT TRANSACTION;
GO

Checked : MSSQL2008.

 

 

-- 주차 계산 결과 예) 201352

-- FLAG : 'P' = 전주차, 'C' = 현주차

 

SELECT DBO.ufn_CalcWEEK(NULL, 'P');
SELECT DBO.ufn_CalcWEEK('', 'P');
SELECT DBO.ufn_CalcWEEK('2010-12-31', 'P');
SELECT DBO.ufn_CalcWEEK('2011-01-01', 'P');

 

 

ufn_IT_CalcWEEK.sql

 

 

'MS-SQL' 카테고리의 다른 글

데이터베이스 메일 보내기 오류  (0) 2014.05.27
SQL 트랜잭션 구현  (0) 2014.05.22
WITH (CTE : Common Table Expression) 사용 예제  (0) 2013.12.10
컬럼(COLUMN) 정보 조회  (0) 2013.12.10
로그파일 축소하기  (0) 2013.12.09

Checked : MSSQL2008.

 

WITH cte_Table (MID)
AS
(
    SELECT CAST(MID AS INT) AS 'MID'
        FROM IT_MASTER (NOLOCK)
)
SELECT CASE
                WHEN (CTE.MID < 10)
                    THEN ('00' + CAST(CTE.MID AS NCHAR(1)))
                WHEN (CTE.MID < 100)
                    THEN ('0' + CAST(CTE.MID AS NCHAR(2)))
                WHEN (CTE.MID < 1000)
                    THEN (CAST(CTE.MID AS NCHAR(3)))
                ELSE '000' END
    FROM cte_Table AS CTE;

'MS-SQL' 카테고리의 다른 글

SQL 트랜잭션 구현  (0) 2014.05.22
주차 계산 함수 (ISO.8601 기준)  (0) 2013.12.16
컬럼(COLUMN) 정보 조회  (0) 2013.12.10
로그파일 축소하기  (0) 2013.12.09
MSSMS 에서 특정 SQL 서버 접속 오류시  (0) 2013.12.06

Checked : MSSQL2008.

 

USE [DB명]
GO

 

SELECT *

    FROM INFORMATION_SCHEMA.COLUMNS
    WHERE TABLE_CATALOG = 'DB명'

        AND TABLE_NAME = 'TABLE명';

Checked : Microsoft SQL Server.

 

■ MS-SQL.2000
 -- EXEC SP_HELPFILE;
BACKUP LOG [DB명] WITH TRUNCATE_ONLY;
DBCC SHRINKFILE (DB명_Log, 100); -- 숫자는 파일사이즈(MByte).

 

■ MS-SQL.2005
-- EXEC SP_HELPFILE;
BACKUP LOG [DB명] WITH NO_LOG;
DBCC SHRINKFILE (DB명_Log, 100); -- 숫자는 파일사이즈(MByte).

 

■ MS-SQL.2008
-- EXEC SP_HELPFILE;
ALTER DATABASE [DB명] SET RECOVERY SIMPLE;
DBCC SHRINKFILE (DB명_Log, 100); -- 숫자는 파일사이즈(MByte).
ALTER DATABASE [DB명] SET RECOVERY FULL;

'MS-SQL' 카테고리의 다른 글

WITH (CTE : Common Table Expression) 사용 예제  (0) 2013.12.10
컬럼(COLUMN) 정보 조회  (0) 2013.12.10
MSSMS 에서 특정 SQL 서버 접속 오류시  (0) 2013.12.06
MS-SQL 테이블 소유자 변경하기  (0) 2013.11.20
DB 서버명 변경  (0) 2013.11.15

Checked : Windows 8 (VHD), Microsoft SQL Server 2008 Standard.

 

http://support.microsoft.com/kb/956214/ko/

 

Windows 8 (VHD) 가상디스크 사용시

MSSMS (SQL관리툴, Microsoft SQL Server Management Studio) 에서

특정 SQL서버에 접속시 아래 첫번째 화면과 같이 오류가 발생할 경우,

통신/서버 모두 점검을 해 보았으나, 정상이고, 다른 PC에서는 정상 접속이 된다고 하면,

최종적으로 사용자 PC의 레지스트리 편집기를 실행하여 (RegEdit.exe)

아래 두번째 화면과 같이 해당 서버의 주소를 삭제하거나,

데이터값에서 연결포트 지정 부분인 ", 1433"을 제거하면 정상 접속이 되는 경우가 있습니다.

 

발생 원인은 아직 알아내지 못하였고, 해당 레지스트리를 삭제해도 다시 살아나는 경우가 있으니 참고하세요.

 

 

'MS-SQL' 카테고리의 다른 글

WITH (CTE : Common Table Expression) 사용 예제  (0) 2013.12.10
컬럼(COLUMN) 정보 조회  (0) 2013.12.10
로그파일 축소하기  (0) 2013.12.09
MS-SQL 테이블 소유자 변경하기  (0) 2013.11.20
DB 서버명 변경  (0) 2013.11.15

Checked :  MS-SQL 2008.

 

 

USE [DB명]

GO


EXEC sp_changeobjectowner '개체명(xxx.Table)', '소유자(dbo)';

'MS-SQL' 카테고리의 다른 글

WITH (CTE : Common Table Expression) 사용 예제  (0) 2013.12.10
컬럼(COLUMN) 정보 조회  (0) 2013.12.10
로그파일 축소하기  (0) 2013.12.09
MSSMS 에서 특정 SQL 서버 접속 오류시  (0) 2013.12.06
DB 서버명 변경  (0) 2013.11.15

Checked : MSSQL 2008.

 

 

DB명 변경이 아닙니다. DB 서버명 변경입니다.

DB가 설치된 서버의 이름을 변경하였을 경우, DB에서도 서버명을 수정해 줘야 합니다.

 

> EXEC sp_helpserver  // 현재 서버 정보 확인.

> SELECT @@SERVERNAME  // 현재 서버명 확인.

 

> EXEC sp_dropserver '현재 서버명'  // 현재 서버명 삭제.

> EXEC sp_addserver '신규 서버명', 'local'  // 신규 서버명 등록.

 

> EXEC sp_helpserver // 변경된 서버 정보 확인.

 

> MS-SQL Server 서비스 재시작.

 

> EXEC sp_helpserver  // 변경된 서버 정보 확인.

> SELECT @@SERVERNAME  // 변경된 서버명 확인.

+ Recent posts