SQL Server가 db_accessadmin, db_datareader 등과 같은 초기 DB 역할에 대한 스키마를 만드는 이유는 무엇입니까? 나는 역할이 무엇인지, 왜 존재 하는지를 이해하지만, 데이터베이스가 생성 될 때 왜 스키마가 주어지는 지 이해하지 못한다. 아무도 그들을 사용합니까? Microsoft에서 테이블을 추가 할 것을 권장하지는 않습니다. db_datawriter에 직원 또는 제품 테이블을 추가 할 수 없습니다. 소유 한 숨겨진 시스템 객체가 있습니까?SQL Server가 초기 DB 역할에 대한 스키마를 만드는 이유는 무엇입니까?
답변
기타를 사용해야 정말 설명하지 않고.
SQL Server 2005가 도입되었을 때 그들은 user/schema separation을 도입했습니다. 그 전에 각 사용자와 역할에는 암시 적으로 연결된 동일한 이름의 스키마가있었습니다 (사용자 또는 역할을 만드는 것 이외에는 스키마를 만들 수있는 방법이 없었습니다).
따라서 2000 년 (또는 그 이전) 버전의 SQL Server에 있던 역할로 빌드 된 경우 해당 역할과 동일한 이름의 데이터베이스에 항상 "사용 가능한"스키마가있었습니다. 따라서 일부 스키마는 그러한 스키마가 존재한다고 가정하여 작성되었을 수 있습니다. 최신 버전의 SQL Server에서는 이러한 코드가 손상되는 것을 방지하기 위해 여전히 사실임을 확인합니다.
레거시.
레거시 고정 데이터베이스 역할을 사용하는 대신 명시 적 GRANT (GRANT ALTER USER TO ...)를 사용해야합니다.
당신은 또한 생성 된 스키마를 얻을 sp_grantdbaccess 사용하는 경우 : 당신이 기존/이전 버전과의 호환성을 말했다 CREATE USER
흠 ... 고정 된 데이터베이스 역할은 유산입니까? 더 이상 사용되지 않는 공식 문서에 대한 링크가 있습니까? –
@Ben Thul : 좋은 지적 사실, 그들은 MSDN에서 더 이상 사용되지 않습니다. 지금 GRANT를 사용하므로 얻을 수있는 것이 더 명확합니다. – gbn
- 1. SQL Server가 예외를 계속 throw하는 이유는 무엇입니까?
- 2. SQL Server가 Temp Table을 아직 존재하지 않는다고 생각하는 이유는 무엇입니까?
- 3. SQL Server가 내 어셈블리를 SAFE로 등록하지 않는 이유는 무엇입니까?
- 4. SQL Server가 단일 사용자 모드로 전환 된 이유는 무엇입니까?
- 5. db 스키마를 dbo로 변경하는 방법
- 6. SQLXMLBulkLoad 스키마를 만드는 도구?
- 7. 쉽게 DB 테이블/스키마를 설계하는 방법은 무엇입니까?
- 8. 포럼의 DB 스키마를 구조화하는 방법은 무엇입니까?
- 9. Codeigniter : db 스키마를 어떻게 재구성해야합니까?
- 10. SQL 서버 DB 스키마를 MySQL에 이식하는 가장 좋은 방법
- 11. SQL Server가 잠겨 있습니까?
- 12. 오류 - 내가 SchemaExport에를 사용하여 DB 내 (SQL 2005)에 대한 스키마를 genereated 한
- 13. SQL Server가 동시 요청을 처리하는 방법은 무엇입니까?
- 14. SQL Server가 레코드를 삭제하지 않습니다.
- 15. SQL Server가 다른 SQL 서버에 연결하고 있습니까?
- 16. 가상 메서드가 초기 바인딩으로 간주되는 이유는 무엇입니까?
- 17. SQL Server가 올바른 인덱스 사용법입니까?
- 18. SQL Server가 없거나 액세스가 거부되었습니다.
- 19. Solr SQL Server가 설치된 DataImportHandler
- 20. SQL Server에서 DF 제약 조건을 계속 만드는 이유는 무엇입니까?
- 21. , ndsolve에서 변수로 초기 조건을 만드는 방법은 무엇입니까?
- 22. 사양을 실행하는 동안 DB 스키마를 변경하려면 어떻게해야합니까?
- 23. 초기 개발 과정에서 South를 사용하는 이유는 무엇입니까?
- 24. 역할에 대한 선언적 권한 부여
- 25. 기본 db 스키마를 수정하는 응용 프로그램
- 26. DB 백업을 사용하여 SQL Server 복제를 만드는 방법은 무엇입니까?
- 27. 원격으로 SQL 데이터베이스 역할에 대한 사용 권한 부여
- 28. SQL Server 데이터베이스의 역할에 대한 모든 보안 개체보기?
- 29. db 스키마를 변경하는 것이 더 좋습니까?
- 30. SQLite 테이블의 스키마를 추출하는 SQL 명령은 무엇입니까?
하위 호환성? –