prosource

MS SQL Server Management Studio를 사용하지 않고 SQL Server에서 기본 데이터베이스를 변경하는 방법

probook 2023. 4. 8. 08:40
반응형

MS SQL Server Management Studio를 사용하지 않고 SQL Server에서 기본 데이터베이스를 변경하는 방법

SQL Server에서 데이터베이스를 삭제했는데 로그인이 삭제된 데이터베이스를 기본값으로 사용하도록 설정되어 있습니다.연결 대화상자의 '옵션' 버튼을 사용하여 연결할 데이터베이스로 '마스터'를 선택하면 SQL Server Management Studio에 연결할 수 있습니다.그러나 오브젝트 탐색기에서 어떤 작업을 하려고 할 때마다 기본 데이터베이스를 사용하여 연결을 시도하여 실패합니다.

오브젝트 탐색기를 사용하지 않고 기본 데이터베이스를 설정하는 방법을 아는 사람이 있습니까?

sp_defaultdb 시스템 스토어드 프로시저를 사용하여 기본 데이터베이스를 설정할 수 있습니다.로그인한 후 New Query 버튼을 클릭합니다.그런 다음 다음과 같이 sp_defaultdb 명령을 실행합니다.

Exec sp_defaultdb @loginame='login', @defdb='master' 

sp_defaultdb(Microsoft SQL Server의 향후 버전에서 삭제 예정)를 대체하는 방법은 다음과 같습니다.

ALTER LOGIN [my_user_name] WITH DEFAULT_DATABASE = [new_default_database]

주의: 사용자 이름과 데이터베이스 이름은 따옴표 없이 제공됩니다(다른 이름과는 달리).sp_defaultdb이름가 있는 도메인 입니다).domain\username괄호가 없으면 작동하지 않습니다.

ALTER LOGIN me WITH DEFAULT_DATABASE = my_database

그렇지만

ALTER LOGIN [EVILCORP\j.smith28] WITH DEFAULT_DATABASE = [prod\v-45]

GUI 방식으로 하려면 로그인을 편집해야 합니다.이 속성 중 하나는 해당 로그인에 사용되는 기본 데이터베이스입니다.로그인 목록은 [보안(Security)]노드의 [로그인(Logins)]노드에서 확인할 수 있습니다.그런 다음 로그인을 선택하고 마우스 오른쪽 버튼을 클릭하여 속성을 선택합니다.기본 데이터베이스를 변경하면 더 나은 삶을 살 수 있습니다!

sysadmin privs를 가진 사용자가 로그인하여 이 작업을 수행하거나 이전 게시에서 쿼리를 실행할 수 있어야 합니다.

게시물 덕분에 더 쉬운 답을 찾을 수 있었습니다.

  1. SQL Server Management Studio 열기

  2. 오브젝트 탐색기 -> 보안 -> 로그인으로 이동합니다.

  3. 로그인을 오른쪽 클릭하여 속성을 선택합니다.

  4. 속성 창에서 기본 데이터베이스를 변경하고 확인을 클릭합니다.

기본 DB를 변경할 수 있는 권한이 없는 경우 쿼리 맨 위에서 다른 DB를 수동으로 선택할 수 있습니다.

USE [SomeOtherDb]
SELECT 'I am now using a different DB'

다른 DB에 대한 권한이 있는 한 작동합니다.

  1. 연결 변경 아이콘을 클릭합니다.
  2. [ Options ](옵션)을 클릭합니다.<
  3. 데이터베이스에 연결 드롭다운에서 db를 선택합니다.

서버에 연결 대화 상자에서 옵션을 클릭하고 연결 속성에서 시작 시 연결할 데이터베이스를 선택할 수 있습니다.마스터를 기본값으로 하는 것이 좋습니다.그렇지 않으면 데이터베이스에 연결한 후 실수로 잘못된 데이터베이스에서 sql을 실행할 수 있습니다.

여기에 이미지 설명 입력

여기에 이미지 설명 입력

★★★★★★★★★★★★★★★★★★★★★★★★★★★★★.ALTER LOGIN승인된 답변으로 여기에 설명된 명령어

단, GUI 애호가용

  1. [SERVER Instance] --> [ Security ] --> [ Logins ] --> [ YOUR LOGIN ]으로 이동합니다.
  2. [YOUR LOGIN] 우클릭
  3. 페이지 하단의 기본 데이터베이스 옵션을 업데이트합니다.

독서에 지쳤어!!!그냥 따라오는 것만 봐

여기에 이미지 설명 입력

SQL Server에 로그인할 수 없는 경우:

sqlcmd –E -S InstanceName –d master

참고 자료: https://support.microsoft.com/en-us/kb/307864

이것이 질문에 대한 정확한 답변이 될 수도 있고 아닐 수도 있지만, "기본 데이터베이스"로 만든 새 데이터베이스를 사용하도록 계정을 변경했을 때 이 문제(및 질문)가 발생했습니다.그 후 데이터베이스를 삭제하고 작성 스크립트를 처음부터 테스트하려고 했습니다.SSMS에서 로그오프하고 다시 들어가려고 했지만 거부되었습니다.기본 데이터베이스에 로그인할 수 없습니다.에러가 발생했습니다.아뿔싸!

Options,로 이동하여 SSMS, Connection Properties를 입력합니다.master" 상자에서 합니다.데이터베이스에 연결" 콤보 상자에서 선택합니다.[연결] 연결하다.할 수 .여기서 다음 명령을 실행할 수 있습니다.

ALTER LOGIN [DOMAIN\useracct] WITH DEFAULT_DATABASE=[master]
GO

연결을 변경하는 작은 아이콘이 있습니다.이 아이콘을 클릭하여 [옵션]를 선택하여 [데이터베이스에 연결]드롭다운에서 [DB 선택]드롭다운

여기에 이미지 설명 입력

아래 MSQL 쿼리를 사용하여 sqlcmd에서 데이터베이스를 변경할 수 있습니다.

USE testdb
GO

그런 다음 현재 사용되는 데이터베이스를 확인할 수 있습니다.

SELECT DB_NAME()
GO

테스트

그런 다음 기존의 모든 데이터베이스를 표시할 수 있습니다.

SELECT name FROM master.sys.databases
GO


가 표시되다

msdb
(테스트)

또한 sqlcmd에 데이터베이스를 지정하지 않으면 기본적으로 "마스터" 데이터베이스사용됩니다.

Windows 인증을 사용하여 사용자 이름과 비밀번호를 사용하여 사용자로 로그인하기 위한 비밀번호를 모를 경우 SSMS 로그인 화면에서 오른쪽 하단의 옵션을 클릭한 후 연결 속성 탭으로 이동합니다.그런 다음 접속할 수 있는 다른 데이터베이스의 이름을 수동으로 입력할 수 있습니다.그런 다음 기본 데이터베이스 변경에 대한 다른 조언을 따르십시오.

https://gyazo.com/c3d04c600311c08cb685bb668b569a67

언급URL : https://stackoverflow.com/questions/362434/how-to-change-default-database-in-sql-server-without-using-ms-sql-server-managem

반응형