| Previous | Next |
| PEER_E_MAX_RECORD_SIZE_EXCEEDED | PEER_E_DATABASE_NOT_PRESENT |
PEER_E_DATABASE_ALREADY_PRESENT
Which peer contract was rejected
PEER_E_DATABASE_ALREADY_PRESENT — HRESULT 0x80630305 marks database creation/import targets a graph ID, peer ID and database name combination that already has a local database. The base description names the outcome; diagnosis requires the data contract and lifecycle accepted by PeerGraphCreate/Open and graph database import.
Peer records combine a typed record structure, optional searchable XML attributes, payload data, creator metadata and expiration. The local database may receive records in an order different from application dependencies.
Minimum diagnostic packet
| Item | Evidence for this HRESULT |
|---|---|
| Raw input | Preserve target path, graph and peer IDs, existing database hash, creation/import mode and whether the application intended open, replace or import. |
| Owning context | Record the Windows user, process integrity, graph or group handle, database path and selected cloud. |
| Previous success | Save the last successful create, open, enumerate, parse, register or sign-in result that produced the object. |
| Result order | Retain the first HRESULT so cleanup failures do not replace the code that rejected the request. |
Focused reproduction
Use a clean temporary target for import and compare with the original occupied target without deleting either database. Use disposable identities or groups when the test publishes names, creates credentials or modifies a replicated database.
Why the comparison code is different
PEER_E_DUPLICATE_GRAPH differs because database-already-present is persistent-store identity; duplicate-graph is an in-process graph object collision. A diagnostic report should retain both the symbolic constant and the unsigned hexadecimal value.
Recommended change
Open the existing database when it is the intended store, or choose an explicit new target for import; never silently replace replicated state. Avoid deleting every peer database, certificate store or firewall rule because broad resets erase evidence without proving the caller contract was repaired.
Proof of repair
- The original input now passes the precise check represented by this HRESULT.
- The operation reaches the intended graph, group, record, PNRP or collaboration outcome.
- Unrelated identity material, membership credentials and replicated records remain unchanged.
Technical references
- Microsoft: Record attribute schema — it uses this source for the documented peer boundary.
- Microsoft: Record search query format
- Microsoft: Record dependencies
- Microsoft: Grouping API functions
Looking for a different code? Search another status or error code.