Programmieren - alles kontrollieren 4.941 Themen, 20.708 Beiträge

Probleme mit SQL Script

Yves3 / 0 Antworten / Baumansicht Nickles

Ich möchte über ein Script automatisch eine Datenbank, ein paar Tabellen , Constraints, einen User und ein paar Berechtigungen für diesen User erstellen.
Das ist auch kein Problem beim ersten mal, wenn ich die Datenbank aber wieder lösche und noch einmal erstellen will, dann wird ständig gemeldet, sie existiere bereits.
Wie ich herausgefunden habe, hängt der Name der DB noch in der temorären Datenbank von SQL-Server.

Das Problem wird hier beschrieben und es wird auch ein Lösung genannt:
http://support.microsoft.com/kb/166200/de

Wenn ich das aber so mache, dann habe ich das genau gleiche Problem wieder, mit dem Unterschied, dass dieses mal die Prozedur "sp_test" bereits existiert.

Ist es irgendwie möglich, das in einem Script unterzubringen?

Vielen Dank im Voraus!

EDIT: Endlich geschafft.

1. Ich musste ein USE auf die master db machen, bevor ich die Datenbank erstelle.
2. Vor jedem Erstellen eine Tabelle einen Befehl nach diesem Muster ausführen:

IF EXISTS (SELECT * FROM sysobjects where name='t_tabelle') DROP TABLE t_tabelle;


Beim User und der DB genau das gleiche:
if db_id('db_events') is not null
DROP DATABASE db_events;


IF EXISTS (SELECT * FROM master..sysusers where name='u_username')
DROP USER u_username


IF EXISTS (SELECT * FROM master..syslogins where name='u_username')
DROP LOGIN u_username

3. Den Befehl GO nach dem Erstellen der DB Einfügen



bei Antwort benachrichtigen