CREATE TABLE #t ( c1 int ) GO CREATE INDEX IX_c1 ON #t(c1) GO SELECT [object_id], [name] FROM tempdb.sys.indexes WHERE [object_id] = OBJECT_ID('tempdb.dbo.#t') AND type > 0 DROP TABLE #t GO object_id name ----------- ------- 389576426 IX_c1 (1 row(s) affected)
Generell lassen sich indizierte Sichten mit jeder Edition von SQL Server erstellen. Der Unterschied hierbei liegt aber im Detail:
Startup Prozeduren werden beim Start von SQL Server ausgeführt. Typische Verwendungszwecke sind zum Beispiel:
Um eine Prozedur als Startup Procedure festzulegen, muß man die Systemprozedur sp_procoption ausführen. Nähere Erläuterungen zur Verwendung dieser Prozedur stehen in BOL.
Startup Prozeduren werden beim Start von SQL Server ausgeführt. Typische Verwendungszwecke sind zum Beispiel:
Um eine Prozedur als Startup Procedure festzulegen, muß man die Systemprozedur sp_procoption ausführen. Nähere Erläuterungen zur Verwendung dieser Prozedur stehen in BOL.
Typisches Einsatzgebiet ist die Implementierung einer eigenen Protokollierfunktionalität, die Änderungen an Tabellen mitschneidet. Die Arbeitsweise ist stets die gleiche, nur die Tabelle ist immer eine andere.
Ein online-Backup verändert nicht die 'normale' Datenbankaktivität, hat vielleicht minimalen Einfluss auf den Transaktionsdurchsatz. Die Datenbanken werden ohne Rücksicht auf aktive Transaktionen gesichert. Anschliessend wird das Transaktions Log gesichert, um die während des Backup-Vorganges vorgenommenen Transaktionen zu erhalten. Beim Restore werden dann zuerst die Daten zurückgespielt, dann das Transaktions Log. So bleibt die Datenbank in einem logisch konsistenten Zustand.
Ein interessantes Dokument findet sich hier.
Generell macht es Sinn, tempdb auf eine separaten Platte oder Array zu legen, um die Performance zu verbessern. Dieser Knowledgebase Artikel beschreibt, wie man sowohl Benutzer- als auch Systemdatenbanken verschiebt.
Alternativ kann man das auch über ein kleines T-SQL Skript erledigen:
USE master
GO
ALTER DATABASE tempdb MODIFY FILE (NAME = tempdev, FILENAME = 'H:\Daten\tempdb.mdf')
GO
ALTER DATABASE tempdb MODIFY FILE (NAME = templog, FILENAME = 'H:\Daten\templog.ldf')
GO
Anschließend muß SQL Server neu gestartet werden, damit die Änderungen wirksam werden.