Samstag, 29. Januar 2011

SQL Server Agent Job automatisch löschen

Möchten Sie einmalig und eingeplant z.B. eine gespeicherte Prozedur aufrufen und dabei administrativen Aufwand reduzieren, könnte für Sie die Option Automatically delete job nützlich sein.
Falls Sie das SQL Server Management Studio für Erstellung eines Jobs verwenden, klicken Sie auf Notifications, aktivieren Sie Automatically delete job und wählen Sie eine von drei Bedingungen aus, bei der der Auftrag zu löschen ist.


Falls Sie den Job mit T-SQL erstellen, verwenden Sie das Argument @delete_level der Systemprozedur sp_add_job. @delete_level nimmt folgende int-Werte an: 0-nie(Standardwert), 1-bei Erfolg, 2-bei Fehler, 3 – immer.

Nachdem der Auftrag ausgeführt wurde und dabei sein Status mit dem delete_level übereinstimmt, führt der Job Manager die Anweisung aus:
EXEC msdb.dbo.sp_delete_job @job_id = job_id

Sonntag, 16. Januar 2011

SQL Server sa Passwort

Suchen Sie ein Standard Passwort des sa Logins, weil die SQL Server Zugangsdaten verloren gegangen sind? Finden Sie keins! ;) Ich beschreibe hier, wie Sie das Problem umgehen könnten.
Besitzen Sie keine Zugangsdaten zum SQL Server, aber Administratorberechtigungen auf dem Rechner, wo SQL Server Instanz installiert ist, besteht noch die Möglichkeit die SQL Server Instanz mit Sysadmin Berechtigungen im Einzelbenutzermodus anzubinden.
Gehen Sie die unten beschriebenen Schritte durch, um aus der unangenehmen Situation herauszukommen:
  • Öffnen Sie SQL Server Configuration Manager
  • Klicken Sie auf dem Knoten SQL Server Services
  • Halten Sie den Dienst des SQL Server Agents an
  • Öffnen Sie Eigenschaften des Dienstes der SQL Server Instanz
  • Fügen Sie zu den Startparametern des Dienstes den Parameter –m hinzu, um SQL Server Instanz im Einzelbenutzermodus zu starten
  • Starten Sie den Dienst der SQL Server Instanz neu
  • Stellen Sie eine Verbindung zur SQL Server Instanz her (z.B. in SSMS)
  • Erstellen Sie ein Benutzerkonto und fügen Sie es zu der Serverrolle Sysadmin hinzu
  • Entfernen Sie den Parameter –m von den Startparametern des SQL Server Dienstes
  • Starten Sie den Dienst der SQL Server Instanz neu
  • Starten Sie den Dienst des SQL Server Agents
Best practices für sa Login:
  • Nutzen Sie nur sichere Passwörter.
  • Ändern Sie das Passwort des sa Logins regelmäßig.
  • Verwalten Sie SQL Server Instanz unter dem sa Konto nie.
  • Benennen Sie den sa Login um.