none
sql-Skript einlesen RRS feed

  • Frage

  • Hallo liebe Gemeinde,

    ich habe eine .sql-Datei von einem Server bei mir auf der Arbeit schreiben lassen. Zu Hause arbeite ich mit dem SQL-Server Express 2008 Management Studio. Dort wollte ich die Datei einlesen. Leider stimmen die im Skript angegebenen Benutzer nicht. Ich weiß nur leider gar nicht, wie der Benutzer zu ändern ist. Das Script sieht so aus und Zeile 1 meckert mein Server zu Hause an:

    IF NOT EXISTS (SELECT * FROM dbo.sysusers WHERE name = N'Administrator')
    EXEC dbo.sp_grantdbaccess @loginame = N'ASMES\Administrator', @name_in_db = N'Administrator'
    GO
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[Benutzer]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1)
    BEGIN
    CREATE TABLE [dbo].[Benutzer](
    	[ID] [int] IDENTITY(1,1) NOT NULL,
    	[Benutzername] [nvarchar](50) NOT NULL,
    	[Passwort] [nvarchar](100) NOT NULL,
    	[Vorname] [nvarchar](50) NOT NULL,
    	[Nachname] [nvarchar](50) NOT NULL,
    	[RollenID] [int] NOT NULL,
    	[aktiv] [bit] NOT NULL,
     CONSTRAINT [PK_Benutzer] PRIMARY KEY CLUSTERED 
    (
    	[ID] ASC
    ) ON [PRIMARY]
    ) ON [PRIMARY]
    END
    GO
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[Rollen]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1)
    BEGIN
    CREATE TABLE [dbo].[Rollen](
    	[ID] [int] IDENTITY(1,1) NOT NULL,
    	[Rolle] [nvarchar](50) NOT NULL,
    	[aktiv] [bit] NOT NULL,
     CONSTRAINT [PK_Rollen] PRIMARY KEY CLUSTERED 
    (
    	[ID] ASC
    ) ON [PRIMARY]
    ) ON [PRIMARY]
    END
    GO
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[Rechte]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1)
    BEGIN
    CREATE TABLE [dbo].[Rechte](
    	[ID] [int] IDENTITY(1,1) NOT NULL,
    	[RollenID] [int] NOT NULL,
    	[Form] [nvarchar](50) NOT NULL,
    	[Funktion] [nvarchar](50) NOT NULL,
    	[Bemerkung] [ntext] NOT NULL,
    	[aktiv] [bit] NULL,
     CONSTRAINT [PK_Rechte] PRIMARY KEY CLUSTERED 
    (
    	[ID] ASC
    ) ON [PRIMARY]
    ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
    END
    GO
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[Status]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1)
    BEGIN
    CREATE TABLE [dbo].[Status](
    	[ID] [int] IDENTITY(1,1) NOT NULL,
    	[Status] [nvarchar](50) NOT NULL,
     CONSTRAINT [PK_Status] PRIMARY KEY CLUSTERED 
    (
    	[ID] ASC
    ) ON [PRIMARY]
    ) ON [PRIMARY]
    END
    GO
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[Auftraege]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1)
    BEGIN
    CREATE TABLE [dbo].[Auftraege](
    	[Auftragsnummer] [bigint] NOT NULL,
    	[Rueckmeldenr] [bigint] NOT NULL,
    	[Artikelnummer] [bigint] NOT NULL,
    	[Materialkurztext] [nvarchar](100) NOT NULL,
    	[Menge] [int] NOT NULL,
    	[Einheit] [nvarchar](4) NOT NULL,
    	[Startdatum] [datetime] NOT NULL,
    	[Kostenstelle] [nvarchar](6) NOT NULL,
    	[Sollmenge] [int] NOT NULL,
    	[Istmenge] [int] NOT NULL,
    	[StatusID] [int] NOT NULL,
    	[Prio] [int] NOT NULL,
    	[Versuch] [bit] NOT NULL,
    	[Statusdatum] [datetime] NOT NULL,
     CONSTRAINT [PK_Auftraege] PRIMARY KEY CLUSTERED 
    (
    	[Auftragsnummer] ASC
    ) ON [PRIMARY]
    ) ON [PRIMARY]
    END
    GO
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[Versuchsauftraege]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1)
    BEGIN
    CREATE TABLE [dbo].[Versuchsauftraege](
    	[Auftragsnummer] [bigint] NOT NULL,
    	[Rueckmeldenr] [bigint] NOT NULL,
    	[Artikelnummer] [bigint] NOT NULL,
    	[Materialkurztext] [nvarchar](100) NOT NULL,
    	[Menge] [int] NOT NULL,
    	[Einheit] [nvarchar](3) NOT NULL,
    	[Startdatum] [datetime] NOT NULL,
    	[Kostenstelle] [int] NOT NULL,
    	[Sollmenge] [bigint] NOT NULL,
    	[Istmenge] [bigint] NOT NULL,
    	[StatusID] [int] NOT NULL,
    	[Prio] [int] NOT NULL,
    	[Versuch] [bit] NOT NULL,
    	[TGListe] [bit] NOT NULL,
     CONSTRAINT [PK_Versuchsauftraege] PRIMARY KEY CLUSTERED 
    (
    	[Auftragsnummer] ASC
    ) ON [PRIMARY]
    ) ON [PRIMARY]
    END
    GO
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[Versuchsdaten]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1)
    BEGIN
    CREATE TABLE [dbo].[Versuchsdaten](
    	[ID] [int] IDENTITY(1,1) NOT NULL,
    	[Auftragsnummer] [bigint] NOT NULL,
    	[AnzMitarbeiter] [int] NOT NULL,
    	[Mischungsmenge] [float] NOT NULL,
    	[Zeit] [int] NOT NULL,
     CONSTRAINT [PK_Versuchsdaten] PRIMARY KEY CLUSTERED 
    (
    	[ID] ASC
    ) ON [PRIMARY]
    ) ON [PRIMARY]
    END
    GO
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[Stoerungen]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1)
    BEGIN
    CREATE TABLE [dbo].[Stoerungen](
    	[ID] [int] NOT NULL,
    	[Auftragsnummer] [bigint] NOT NULL,
    	[Stoerung] [nvarchar](300) NOT NULL,
    	[Zeit] [int] NOT NULL,
     CONSTRAINT [PK_Stoerungen] PRIMARY KEY CLUSTERED 
    (
    	[ID] ASC
    ) ON [PRIMARY]
    ) ON [PRIMARY]
    END
    GO
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[qry_liste_abgeschlossen]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
    BEGIN
    EXEC dbo.sp_executesql @statement = N'-- =============================================
    -- Author:		<Author,,Name>
    -- Create date: <Create Date,,>
    -- Description:	<Description,,>
    -- =============================================
    CREATE PROCEDURE [dbo].[qry_liste_abgeschlossen] 
    	-- Add the parameters for the stored procedure here
    	@statusid int,
    	@startdatum datetime,
    	@enddatum datetime
    AS
    BEGIN
    	-- SET NOCOUNT ON added to prevent extra result sets from
    	-- interfering with SELECT statements.
    	SET NOCOUNT ON;
    
      -- Insert statements for procedure here
    	SELECT   Auftraege.Auftragsnummer, Auftraege.Rueckmeldenr, Auftraege.Artikelnummer, Auftraege.Materialkurztext, Auftraege.Menge, Auftraege.Einheit, 
               Auftraege.Startdatum, Auftraege.Kostenstelle, Auftraege.Sollmenge, Auftraege.Istmenge, Status.Status, Auftraege.Prio, Auftraege.Versuch, 
               Auftraege.Statusdatum, Auftraege.StatusID
    FROM     Auftraege INNER JOIN
               Status ON Auftraege.StatusID = Status.ID
    WHERE   (Auftraege.StatusID = @statusid) AND (Auftraege.Statusdatum >= @startdatum) AND (Auftraege.Statusdatum <= @enddatum)
    END
    ' 
    END
    GO
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[qry_liste_tagesmengen]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
    BEGIN
    EXEC dbo.sp_executesql @statement = N'CREATE PROCEDURE [dbo].[qry_liste_tagesmengen]
    	
    	@heute datetime,
    	@statusid int
    	
    AS
    	/* SET NOCOUNT ON */
    	SELECT   Auftraege.Auftragsnummer, Auftraege.Rueckmeldenr, Auftraege.Artikelnummer, Auftraege.Materialkurztext, Auftraege.Menge, Auftraege.Einheit, 
    	           Auftraege.Startdatum, Auftraege.Kostenstelle, Auftraege.Sollmenge, Auftraege.Istmenge, Status.Status, Auftraege.Prio, Auftraege.Versuch, 
    	           Auftraege.Statusdatum
    	FROM     Auftraege INNER JOIN
    	           Status ON Auftraege.StatusID = Status.ID
    	WHERE   (Auftraege.StatusID > @statusid) AND (Auftraege.Statusdatum = @heute)
    	RETURN
    ' 
    END
    GO
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[qry_liste_versuchsauftraege]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
    BEGIN
    EXEC dbo.sp_executesql @statement = N'CREATE PROCEDURE [dbo].[qry_liste_versuchsauftraege]
    	
    	@statusid int
    	
    AS
    	/* SET NOCOUNT ON */
    	SELECT   Versuchsauftraege.Auftragsnummer, Versuchsauftraege.Rueckmeldenr, Versuchsauftraege.Artikelnummer, Versuchsauftraege.Materialkurztext, 
    	           Versuchsauftraege.Menge, Versuchsauftraege.Einheit, Versuchsauftraege.Startdatum, Versuchsauftraege.Kostenstelle, Versuchsauftraege.Sollmenge, 
    	           Versuchsauftraege.Istmenge, Status.Status, Versuchsauftraege.Prio, Versuchsauftraege.Versuch, Versuchsauftraege.TGListe
    	FROM     Status INNER JOIN
    	           Versuchsauftraege ON Status.ID = Versuchsauftraege.StatusID
    	WHERE   (Versuchsauftraege.StatusID < @statusid)
    	RETURN
    ' 
    END
    GO
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[qry_liste_tagesliste]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
    BEGIN
    EXEC dbo.sp_executesql @statement = N'-- =============================================
    -- Author:		<Author,,Name>
    -- Create date: <Create Date,,>
    -- Description:	<Description,,>
    -- =============================================
    CREATE PROCEDURE [dbo].[qry_liste_tagesliste]
    	-- Add the parameters for the stored procedure here
    	@statusid int
    AS
    BEGIN
    	-- SET NOCOUNT ON added to prevent extra result sets from
    	-- interfering with SELECT statements.
    --	SET NOCOUNT ON;
    
      -- Insert statements for procedure here
    	SELECT   Auftraege.Auftragsnummer, Auftraege.Rueckmeldenr, Auftraege.Artikelnummer, Auftraege.Materialkurztext, Auftraege.Menge, Auftraege.Einheit, 
               Auftraege.Startdatum, Auftraege.Kostenstelle, Auftraege.Sollmenge, Auftraege.Istmenge, Status.Status, Auftraege.Prio, Auftraege.Versuch, 
               Auftraege.Statusdatum
    FROM     Auftraege INNER JOIN
               Status ON Auftraege.StatusID = Status.ID
    WHERE   (Auftraege.StatusID < @statusid)
    ORDER BY Auftraege.Prio
    END
    
    ' 
    END
    GO
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[qry_insert_tagesliste]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
    BEGIN
    EXEC dbo.sp_executesql @statement = N'CREATE PROCEDURE [dbo].[qry_insert_tagesliste]
    	
    	@auftragsnummer bigint,
    	@rueckmeldenr bigint,
    	@artikelnummer bigint,
    	@materialkurztext nvarchar(100),
    	@menge int,
    	@einheit nvarchar(3),
    	@startdatum datetime,
    	@kostenstelle nvarchar(5),
    	@sollmenge int,
    	@istmenge int,
    	@statusid int,
    	@prio int,
    	@versuch bit,
    	@statusdatum datetime
    	
    AS
    	/* SET NOCOUNT ON */
    	INSERT INTO Auftraege
    	           (Auftragsnummer, Rueckmeldenr, Artikelnummer, Materialkurztext, Menge, Einheit, Startdatum, Kostenstelle, Sollmenge, Istmenge, StatusID, Prio, 
    	           Versuch, Statusdatum)
    	VALUES   (@auftragsnummer,@rueckmeldenr,@artikelnummer,@materialkurztext,@menge,@einheit,@startdatum,@kostenstelle,@sollmenge,@istmenge,@statusid,@prio,@versuch,@statusdatum)
    	RETURN
    ' 
    END
    GO
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[qry_insert_versuchsliste]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
    BEGIN
    EXEC dbo.sp_executesql @statement = N'-- =============================================
    -- Author:		<Author,,Name>
    -- Create date: <Create Date,,>
    -- Description:	<Description,,>
    -- =============================================
    CREATE PROCEDURE [dbo].[qry_insert_versuchsliste]
    	-- Add the parameters for the stored procedure here
    	@auftragsnummer bigint,
    	@rueckmeldenr bigint,
    	@artikelnummer bigint,
    	@materialkurztext nvarchar(100),
    	@menge int,
    	@einheit nvarchar(3),
    	@startdatum datetime,
    	@kostenstelle int,
    	@sollmenge bigint,
    	@istmenge bigint,
    	@statusid int,
    	@prio int,
    	@versuch bit,
    	@tgliste bit
    
    AS
    BEGIN
    	-- SET NOCOUNT ON added to prevent extra result sets from
    	-- interfering with SELECT statements.
    	SET NOCOUNT ON;
    
      -- Insert statements for procedure here
    	INSERT INTO Versuchsauftraege
               (Auftragsnummer, Rueckmeldenr, Artikelnummer, Materialkurztext, Menge, Einheit, Startdatum, Kostenstelle, Sollmenge, Istmenge, StatusID, Prio, 
               Versuch, TGListe)
    VALUES   (@auftragsnummer,@rueckmeldenr,@artikelnummer,@materialkurztext,@menge,@einheit,@startdatum,@kostenstelle,@sollmenge,@istmenge,@statusid,@prio,@versuch,@tgliste)
    END
    ' 
    END
    GO
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[qry_update_versuchsliste]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
    BEGIN
    EXEC dbo.sp_executesql @statement = N'CREATE PROCEDURE [dbo].[qry_update_versuchsliste]
    	
    	@auftragsnummer bigint,
    	@rueckmeldenr bigint,
    	@artikelnummer bigint,
    	@materialkurztext nvarchar(100),
    	@menge int,
    	@einheit nvarchar(3),
    	@startdatum datetime,
    	@kostenstelle int,
    	@sollmenge bigint,
    	@istmenge bigint,
    	@statusid int,
    	@prio int,
    	@versuch bit,
    	@tgliste bit
    	
    AS
    	/* SET NOCOUNT ON */
    	UPDATE  Versuchsauftraege
    	SET       Rueckmeldenr = @rueckmeldenr, Artikelnummer = @artikelnummer, Materialkurztext = @materialkurztext, Menge = @menge, Einheit = @einheit, 
    	           Startdatum = @startdatum, Kostenstelle = @kostenstelle, Sollmenge = @sollmenge, Istmenge = @istmenge, StatusID = @statusid, Prio = @prio, 
    	           Versuch = @versuch, TGListe = @tgliste
    	WHERE   (Auftragsnummer = @auftragsnummer)
    	RETURN
    ' 
    END
    

    Da ich irgendwie ein ziemlicher Anfänger in dem Thema bin, würde ich mich über Eure Hilfe freuen. Tausend Dank im Voraus!

    Gruß
    Marcus


    Der erste Tag, an dem ich nichts Neues lerne, wird der Tag sein, an dem sich der Deckel über mir schließt...
    Freitag, 13. Mai 2011 12:20

Antworten

  • Hi,

    und wo ist nun die Frage?

     

    IF NOT EXISTS (SELECT * FROM dbo.sysusers WHERE name = N'Administrator')
    EXEC dbo.sp_grantdbaccess @loginame = N'ASMES\Administrator', @name_in_db = N'Administrator'
    GO

    wenn es keinen Administrator bzw. ASMES\Administrator gibt, musst Du die Zeilen entweder rausnehmen oder den Usernamen anpassen.

    Wenn Du was anderes meintest, bitte etwas genauer schildern, was wo nicht funktioniert und vor allem, welche (Fehler)meldung erscheint.

     


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community
    • Als Antwort markiert mjanz Freitag, 13. Mai 2011 16:24
    Freitag, 13. Mai 2011 12:38
    Moderator

Alle Antworten

  • Hi,

    und wo ist nun die Frage?

     

    IF NOT EXISTS (SELECT * FROM dbo.sysusers WHERE name = N'Administrator')
    EXEC dbo.sp_grantdbaccess @loginame = N'ASMES\Administrator', @name_in_db = N'Administrator'
    GO

    wenn es keinen Administrator bzw. ASMES\Administrator gibt, musst Du die Zeilen entweder rausnehmen oder den Usernamen anpassen.

    Wenn Du was anderes meintest, bitte etwas genauer schildern, was wo nicht funktioniert und vor allem, welche (Fehler)meldung erscheint.

     


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community
    • Als Antwort markiert mjanz Freitag, 13. Mai 2011 16:24
    Freitag, 13. Mai 2011 12:38
    Moderator
  • Hallo Stefan,

    da ich gerade erst dabei bin, mich so richtig in die SQL-Server Umgebung einzuarbeiten, war ich mir nicht sicher, ob ich den Benutzer einfach so löschen durfte. Ich habe mich das schlicht nicht getraut... nachher hätte ich vielleicht etwas kaputt gemacht ;-)

    Aber jetzt läuft's! Tausend Dank für Deine Hilfe!

    Gruß
    Marcus 


    Der erste Tag, an dem ich nichts Neues lerne, wird der Tag sein, an dem sich der Deckel über mir schließt...
    Freitag, 13. Mai 2011 16:24