27.05.2002
Prozeduren:
Die sp_configure beinhaltet die Einstellungen einer Instanz wie name oder value-Werte
Die sp_dboption-Prozedur lässt sich an oder abschalten und laesst damit Massenkopien, Einzelbenutzermodi und Transaktionsprotokolle aus. Letztere werden damit komplett ausgeschaltet.
Die sp_help gibt fast saemtliche Informationen ueber ein Projekt aus, u.a. Spaltenanzahl, Datentypen, etc. aehnlich wie im Enterprise-Manager.
sp_lock,
sp_spaceused gibt Informationen ueber verfuegbaren Speicherplatz bezogen auf die Datenbank sowie ueber die Fuellmenge der Reihen, usw.
sp_who gibt Info's zu Logins und ueber laufende Prozesse.
NTFS-Rechte:
Obwohl wir testweise einem Rechner alle NTFS-Rechte fuer andere Benutzer entzogen haben, hat der Anmeldename der SQL-Datenbank, in unserem Fall SQL2, Zugriffsrechte zum Erstellen von Datenbanken. Der Grund ist, dass wir diesen Benutzer zur lokalen Gruppe der Administratoren hinzugefuegt haben. Zudem hat derjenige, der sich an dem SQL-Server anmeldete, Domaenenadministrator-Rechte. Das laesst folgende Schluesse zu. Der SQL-Server verbindet sich zum einen auf zwei Verbindungsprotokollen. Auf IP-Sockets (Port 1344) und auf Named Pipes. Letzteren interessieren Freigaberechte zum Beispiel ueberhaupt nicht. Der SQL-Server simuliert dem W2k-System unter anderem die als remote angemeldeten Benutzer als lokale.
Bezeichnungsvorgaben fuer DB's
Das erste Namenszeichen darf ein Unterstrich (_) oder Buchstabe sein. Nichts anderes! WEitere Namenszeichen duerfen das Dollarzeichen ($), Buchstaben oder Zahlen sein. Auf der sicheren Seite ist man, wenn die Datenbanken mit nicht mehr als 8 Zeichen geschrieben wird. (Es funktioniert allerdings bis zu 14 oder 16 Zeichen fast immer problemlos.) Weiterhin sollte man keine Experimente mit Unterscheidung zwischen Gross- und Kleinschreibung veranstalten. ADABAS konnte beispielsweise auf Tabellenebene nur Grossschreibung. Tabellen sollten ebenfalls keine Sonder- und Leerzeichen im Namen beinhalten. Dass man reservierte Woerter (Backup, Plan, Name, Exec, ID, etc.) nicht benutzen sollte, ist trivial.
Die Datenbank, die Geschwindigkeitsmaessig die wichtigste Rolle spielt, ist die TempDB. Deswegen bekommt diese ein eigenes Speicherplatzsystem...
Will man die Dateien getrennt oder zusammen verschieben, die eine Datenbank ausmachen, muss man mit RM in Alle Tasks die Datenbank trennen. Natuerlich sollte man geschaut haben, wo sich die Datenbank befindet. Danach gehe ich mit dem Explorer bei und verschiebe die Datenbankdateien. Danach gehe ich in den jew. Instanznamen und mit RM auf Datenbank anhaengen in Alle Tasks. Der Pfad laesst sich auswaehlen und der Name der Datenbank laesst sich aendern. Mit einem Klick auf OK und der Bestaetigungsmeldung ist die Datenbank wieder online und erscheint in unserer Instanz. Allerdings kann man das Trennen auch mit einer Prozedur ausloesen (sp_detach_db [Name DB], true). Zum Anhaengen verwendet man folgenden Befehl: sp_attach_db [Name DB] , @filename = '[Pfad der .mdf-Datei]'.
Wir haben uns fuer einen Teil unserer MCDBA-Zeit fuer ein Projekt entschieden, welches folgende Eckdaten beinhaltet:
Wir haben als Projekt fuenf Server mit folgenden Daten:
| SRV M | SRV 1 | SRV 2 | Heim 1 | Heim 2 |
| NT4 / SQL 6.5 | NT4 / SQL 6.5 | NT4 / SQL 6.5 | W2k / SQL 6.5 | W2k / SQL 6.5 |
| jede Nacht Abgleich jede Nacht Sicherung |
Abgleich mit M (Master) gelegentlich Sicherung gelegentlich |
|||