데이터베이스 다이어그램을 지원 물체를 설치할 수 없습니다...소유자가 유효한

StackOverflow https://stackoverflow.com/questions/2043382

문제

나를 데이터베이스를 만들 diagramm SQL Server2008,그러나 오류가 발생합니다.

데이터베이스 다이어그램 개체 지원 설치할 수 없기 때문에 이 데이터베이스에 유효하지 않습니다 소유자입니다.계속하려면 첫 번째는 파일을 사용하여 페이지 데이터베이스의 속성 대화상자 나 변경 권한 부여 문의 하는 설정 데이터베이스의 소유자가 유효한 로그인 후,추가 데이터베이스 다이어그램 원 개체입니다.

을 다음과 같다:

EXEC sp_dbcmptlevel 'Ariha', '90';
GO
ALTER AUTHORIZATION ON DATABASE::Ariha TO [WIN-NDKPHUPPNFL\Administrator]
GO
USE Ariha
GO
EXECUTE AS USER = N'dbo' REVERT
GO

다음 erorr 나타납:

Msg15404,수 16,11,줄 1 에 대한 정보를 가져올 수 없습니다 Windows NT 그룹/사용자 'WIN-NDKPHUPPNFL\관리자',오류 코드 0x534.

문제는 이름의 PC 에 있으로 변경"DevPC"내가 또한 변경이 업데이트에서 스크립트,하지만 여전히 같은 오류가 15404.

나는 무엇을 해결하는 이가 오류가?

도움이 되었습니까?

해결책

데이터베이스 소유권에 대한 SQL 인증 계정을 고려해야합니다. 그런 다음 계정이오고가는 것에 대해 걱정할 필요가 없습니다. 데이터베이스 또는 다른 서버로 이동하는 인스턴스 및 다음 PC 이름 변경에 대해 걱정할 필요가 없습니다. 우리가 사용하는 몇 가지 시스템이 있습니다.

ALTER AUTHORIZATION ON DATABASE::Ariha TO [sa];

또는 소유자를 해당 지역 관리자 계정으로 변경하려면 다음과 같습니다.

ALTER AUTHORIZATION ON DATABASE::Ariha TO [DevPC\Administrator];

기계의 이름을 바꾸기 때문입니다 DevPC 명명 된 지역 계정을 제거했습니다. WIN-ND...\Administrator 그리고 이것은 또한 데이터베이스의 현재 소유자를 무효화했습니다.

만약에 SELECT @@SERVERNAME; 정확하지 않습니다 (말해야합니다 DevPC), 그런 다음 SQL Server 내에서 서버 Rename이 유지되도록하려면 다음을 발행 할 수도 있습니다.

EXEC sp_dropserver @server = N'old server name';
GO
EXEC sp_addserver @server = N'DevPC', @local = N'local';
GO

다른 팁

SQL Server Management Studio에서 다음을 수행합니다.

  1. 데이터베이스를 마우스 오른쪽 버튼으로 클릭하고 속성을 선택하십시오
  2. 옵션 페이지로 이동하십시오
  3. "호환성 레벨"이라는 오른쪽으로 표시된 드롭 다운에서 SQL Server 2005 (90) 3-1을 선택하십시오. 비교 오류를받는 경우 "SQL Server 2008"을 선택하십시오.
  4. 파일 페이지로 이동하십시오
  5. 소유자 텍스트 상자에 "SA"를 입력하십시오. 5-1 또는 타원 (...)을 클릭하고 정당한 소유자를 선택하십시오.
  6. OK를 누르십시오

이 작업을 수행하면 이제 데이터베이스 다이어그램에 액세스 할 수 있습니다.

enter image description here

USE [ECMIS]
GO
EXEC dbo.sp_changedbowner @loginame = N'sa', @map = false
GO

효과가있다.

소유자 텍스트 상자에 "SA"대신 "SA"를 입력하십시오. 이것은 나를 위해 효과가있었습니다.

나는 같은 문제가 있었다.
나는 직장에서 집에서 같은 날을 만든 다이어그램을보고 싶었습니다. 그러나이 메시지 때문에 나는 할 수 없었습니다.
데이터베이스의 소유자가 예상대로 내 컴퓨터 사용자라는 것을 알았습니다. 그러나 컴퓨터가 회사의 도메인에 있고 회사의 네트워크에 연결되어 있지 않기 때문에 데이터베이스는 소유자를 해결할 수 없었습니다.

그래서 내가 한 것은 소유자를 로컬 사용자로 변경하십시오 그리고 그것은 효과가 있었다 !!
이것이 누군가를 돕기를 바랍니다.

데이터베이스, 속성, 파일, 소유자를 마우스 오른쪽 버튼으로 클릭하여 사용자를 변경합니다.

이것은 나를 위해 그것을 고쳤다. 데이터베이스 속성 창의 '파일'섹션 아래에있는 소유자를 설정하고 Management Studio에서 스크립팅합니다.

USE [your_db_name]
GO
EXEC dbo.sp_changedbowner @loginame = N'sa', @map = false
GO

에 따르면 SP_CHANDEDBOWNER 문서 이것은 지금 더 이상 사용되지 않습니다.

이스라엘의 대답에 근거합니다. Aaron의 대답은 이것의 비대화되지 않은 변형입니다.

데이터베이스 선택 - 마우스 오른쪽 버튼을 클릭하십시오 - 속성을 선택하십시오

페이지 왼쪽에서 파일을 선택하십시오

소유자 상자에서 3 개의 점 (…)이있는 버튼을 선택하십시오.

이제 사용자 'SA를 선택하고 확인을 클릭하십시오

나는 이것을 경험했다. 나는이 페이지의 제안과 SQL Authority 제안 (같은 것)을 읽었으며 위의 어느 것도 작동하지 않았다.

결국, 나는 계정을 제거하고 동일한 사용자 이름/비밀번호로 재현했습니다. 그렇게하면 모든 문제가 사라졌습니다.

슬프게도 이것은 내가 무엇이 잘못되었는지 모르기 때문에 다른 것을 공유 할 수 없다는 것을 의미합니다.

1. 데이터베이스를 클릭하십시오. 2. 속성을 선택하십시오. 3. 호환성 수준에서 옵션을 선택하십시오. Microsoft SQL 2008과 함께 작업하는 경우 SQL 2008 [100]을 선택하십시오.

4. 그런 다음 소유자의 텍스트 상자에서 파일을 선택하고 (SA)를 씁니다.

100%가 나를 위해 작동합니다.

을 해결하는 쉬운 방법이 이 문제는 것을 이름을 마우스 오른쪽 단추로 클릭의 데이터베이스를 선택,"새로운"쿼리,형식"exec sp_changedbowner'sa'"및 쿼리를 실행합니다.그때 당신은 갈 수 있습니다.

Microsofft SQL Server Management Studio를 마우스 오른쪽 버튼으로 클릭하고 관리자로 실행해야합니다.

Query 편집기에서만 실행하면 Database에서 Alter Authorization :: yourDatabase to [Domain Account];

실제 문제는 기본 소유자 (DBO)에 로그인이 전혀 매핑되지 않았다는 것입니다. SA 로그인을 데이터베이스 소유자에 매핑하려고 했으므로 "사용자, 그룹 또는 역할 'DBO'라는 다른 오류를 받았습니다. 이미 존재합니다 ... ". 그러나이 코드를 시도하면 실제로 작동합니다.

exec sp_dbcmptlevel 'Yourdb', '90';

가다

데이터베이스에 대한 Alter Authorization :: Yourdb to "Yourlogin"

가다

사용 [Yourdb

가다

user = n'dbo 'revert로 실행합니다

가다

데이터베이스를 마우스 오른쪽 버튼으로 클릭 한 다음 속성을 선택하십시오. 호환성 레벨에서 옵션을 선택하십시오. Microsoft SQL 2008과 함께 작업하는 경우 2008 대신 SQL 2005 [90]를 선택하십시오. 그런 다음 소유자의 TextBox에서 파일을 선택하고 (SA)를 작성하십시오. 아마 작동 할 것입니다

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top