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. |