본문 바로가기

MSSQL

(17)
MSSQL 오프라인 안될 때 - 지연될 때 ALTER DATABASE 디비명 SET OFFLINE WITH ROLLBACK IMMEDIATE 불완전한 트랜잭션이 롤백되고 있습니다. 예상 롤백 완료율: 0%. 불완전한 트랜잭션이 롤백되고 있습니다. 예상 롤백 완료율: 100%. 오프라인 오래 걸려서 구글링 하니 나옴.. ALTER DATABASE 는 트랜잭션이 Commit , Rollback 되어야 실행되기 때문에 처리가 지연된다. https://ribin.tistory.com/286
sys.databases DB Status 확인하기 단순 DB status 를 확인하기 위해 찾았으나 collation , status , user Access 등.. 활용도 있는 값들이 있음. state_desc : ONLINE / OFFLINE state : 0 = ONLINE 1 = RESTORING 2 = 복구 | SQL Server 2008 를 통해 SQL Server 2017 3 = RECOVERY_PENDING | SQL Server 2008 를 통해 SQL Server 2017 4 = SUSPECT 5 EMERGENCY = | SQL Server 2008 를 통해 SQL Server 2017 6 = 오프 라인 | SQL Server 2008 를 통해 SQL Server 2017 7 = 복사| Azure SQL 데이터베이스 활성 지리적 복제 ..
php 쿼리결과에 대한 결과 행이 있는지 여부, sqlsrv_has_rows / sqlsrv_num_rows mysql 을 오랜만에 사용할 기회가 있어서 처리중에... 데이터 갯수를 체크해야 했는데 mssql 에서 하던대로 count 해서 데이터 갯수를 체크하려고 했으나 sqlsrv_num_rows 함수를 이용하니 결과 값이 빈값이 찍히는 상황. 확인해보니 sqlsrv_num_rows 결과 값을 리턴 받기 위해서는 커서 타입을 지정해야함. 단순 쿼리 결과 값이 있는지 여부를 체크하는 함수가 있더라는.. sqlsrv_has_rows - 쿼리결과에 대한 결과 행이 있는지 여부 . return : bool php manual : http://php.net/manual/en/function.sqlsrv-has-rows.php sqlsrv_num_rows - 쿼리 결과에 대한 행의 갯수 . 커서 타입을 SQLSRV_CU..
MS-SQL Linked Server 사용자 매핑 설정하는 방법 ( 접속자별 권한 설정 ) MS-SQL Linked Server 사용자 매핑 설정하는 방법 ( 접속자별 권한 설정 ) 개요 사용자 매핑을 사용하지 않고 단순 원격서버에 대한 로그인정보로 Linked Server를 연결하여 보안 셋팅 없이 경우 모든 사용자가 Linked Server에 대한 권한을 동일하게 갖게 되므로 보안 이슈가 발생할 수 있다. ▼ 흔히 인터넷상에서 알려주는 Linked Server 연결 방법. 문제점 확인 및 문제 발생 상황 위와 같은 방법으로 Linked Server를 설정 할 경우 모든 사용자가 같은 계정으로 원격 서버에 접속하기 때문에 여러 권한 관련 보안 이슈가 발생할 수 있게 된다. DBA가 없는 규모가 작거나 사수가 없는 경우 혹은 별도 교육을 통하지 않는 경우 사실상 세부 옵션을 알아서 사용하기가 ..
[에러노트] 사용자 'sa'이(가) 로그인하지 못했습니다. 이 사용자는 트러스트된 SQL Server 연결과 관련되어 있지 않습니다. (Microsoft SQL Server, 오류: 18452) MS-SQL 설치 후 로그인 시 에러 메시지 아래와 같은 오류 메시지가 뜨고 로그인이 되지 않는 문제. 사용자 'sa'이(가) 로그인하지 못했습니다. 이 사용자는 트러스트된 SQL Server 연결과 관련되어 있지 않습니다. (Microsoft SQL Server, 오류: 18452) 도움말을 보려면 다음을 클릭하십시오: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&EvtSrc=MSSQLServer&EvtID=18452&LinkId=20476 Login failed for user 'sa'. The user is not associated with a trusted SQL Server connection. (Microsoft SQL Serv..
[에러노트] [DBNETLIB][ConnectionOpen (Connect()).]SQL Server가 없거나 액세스할 수 없습니다. 업무용 PC를 포맷하고 MS-SQL Express 2012 버전 설치 이후 연결하려고 하면 아래와 같은 오류 메시지가 뜹니다. [DBNETLIB][ConnectionOpen (Connect()).]SQL Server가 없거나 액세스할 수 없습니다. 해결 방법 : 1. SQL Server 구성 관리자 실행. 2. SQL Server 네트워크 구성 > SQLEXPRESS 에 대한 프로토콜 선택 ( 아래 사진 참고 ) 3. TCP / IP 속성 > IP 주소 > IPAll > TCP 동적 포트 입력란에 1433 입력. ( 아래 사진 참고 ) 위와 같이 수정하면 접속이 됩니다. 매번 포맷하고 나서 설치 할때 마다 이러고 있는데 저장 / 공유용으로 기록을 남깁니다.
[MS-SQL] 테이블 정의서 생성 쿼리 MS-SQL 테이블 정의서 HTML 생성 쿼리 초기 출처는 기억이 잘 안나네요. 몇년전쯤 인터넷에서 찾았던 것 같습니다.(문제될 경우 연락주시면 삭제하겠습니다.) 이후 이것저것 수정해서 사용해왔고 현 시점에서 아래 최종본으로 공유합니다. 2000 버전과 2005버전으로 구분되어 있으나 크게 다른바가 없어서 문제 없이 작동합니다.
[MS-SQL] 두 데이터베이스의 테이블 및 컬럼 비교하는 쿼리 MS-SQL 두 데이터베이스 테이블 및 컬럼 비교 하는 쿼리 A 와 B 두 데이터베이스의 테이블 및 컬럼속성(데이터 타입 , 길이)를 비교하는 쿼리 입니다. 두 데이터 베이스간의 데이터 동기화를 위해 비교하기 위해 사용. 그때 그때 코딩하거나 찾아보기 귀찮기 때문에 블로그에 포스팅 해둠! select A.table_name, A.column_name, A.column_default, A.data_type, A.character_maximum_length, B.column_name, B.column_default, B.data_type, B.character_maximum_length from information_schema.columns A left outer join 디비명.information_sc..