답변:
sp_defaultdb의 대안 ( 향후 Microsoft SQL Server 버전에서 제거됨 )은 다음과 ALTER LOGIN
같습니다.
ALTER LOGIN [my_user_name] WITH DEFAULT_DATABASE = [new_default_database]
참고 : sp_defaultdb
솔루션 사용자와 달리 데이터베이스 이름은 따옴표없이 제공됩니다. 이름에 특수 문자가있는 경우 대괄호가 필요합니다 (가장 일반적인 예는 domain \ username이며 대괄호 없이는 작동하지 않는 도메인 사용자입니다).
sp_deafultdb
. 나는 "새로운"방법이 있다는 것에 놀랐다.
sp_defaultdb 시스템 저장 프로 시저를 사용하여 기본 데이터베이스를 설정하면됩니다. 완료 한대로 로그인 한 다음 새 쿼리 버튼을 클릭하십시오. 그런 다음 sp_defaultdb 명령을 다음과 같이 실행하십시오.
Exec sp_defaultdb @loginame='login', @defdb='master'
GUI 방식으로하려면 로그인을 편집해야합니다. 해당 등록 정보 중 하나는 해당 로그인에 사용되는 기본 데이터베이스입니다. 보안 노드 아래의 로그인 노드에서 로그인 목록을 찾을 수 있습니다. 그런 다음 로그인을 선택하고 마우스 오른쪽 버튼을 클릭하고 속성을 선택하십시오. 기본 데이터베이스를 변경하면 삶이 좋아질 것입니다!
sysadmin privs를 가진 사람은 로그인하거나 이전 게시물의 쿼리를 실행하기 위해 로그인 할 수 있어야합니다.
이 게시물 덕분에 더 쉬운 답변을 찾았습니다.
Sql Server Management Studio 열기
개체 탐색기로 이동-> 보안-> 로그인
로그인을 마우스 오른쪽 버튼으로 클릭하고 속성을 선택하십시오.
그리고 속성 창에서 기본 데이터베이스를 변경하고 확인을 클릭하십시오.
SQL Server에 로그인 할 수없는 경우 :
sqlcmd –E -S InstanceName –d master
이것은 질문에 정확히 대답 할 수도 아닐 수도 있지만, "기본 데이터베이스"로 만든 새 데이터베이스를 갖도록 계정을 변경했을 때이 문제 (및 질문)가 발생했습니다. 그런 다음 해당 데이터베이스를 삭제하고 처음부터 작성 스크립트를 테스트하려고했습니다. SSMS에서 로그 오프했고 다시 들어 가려고했지만 거부되었습니다. 기본 데이터베이스에 로그인 할 수 없다는 오류입니다. 도!
내가 한 것은 SSMS의 로그인 대화 상자에서 옵션, 연결 속성으로 이동 한 다음 master
"데이터베이스에 연결"콤보 상자를 입력하십시오. 연결을 클릭하십시오. 안으로 들어갔습니다. 거기에서 다음 명령을 실행할 수 있습니다.
ALTER LOGIN [DOMAIN\useracct] WITH DEFAULT_DATABASE=[master]
GO
Windows 인증을 사용하고 사용자 이름 및 비밀번호를 통해 사용자로 로그인하기위한 비밀번호를 모르는 경우 다음을 수행 할 수 있습니다. SSMS의 로그인 화면에서 오른쪽 하단의 옵션을 클릭 한 후 연결 특성 탭으로 이동하십시오. . 그런 다음 액세스 권한이있는 다른 데이터베이스의 이름을 수동으로 입력하여 연결 위치를 지정할 수 있습니다. 그런 다음 기본 데이터베이스 변경에 대한 다른 조언을 따르십시오.