IT HOW

무엇이는 물어보세요

컨텐츠로 건너뛰기
  • 프로그래밍
  • 파이썬
  • 자바
  • 자바스크립트
  • 리눅스
  • c#

SQL Server에서 기존 사용자의 로그인을 어떻게 만듭니 까? Server 인스턴스로 데이터베이스를 복원했습니다. 데이터베이스에

한 SQL Server 인스턴스에서 다른 SQL Server 인스턴스로 데이터베이스를 복원했습니다. 데이터베이스에 이미 사용자가 추가되었습니다. 그러나 새 SQL Server 인스턴스에 대한 로그인이 없습니다.

새 사용자를위한 새 로그인을 만드는 방법을 알고 있지만 기존 사용자를위한 로그인을 만드는 방법은 무엇입니까?



답변

문제는 복원이 원래 서버 인스턴스에서 db 사용자를 다시 가져 오지만 새 인스턴스는 일반적으로 해당 사용자 로그인을 전혀 모른다는 것입니다. db 수준의 보안 아래에 표시되지만 해당 서버 수준 로그인이 없습니다.

데이터베이스를 복원 한 인스턴스에서 서버 로그인으로 데이터베이스 사용자를 다시 연결해야합니다.

그것에 대해 몇 가지 방법이 있습니다.

  1. 새 인스턴스에서 새 로그인을 작성하십시오. 그런 다음 새 인스턴스에서 데이터베이스 사용자로 이들을 제거하고 새 로그인을 추가해야합니다. 동일한 로그인 이름을 만들 수 있지만 SID (보안 식별자)가 다르고 SQL이 사용자 식별에 사용하는 경우가 이상해 보입니다. 한두 번의 로그인으로 충분합니다.

  2. 인스턴스간에 동일한 SID를 유지하면서 동일한 사용자를 유지하려면 sp_help_revlogin 저장 프로 시저 를 사용하십시오 . 필요한 저장 프로 시저를 생성 할 링크에서 코드를 복사하고 사용자를 복사하려는 서버에서 실행하십시오. 대상 서버에서 실행할 수있는 SQL 스크립트를 생성하여 SID, 비밀번호 등 모든 것을 전달하는 동일한 사용자를 작성합니다. 대상 인스턴스에서 다시 연결해야하는 데이터베이스 사용자가 많거나 소스 인스턴스에서 하나 이상의 SQL 로그인에 대한 비밀번호를 모르는 경우이 방법을 사용하십시오.


답변

항상 ‘Update_One’작업과 함께 sp_change_users_login 명령을 실행 하여 서버 사용자와 데이터베이스 사용자를 다시 연결합니다.

sp_change_users_login 'Update_One', 'database user', 'server login‘


답변

여기 내가 찾은 것이 있습니다.

squillman이 설명했듯이 사용자는 데이터베이스를 통해 복사되지만 로그인은 그렇지 않습니다. sp_change_users_login이라는 상점 절차를 통해 문제를 해결할 수 있습니다. 이 단계는 이 아리 클에 자세히 설명되어 있습니다. 상점 절차 사용에 대한 자세한 내용은 이 페이지 에서 확인할 수 있습니다 .


답변

SQL Server 2012부터 기존 사용자를 새 로그인에 할당하는 T-SQL 명령이 있습니다. 로그인을 생성하지만 사용자 매핑을 시도하지 마십시오 (실패). 그런 다음 다음을 실행하십시오.

use <existing_database>;
alter user <existing_database_user> with login = <newly_created_login>;

기존 로그인이 새 사용자에게 매핑됩니다. 여기에 SQL 설명서 : https://docs.microsoft.com/en-us/sql/t-sql/statements/alter-user-transact-sql?view=sql-server-2017


답변


이 글은 서버 카테고리에 분류되었고 login, sql-server 태그가 있으며 [호호] 야야님에 의해 2022년 9월 10일에 작성되었습니다.

글 네비게이션

← 여전히 쓰고있는 파일과의 rsync 동작? rsync cron 작업이 해당 파일에서 Windows 8.1에서 프로그램의 로캘을 임의로 변경하기로 결정 그것을 닫고 →

태그

  • android
  • apt
  • backup
  • bash
  • boot
  • c#
  • c++
  • command-line
  • css
  • debian
  • email
  • firefox
  • git
  • google-chrome
  • hard-drive
  • html
  • ios
  • iphone
  • java
  • javascript
  • keyboard
  • linux
  • mac
  • macbook
  • macos
  • microsoft-excel
  • mysql
  • networking
  • performance
  • php
  • python
  • security
  • shell
  • ssh
  • terminal
  • ubuntu
  • unix
  • usb
  • vim
  • virtualbox
  • windows
  • windows-7
  • windows-8
  • windows-10
  • wireless-networking

최신 글

  • 디스크 정리에 많은 시간과 CPU가 필요한 이유는 무엇입니까? 많은 시간을 소비하는 것 같습니다. 파일을
  • Vim에서 일반 모드와 삽입 모드 사이에서 커서를 어떻게 변경합니까? 모양 등)를 변경하는 방법을 알고
  • 집계 대 구성 무엇인지 이해하지만 집계가 무엇인지에 대한 명확한
  • Python 생성기 패턴에 해당하는 C ++
  • 소프트웨어 일반인의 경력 경로는 무엇입니까? [닫은] 전문에 대한 질문 이 질문에 영감을. 소프트웨어 전문가가

카테고리

  • c#
  • c++
  • git
  • html
  • 리눅스
  • 서버
  • 소프트웨어
  • 슈퍼유저
  • 안드로이드
  • 애플
  • 우분투
  • 자바
  • 자바스크립트
  • 파이썬
  • 프로그래밍
apthow.com powered by hoya
Go to mobile version