none
Create Table RRS feed

  • Frage

  • Hallo zusammen,

     

    ich habe eine CREATE TABLE-Anweisung erstellt, die unter anderem folgende Zeile zur Erzeugung einer Spalte names WGID enthält, die als Primary Key deklariert wird:

     

    WGID uniqueidentifier ROWGUIDCOL NOT NULL PRIMARY KEY DEFAULT (newsequentialid()),

    Führe ich diese Anweisung im SQL Management Studio unter Windows XP 32Bit aus, funktioniert sie einwandfrei. Die Tabelle wird anstandslos erstellt.

    Führe ich sie hingegen unter Windows 7 64Bit aus, erhalte ich folgende Meldung:

    'newsequentialid' wird nicht als Funktionsname erkannt.

    Es handelt sich um eine SQL Server 2008-Datenbank unter Windows Server 2008 64Bit.

    Meinem Verständnis nach sollte die Windows-Version des Clients keine Rolle spielen, da die GUID vom Server erzeugt wird (der in beiden Fällen ein und derselbe ist) oder irre ich mich da? Was kann die Ursache für diese Meldung sein?

    Vielen Dank und viele Grüße

    Michael

    Dienstag, 7. Dezember 2010 11:49

Antworten

  • Das ist ein relativ peinlicher Moment.

    Ich hatte im SQL Management Studio zusätzlich zum SQL Server 2008 eine Verbindung zu einem SQL Server 2000 aufgebaut und die erwähnte CREATE TABLE-Anweisung auf diesem ausgeführt, nicht auf dem 2008er.

    Hat sich also erledigt. Vielen Dank.

    • Als Antwort markiert Bayer, Michael Dienstag, 7. Dezember 2010 13:28
    Dienstag, 7. Dezember 2010 13:28

Alle Antworten

  • Hallo Michael,

    ich habe gerade das Skript unter Windows XP und Windows 7 problemlos ausgeführt:

    use tempdb
    go
    create table t1 (wgid uniqueidentifier rowguidcol not null primary key default(newsequentialid()))
    go
    drop table t1
    go
    
    --Microsoft SQL Server 2008 (SP2) - 10.0.4000.0 (X64)
    --Microsoft SQL Server 2008 R2 (RTM) - 10.50.1600.1 (X64)
    --Clients: XP und Windows7
    

    Gruß Yury
    Dienstag, 7. Dezember 2010 12:33
  • Das ist ein relativ peinlicher Moment.

    Ich hatte im SQL Management Studio zusätzlich zum SQL Server 2008 eine Verbindung zu einem SQL Server 2000 aufgebaut und die erwähnte CREATE TABLE-Anweisung auf diesem ausgeführt, nicht auf dem 2008er.

    Hat sich also erledigt. Vielen Dank.

    • Als Antwort markiert Bayer, Michael Dienstag, 7. Dezember 2010 13:28
    Dienstag, 7. Dezember 2010 13:28
  • Hallo Michael,

    ich bekomme diese Fehlermeldung nur, wenn ich es auf einem SQL Server 2000 ausführe, bei allen anderen funktioniert es auch bei mir; NewSequentialId gibt es erst ab Version 2005.

    Bist Du sicher, das Du Dich an den gleichen Server anmeldest? Prüfe es mal mit

    SELECT @@Version, @@ServerName

     


    Olaf Helper ----------- * cogito ergo sum * errare humanum est * quote erat demonstrandum * Wenn ich denke, ist das ein Fehler und das beweise ich täglich http://olafhelper.over-blog.de
    Dienstag, 7. Dezember 2010 13:32