MSSQL sqlserver 오류 15404 windows nt 그룹/사용자 에 대한 정보를 가져올 수 없습니다. 오류 코드 sqlstate 42000 connlsloginsysadmin

윈도우즈/MSSQL|2019. 5. 20. 09:44
반응형

메시지

[298] SQLServer 오류: 15404, Windows NT 그룹/사용자 'hostname'\administrator'에 대한 정보를 가져올 수 없습니다.오류 코드 0x534. [SQLSTATE 42000] (ConnIsLoginSysAdmin)

   

hostname은 컴퓨터명입니다. 그리고 administrator는 서버 설치 후 계정명을 바꾸었다면 다르게 나올수도 있습니다.

   

머 일단 이런 메시지가 나오면 확인해봐야 할 사항은

   

Microsoft SQL Server Management Studio 실행하셔서 머 Sa계정이나 시스템계정으로 로그인 하시고

   

개체탐색기 왼쪽에 보면 보안 >> 로그인 하위의 계정들 중에 hostname\administrator가 현재 OS의 계정과

   

동일한지 확인해보세요.

   

아마 십중팔구는 동일하지 않을꺼에요. 그러면 서버 처음 설치했을때는 hostnanme\administrator를 현재 계정명으로

바꿔줘야 합니다. 멀로 바꾸냐구요?

   

개체탐색기의 데이터베이스 연결된 명을 확인해보세요

   

두번째로 서버역할의 sysadmin에도 바꾼 hostname\administrator가 있는지 확인하세요. 보통 로그인의 계정정보를

변경하면 자동으로 sysadmin의 정보도 바뀝니다.

   

혹시 없으면 추가해주세요

 

 

[출처] SQLServer 오류: 15404 발생원인 및 해결방법|작성자 스팀

 

 

 

반응형

댓글()

sql server 복제에서는 서버 연결 시 실제 서버 이름이 필요합니다.

윈도우즈/MSSQL|2019. 5. 17. 16:01
반응형

개발사에서 웹 에서 게임 DB 에 내용을 거의 실시간으로 보여주기 위해 복제 DB 를 설정하다가
복제 생성시 아래와 같은 오류가 발생한다고 Help 요청이 들어왔다.

 

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

xxxxxxxxxxxxxx에 연결할 수 없습니다.

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

SQL Server 복제에서는 서버 연결 시 실제 서버 이름이 필요합니다. 서버 별칭, IP 주소 또는 다른 대체 이름을 통한 연결은 지원되지 않습니다. 실제 서버 이름 'xxxxxxxxxxxxxx'을(를) 지정하십시오. (Replication.Utilities)

------------------------------
프로그램 위치:

   위치: Microsoft.SqlServer.Management.UI.ReplicationSqlConnection.CheckServerAlias(ServerConnection conn)
   위치: Microsoft.SqlServer.Management.UI.ReplicationSqlConnection.ValidateConnection(UIConnectionInfo connInfo, IServerType server)
   위치: Microsoft.SqlServer.Management.UI.ConnectionDlg.Connector.ConnectionThreadUser()

 

해당 문제는 컴퓨터 이름을 변경시에 발생한다.

----------------------------- 


이유인 즉 mssql2008을 설치하면 설치시에 서버의 HostName 이  저장된다.
그 후에 해당 서버에 HostName 이 변경 되면서  게시나 복제를 할려면 옛날 서버 이름으로 접근을 해서 위와 같은 오류가 발생한 것이다.

아래와 같이 기존 @@SERVERNAME 이름을 현재 HostName 으로 변경해 주면 된다.

USE master
GO

-- 예전 서버 이름을 확인한다.
SELECT @@SERVERNAME

-- 예전 서버 이름을 버린다.
EXEC sp_dropserver 'Old Server Name', 'droplogins'    // 예전 서버 이름 입력
GO

-- 새 서버 이름을 등록한다.
EXEC sp_addserver 'New Server Name', 'local'    // 새 서버 이름 입력
GO

 

-- 반드시 '서비스 재시작'을 해야 적용 된다.

 

 

[출처] http://egloos.zum.com/runhanii/v/2606562

반응형

댓글()

DB간 테이블 복사 쿼리

윈도우즈/MSSQL|2015. 1. 27. 09:31
반응형

select * into db명.소유자명.타겟테이블명 from db명.소유자명.원본테이블명

 
간단히 될줄 알았으나 소유자명을 안넣어서 헤맴..

소유자명 꼭 넣을것

 

[출처] 즐거움을 찾자 Find Fun!! | jyhyun (http://findfun.tistory.com/?page=433)

 

 

내용추가 

 

또는.. MSSQL Server Management Studio 에서 테이블 우클릭 후 '내보내기' 하면 쉽게 됩니다.

내보내기 마법사에서 입력할 곳의 DB명을 선택하는 것까지 있습니다.

 

반응형

댓글()

[MSSQL] 다른 데이터베이스명으로 복원하기

윈도우즈/MSSQL|2015. 1. 27. 09:31
반응형
RESTORE DATABASE [mydb2
FROM DISK = N'D:MSSQLBackupmydb1.bak' 
WITH FILE = 1, 
MOVE N'mydb1' TO N'D:MSSQLDatamydb2.mdf'
MOVE N'mydb1_log' TO N'D:MSSQLDatamydb2_log.ldf'
NOUNLOAD, REPLACE, STATS = 10
GO
  
[출처] 블루레이 | blueray21 (http://blueray21.tistory.com/62)
 
 
내용추가
 
* mydb1 : 기존 DB명
* mydb2 : 새 DB명
* 위와 같이 해서 오류가 날 경우(데이터나 로그 이름이 틀린경우)
  아래 쿼리로 확인하여 4, 5 번째줄 mydb1 을 대체합니다.
  restore filelistonly from disk='D:MSSQLBackupmydb1.bak'
 


반응형

댓글()

SQL Injection 공격 복구 쿼리문

윈도우즈/MSSQL|2015. 1. 27. 09:30
반응형

DECLARE @TP  int; 
DECLARE @TBL varchar(255), @CLN varchar(255),  @DEL_STR varchar(255); 
SET @DEL_STR='sr'    // 삭제할 내용을 적어주면 됩니다.

 

DECLARE Table_Cursor CURSOR FOR 
SELECT a.name, b.name ,b.xtype 
FROM sysobjects a, syscolumns b 
WHERE a.id = b.id AND a.xtype = 'u' AND 
(b.xtype = 99 OR b.xtype = 35 OR b.xtype = 231 OR b.xtype = 167  OR b.xtype=175  OR b.xtype=239 );

 

OPEN Table_Cursor;

 

FETCH NEXT FROM Table_Cursor INTO @TBL, @CLN, @TP; 
WHILE (@@FETCH_STATUS = 0) BEGIN 
    IF  @TP  > 100 
    BEGIN 
  --select @TBL
        EXEC('UPDATE ['+ @TBL +'] set [' + @CLN + '] = REPLACE(convert(varchar, '+ @CLN+') , '''+@DEL_STR +''','''' )'); 
    END 
    ELSE 
    BEGIN
  --select @TBL
        EXEC('UPDATE ['+ @TBL +'] set [' + @CLN + '] = REPLACE(CONVERT(varchar,'+ @CLN+') , '''+@DEL_STR +''','''' )'); 
    END 
FETCH NEXT FROM Table_Cursor INTO @TBL, @CLN,@TP; 
END;

 

CLOSE Table_Cursor; 
DEALLOCATE Table_Cursor;

반응형

댓글()

MSSQL 필드 속성 변경

윈도우즈/MSSQL|2015. 1. 27. 09:30
반응형

use sysdocu                                        // DB 선택

ALTER TABLE Count_Table                // 테이블 선택
ALTER COLUMN SMS_Count int      // 적용할 필드 속성 (int, varchar(20) 등)
GO


반응형

댓글()

Microsoft OLE DB Provider for SQL Server 오류 '80040e57' 문자열이나 이진 데이터는 잘립니다.

윈도우즈/MSSQL|2015. 1. 27. 09:30
반응형

Microsoft OLE DB Provider for SQL Server 오류 '80040e57'

문자열이나 이진 데이터는 잘립니다.

 

[원인]

컬럼 길이보다 들어가야할 데이타 길이가 더 커서 발생하는 에러


반응형

댓글()

[ODBC Microsoft Access 드라이버] 파일이 이미 사용 중이므로 '(알 수 없음)'을(를) 사용할 수 없습니다

윈도우즈/MSSQL|2015. 1. 27. 09:29
반응형

EZgen편집기에서 MDB 파일(예: 판매_MDB)을 ODBC로 연결하여 작업한 후에 편집기를 종료하지 않고

IE에서 Hnw문서를 열면 '파일이 이미 사용 중이므로 '(알 수 없음)'을(를) 사용할 수 없습니다. 드라이버의 SQLSetConnectAttr을 실패했습니다State:S1000 …'와 같은 Error가 종종 발생합니다.

 

이때 해당 MDB 파일이 존재하는 폴더(예: C:Program FilesDaeGilSoftEZgen2009DataBase)에 Everyone을 추가한 후

모든 권한을 부여하면 위와 같은 문제를 해결 할 수 있습니다.

 

[출처] (http://cafe.naver.com/ezgen/138)

반응형

댓글()

Windows7 64비트에서 MS Access MDB파일용 ODBC 드라이버 사용하기

윈도우즈/MSSQL|2015. 1. 27. 09:28
반응형
Windows7 64bit에서는 MS Access(*.mdb)파일을 open할 수가 없다.
32비트 ODBC 드라이버를 사용하기 때문인데, 이를 해결하기 위해서는 64비트용 ODBC 드라이버를 설치해야 한다.
 
 
Microsoft Access Database Engine 2010 재배포 가능 패키지
 
 
ADO DB 연결 문자열
32비트
"Driver={Microsoft Access Driver (*.mdb)}; .. "
 
64비트
"Driver={Microsoft Access Driver (*.mdb, *.accdb)}; .. "
 


반응형

댓글()

데이터 원본(ODBC) 드라이버 추가

윈도우즈/MSSQL|2015. 1. 27. 09:28
반응형

64비트 환경에서 데이터 원본(ODBC) 의 '사용자 DSN' 이나 '시스템 DSN' 에 드라이버를 추가하려고 할때

아래 두개 드라이버밖에 보이지 않을때가 있습니다.

 

SQL Server

SQL Server Native Client 10.0

 

이경우 아래 파일을 실행하여 데이터 원본(ODBC)를 실행하면 모든 드라이버를 선택, 추가할수 있습니다.

 

C:windowssyswow64odbcad32.exe

 

반응형

댓글()

데이터베이스 경로 변경하기 (MDF,LDF파일 경로 변경하기)

윈도우즈/MSSQL|2015. 1. 27. 09:27
반응형

LOG DB의 경우

데이터량이 많아서 이전에 설치되어있는 디스크의 용량이 부족해서

트랜젝션 로그 백업을 하지 못하는 경우가 발생하였다.

 

그래서 새로운 디스크를 장착하고, 해당 디스크에 백업을 할까 생각했는데,

어차피 나중에 되면 분명 또 디스크 용량이 부족하겠다란 생각이 들어서

새로운 디스크로 데이터베이스 자체를 옮기기로 결정!!

검색하던 중 간단하고 쉬운 방법을 찾아냈다.

 

새로운 데이터베이스를 만들어서 이전 데이터를 다 옮기는 방법도 있다.

하지만 시간도 많이 걸리고, 중간에 잘못했을 경우, 처음부터 다시 옮기던가, 얼마나 들어갔는지 확인을 하는 등

불편한 점이 많을거란 예상을 하게 되어서 찾아본 검색 결과는...

 

MDF, LDF 파일을 통체로 이동하면 쉽지 않을까란 생각에...

SP_DETACH_DB와 SP_ATTACH_DB란 프로시져를 찾게 되었다.

사용방법은 간단하다.

 

1. 데이터베이스 분리하기.

    USE [master]

    EXEC SP_DETACH_DB '데이터베이스명','true'

 

2.  mdf, ldf 파일 이동

     자신이 원하는 경로로 해당 데이터 베이스의 mdf, ldf 파일을 이동시킨다.

    파일 자체를 이동 시키는 것이므로, ctrl+x 와 ctrl+v로 간단하게 이동시킨다.

 

3. 데이터베이스 붙이기

    3-1. mdf, ldf 파일 둘다 붙이기

    USE [master]

    EXEC SP_ATTACH_DB '데이터베이스명', 'MDF파일경로'.'LDF파일경로'

 

    3-2. mdf 파일만 붙이기

    USE [master]

    EXEC SP_ATTACH_SINGLE_FILE_DB '데이터베이스명', 'MDF파일경로'

 

※ 위의 파일 경로는 절대경로를 입력해줘야 함

 

[출처] 천천히... 그리고 조금씩... (http://cherni0911.blog.me/130068388183)

 

반응형

댓글()