Generelt
Da værktøjet bliver lavet i fritiden og ad hoc, arbejder jeg direkte på de fysiske datamodel.
Dette er i komplet modstrid med, hvad jeg ellers plæderer!
Data objekter
Tekst kolonner er defineret unicode, så den beskrevne implementering kan ret nemt benyttes i en given standard collation.
Alle objekter er placeret i det dertil oprettede schema [sqladmin]. Den fysiske model består af disse data objekter:
Lige nu er der ikke defineret constraints, da modellen er temmelig dynamisk (igen ad hoc).
Input objekter
I den fysiske data model er også disse input objekter:
- database-set
- ssdb_instance-set
- table-set
- windows_server-set
- windows_share-set
Output objekter
Disse output objekter er også placeret i den fysiske data model:
Funktionelle objekter
Der er enkelte funktionelle objekter i den fysiske model. Disse objekter benyttes typisk internt af modellens input eller output objekter:
Alle navne er skrevet med minuskler for at være uafhængig af den givne collation { Case Insesitive (CI) | Case Sensitive (CS) }. Navgivningen er på engelsk for at gøre data modellen brugbar internationalt.
Nedenstående er en beskrivelse af systemets data objekter.
Tabellen [sqladmin].[customer]
Kunder, klienter, partnere — kært barn har mange navne. Indholdet bør komme fra CMDB.
Tabellen kan sagtens gøres mere detaljeret…
Definition
Definition af kunde tabellen [Customer].
| Kolonne navn |
Kolonne type |
Kolonne kilde |
Kolonne beskrivelse |
| customer_id |
int |
Identity |
Primær nøgle |
| customer_name |
nvarchar( 128 ) |
|
Kunde navn |
| customer_description |
nvarchar( 256 ) |
|
Præcis beskrivelse af kunden. |
Tabellen [sqladmin].[environment]
Organisation har forskellige miljøer, som mine databaser er spredt ud over. Denne tabel indeholder miljøerne samt oplysninger om dem, inklusive den vedtagne forkortelse.
Definition
Definition af tabellen [environment].
| Kolonne navn |
Kolonne type |
Kolonne kilde |
Kolonne beskrivelse |
| env_id |
int |
Identity |
Primær nøgle |
| env_name |
nvarchar( 128 ) |
|
Miljøets navn |
| env_abbreviation |
nchar( 3 ) |
|
Den vedtagne forkortelse for miljøet |
| env_rank |
int |
|
Miljøets rang. Jo højere værdi, jo højere rang; for eksempel kan Produktion have rangen 10, mens Sandkasse kan have rangen 0 (nul) |
| env_description |
nvarchar( 256 ) |
|
Kort og præcis beskrivelse af miljøet |
Eksempel
Eksempel på indhold i tabellen [environment].
| env_id |
env_name |
env_abbreviation |
env_rank |
env_description |
| 1 |
Production |
PRD |
10 |
Production! |
| 2 |
Acceptance |
ACP |
8 |
Preproduction, change acceptance |
| 3 |
Test |
TST |
4 |
Testing integration, functionality, performance |
| 4 |
Development |
DEV |
1 |
Development - group, project, system etc. |
| 5 |
Sandbox |
SND |
0 |
Sandbox - personal and group |
Tabellen [sqladmin].[system]
En oversigt over organisationens systemer. Indholdet bør komme fra CMDB.
Definition
Definition af tabellen [system].
| Kolonne navn |
Kolonne type |
Kolonne kilde |
Kolonne beskrivelse |
| system_id |
int |
Identity |
Primær nøgle |
| system_name |
nvarchar( 128 ) |
|
Systemets navn |
| system_abbreviation |
nchar( 8 ) |
|
Den vedtagne forkortelse for systemet. Hvis din organisation arbejder med systemnummer, skal definitionen af denne kolonne tilpasses. |
| system_owner |
nchar( 3 ) |
|
Systemets ejer – en persons initialer |
| system_owner2 |
nchar( 3 ) |
|
Den sekundære systemejer – en persons initialer. Dette er ikke en pæn konstruktion i datamodellen. |
| system_dba |
nchar( 3 ) |
|
Systemets database administrator – en persons initialer |
| system_dba2 |
nchar( 3 ) |
|
Den sekundære database administrator – en persons initialer |
| system_description |
nvarchar( 256 ) |
|
En kort, præcis og fyldestgørende beskrivelse af systemet |
Tabellen [sqladmin].[security]
Denne oversigt over organisationens sikkerhedskategorier benyttes pt. til at klassificere tabeller, men kan i stedet benyttes til at klassificerer kolonner i tabeller eller materialiserede views.
Indholdet skal naturligvis være i overensstemmelse med organisationens sikkerhedspolitik.
Definition
Definition af tabellen [security].
| Kolonne navn |
Kolonne type |
Kolonne kilde |
Kolonne beskrivelse |
| security_id |
int |
Identity |
Primær nøgle |
| security_name |
nvarchar( 128 ) |
|
Sikkerhedskategoriens navn |
| security_abbreviation |
nchar( 6 ) |
|
Den vedtagne forkortelse for sikkerhedskategorien. Skal helst være definiret i organisationens sikkerhedspolitik, så forkortelsen er genkendelig for alle. |
| security_rank |
int |
|
Miljøets rang. Jo højere værdi, jo højere rang; f.eks kan Produktion have rangen 10, mens Sandkasse kan have rangen 0 (nul) |
| security_description |
nvarchar( 256 ) |
|
Præcis og fyldestgørende beskrivelse af den enkelte sikkerhedskategori. |
Eksempel
Eksempel på indhold i tabellen [security].
| security_id |
security_name |
security_abbreviation |
security_rank |
security_description |
| 1 |
TopSecret |
TOPSEC |
10 |
Top Secret – Adgang kræver godkendelse fra Senior Management eller det samlede Security Board. |
| 2 |
Secret |
SECRET |
8 |
Secret – Adgang kan gives af Senior Manager, Security Board eller Data Ejer. |
| 3 |
Confidential |
CONFID |
4 |
Confidential – Adgang gives af Management. |
| 4 |
Restricted |
RSTRIC |
1 |
Restricted – Adgang for ansatte i fast ansættelse. |
| 5 |
Public |
PUBLIC |
0 |
Public – Data kan distribueres uden begrænsninger. |
Tabellen [sqladmin].[service_level]
Denne oversigt over organisationens serviceniveauer benyttes pt. til at klassificere databaser, men kan i stedet benyttes til at klassificerer database instanser eller Windows Server hosts.
Indholdet skal naturligvis være i overensstemmelse med organisationens serviceaftaler.
Definition
Definition af tabellen [service_level].
| Kolonne navn |
Kolonne type |
Kolonne kilde |
Kolonne beskrivelse |
| service_level_id |
int |
Identity |
Primær nøgle |
| service_level_name |
nvarchar( 128 ) |
<manuel> |
Serviceniveauets navn |
| service_level_symbol |
nchar(1) |
<manuel> |
Det vedtagne symbol for serviceniveauet. Skal helst være defineret i organisationen, så symbolet er genkendeligt for alle. |
| service_level_rank |
int |
<manuel> |
Serviceniveauets rang. Jo højere værdi, jo højere rang; f.eks kan Guld have rangen 10, mens Bronze kan have rangen 0 (nul) |
| service_level_description |
nvarchar(256) |
<manuel> |
Præcis og fyldestgørende beskrivelse af det enkelte serviceniveau. |
Eksempel
Eksempel på indhold i tabellen [service_level].
| service_level_id |
service_level_name |
service_level_symbol |
service_level_rank |
service_level_description |
| 1 |
Guld |
α |
10 |
Højeste serviceniveau. |
| 2 |
Sølv |
β |
8 |
Almindeligt serviceniveau for Produktion. |
| 3 |
Bronze |
γ |
6 |
Lavt serviceniveau. |
| 4 |
uspecificeret |
• |
0 |
Serviceniveau er uspecificeret, typisk Test. |
Tabellen [sqladmin].[windows_server]
Kun Windows Server hosts, som har SQL Server installeret er interessante. Indholdet skal være automatisk opdateret.
Definition
Definiton af tabellen [windows_server].
| Kolonne navn |
Kolonne type |
Kolonne kilde |
Kolonne beskrivelse |
| windows_id |
int |
Identity |
Primær nøgle |
| windows_name |
nvarchar( 128 ) |
|
Windows Server fulde navn, inklusive fuld domænesti. |
| windows_ip4 |
nchar( 15 ) |
|
Windows Server IP v4 adresse med tre cifre i hver oktet. |
| windows_version |
nvarchar( 128 ) |
|
Windows Server fulde version. |
| windows_cpu__kernel_count |
int |
|
Antal installerede CPU kerner. |
| windows_cpu_socket_used_count |
int |
|
Antal CPU sokler i brug. |
| windows_cpu_socket_total_count |
int |
|
Totalt antal CPU sokler i maskinen. |
| windows_is_virtual |
bit |
|
Windows Server er installeret virtuelt. |
| windows_in_use |
bit |
|
Windows Server er i brug. Server kan registreres før installation |
| windows_description |
nvarchar( 256 ) |
|
Præcis og fyldestgørende beskrivelse af Windows Server. |
Tabellen [sqladmin].[windows_share]
Når du ikke har adgang til SQL Server Management Studio eller Remote Desktop, vil du være glad for en oversigt over dine muligheder for at kigge i servernes diske!
Definition
Definition af tabellen [windows_share].
| Kolonne navn |
Kolonne type |
Kolonne kilde |
Kolonne beskrivelse |
| share_id |
int |
Identity |
Primær nøgle. |
| share_name |
nvarchar( 128 ) |
|
Disk Share navn. |
| share_path |
nvarchar( 256 ) |
|
Fulde Disk Share sti. |
| share_description |
nvarchar( 256 ) |
|
Præcis beskrivelse af Disk Share og dets generelle indhold. |
| windows_id |
int |
|
Fremmed nøgle til registreret Windows Server. |
Tabellen [sqladmin].[ssdb_instance]
Alle dine SQL Server database instanser, også de default, som registreres med „.“ (dot).
Definition
Definiton af tabellen [ssdb_instance].
| Kolonne navn |
Kolonne type |
Kolonne kilde |
Kolonne beskrivelse |
| ssdb_id |
int |
Identity |
Primær nøgle. |
| ssdb_name |
nvarchar(128) |
T–SQL: SERVERPROPERTY('InstanceName') |
SQL Server instans navn. |
| ssdb_audit_level |
nvarchar(128) |
SMO: Server.AuditLevel Facet: Server.AuditLevel |
SQL Server instansens revisionsniveau. |
| ssdb_maxmem |
int |
|
Den fastsatte grænse for SQL Server instansens allokering af memory (RAM). |
| ssdb_backup_directory |
nvarchar(256) |
Facet: Server.BackupDirectory |
SQL Server database instansens standard backup folder. |
| ssdb_build_clr_version |
int |
T–SQL: SERVERPROPERTY('BuildClrVersion') |
Microsoft .NET versionen som SQL Server database instansen blev bygget med. |
| ssdb_collation_id |
int |
T–SQL: SERVERPROPERTY('CollationID') |
SQL Server instans collation identitet. |
| ssdb_collation_name |
nvarchar(128) |
T–SQL: SERVERPROPERTY('Collation') |
SQL Server instans collation med fuldt beskrivende streng. |
| ssdb_collation_locale_id |
int |
T–SQL: SERVERPROPERTY('LCID') |
Windows locale indentitet for SQL Server instans collation. |
| ssdb_comparison_style |
int |
T–SQL: SERVERPROPERTY('ComparisonStyle') |
Windows comparison style for SQL Server instansens collation. |
| ssdb_edition_id |
int |
T–SQL: SERVERPROPERTY('EditionID') |
SQL Server instans udgave identitet. |
| ssdb_edition_name |
nvarchar(128) |
T–SQL: SERVERPROPERTY('Edition') |
SQL Server instans udgave. For eksempel Enterprise. |
| ssdb_engine_edition |
int |
T–SQL: SERVERPROPERTY('EngineEdition') |
SQL Server instans udgave. For eksempel Enterprise. |
| ssdb_errorlog_count |
nvarchar(256) |
SMO: Server.NumberOfLogFiles |
Antal filer til SQL Server instansens errorlog. |
| ssdb_errorlog_directory |
nvarchar(256) |
SMO: Server.ErrorLogPath |
SQL Server instansens standard errorlog folder. |
| ssdb_file_directory |
nvarchar(256) |
SMO: Server.DefaultFile Facet: Server.DefaultFile |
SQL Server instansens standard datafil folder. |
| ssdb_is_clustered |
int |
T–SQL: SERVERPROPERTY('IsCLustered') |
Angiver om SQL Server instansen er sat op i et failover cluster. |
| ssdb_is_fulltext_installed |
int |
T–SQL: SERVERPROPERTY('IsFullTextInstalled') |
Angiver om SQL Server instansen har FullText installeret. |
| ssdb_is_integrated_security_only |
int |
T–SQL: SERVERPROPERTY('IsIntegratedSecurityOnly') |
Angiver om SQL Server instansen er sat til Windows Authentication modsat Mixed. |
| ssdb_is_single_user |
int |
T–SQL: SERVERPROPERTY('IsSingleUser') |
Angiver om SQL Server instansen er i Single User tilstand. |
| ssdb_license_count |
int |
T–SQL: SERVERPROPERTY('NumLicenses') |
Antal SQL Server instansens klient licenser. |
| ssdb_license_type |
nvarchar(128) |
T–SQL: SERVERPROPERTY('LicenseType') |
SQL Server instansens licens. |
| ssdb_log_directory |
nvarchar(256) |
SMO: Server.DefaultLog Facet: Server.DefaultLog |
SQL Server instansens standard transaktionslogfil folder. |
| ssdb_master_data_directory |
nvarchar(256) |
SMO: Server.MasterDBPath |
Folder navn for SQL Server instansens master database data fil. |
| ssdb_master_log_directory |
nvarchar(256) |
SMO: Server.MasterDBLogPath |
Folder navn for SQL Server instansens master database log fil. |
| ssdb_process_id |
int |
T–SQL: SERVERPROPERTY('ProcessID') |
Proces nummer for SQL Server instansens service (sqlservr.exe). |
| ssdb_version |
nvarchar(128) |
T–SQL: SERVERPROPERTY('ProductVersion') |
SQL Server instans fuld version. |
| ssdb_service_account_name |
nvarchar(128) |
Facet: Server.ServiceAccount |
SQL Server instans fuld version. |
| ssdb_tcp |
int |
|
SQL Server instans TCP port nummer. |
| ssdb_description |
nvarchar(256) |
|
Fyldestgørende beskrivelse af SQL Server instans og dens indhold. |
| windows_id |
int |
|
Fremmed nøgle til Windows Server. |
| env_id |
int |
|
Fremmed nøgle til miljøangivelse. |
Tabellen [sqladmin].[database]
Alle databaser — også i Test. Indholdet er naturligvis opdateret automatisk.
Definition
Definition af tabellen [database].
| Kolonne navn |
Kolonne type |
Kolonne kilde |
Kolonne beskrivelse |
| database_id |
int |
Identity |
Primær nøgle. |
| database_name |
nvarchar(128) |
|
Database navn. |
| database_collation |
nvarchar(128) |
|
Database collation. |
| database_recovery_model |
nchar(10) |
|
Database Recovery Model, for eksempel Full. |
| database_owner |
nvarchar(128) |
|
Database ejer, login navn. |
| database_backup_full_last |
datetime |
|
Tidspunkt for nyeste fulde backup af databasen. |
| database_backup_diff_last |
datetime |
|
Tidspunkt for nyeste differentielle backup af databasen. |
| database_backup_log_last |
datetime |
|
Tidspunkt for nyeste log backup af databasen. |
| database_create_time |
datetime |
|
Dato for databasens oprettelse i den givne instans. |
| database_create_person |
nvarchar(128) |
|
Personen som oprettede databasen i den givne instans. |
| database_vlf_count |
int |
|
Antal Virtual Log Files (VLF) i databasens transaktionslogfil(–er). |
| database_homemade |
bit |
|
Angivelse af om databasen er udviklet af organisationen selv. |
| database_update_time |
datetime |
T–SQL: GETDATE() |
Tidspunkt for sidste opdatering af databasens registrering i SQLAdmin. |
| database_update_user |
nvarchar(128) |
T–SQL: SUSER_SNAME() |
Bruger som sidst opdaterede registreringen af databasen i SQLAdmin. |
| database_description |
nvarchar(max) |
|
Beskrivelse af databasen. |
| ssdb_id |
int |
|
Fremmed nøgle til SQL Server instansen som indeholder database. |
| ssdb_id_mirror |
int |
|
Fremmed nøgle til SQL Server instans som indeholder spejling af database. |
| ssdb_id_witness |
int |
|
Fremmed nøgle til SQL Server instans som indeholder vidne database for databasens spejling. |
| system_id |
int |
|
Fremmed nøgle til systemet, som databasen tilhører. |
| customer_id |
int |
|
Fremmed nøgle til databasens kunde. |
Tabellen [sqladmin].[table]
Alle tabeller i alle miljøer. Indholdet er naturligvis opdateret automatisk.
Definition
Definition af tabellen [table].
| Kolonne navn |
Kolonne type |
Kolonne kilde |
Kolonne beskrivelse |
| table_id |
int |
Identity |
Primær nøgle. |
| table_name |
nvarchar( 128 ) |
|
Tabel navn. |
| table_schema |
nvarchar( 128 ) |
|
Tabellens schema. |
| table_description |
nvarchar( 256 ) |
|
Beskrivelse af tabellen hentet fra tabeldefinitionens udvidede egenskaber. |
| database_id |
int |
|
Fremmed nøgle til databasen som tabellen er placeret i. |
| security_id |
int |
|
Fremmed nøgle til Sikkerhedskategori. |