Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

SQL Server Fehler Insufficient result space to convert uniqueidentifier value to char

Mitglied: 16640

16640 (Level 1)

13.09.2005, aktualisiert 15:16 Uhr, 19568 Aufrufe, 2 Kommentare

Ursache für "Msg 8170, Level 16, State 2, Line 1
Insufficient result space to convert uniqueidentifier value to char."

Eine nicht sofort ins Auge springende Fehlerursache:

Beim Anlegen einer partitionierten View werden die einzelnen Datenabschnitte durch Eingrenzungen auf einer Spalte vom Typ 'uniqueidentifier' vorgenommen. Um mit den per T-SQL erzeugten dynamischen SQL-Statements die Eingrenzungen grob vorzunehmen, wurde naheliegenderweise diese Spalte mit den beginnenden Zeichen des UID verglichen, bspw. mit fogender WHERE-Bedingung:

.... where convert(varchar, UIDFeld) >= 'DDDDD' and convert(varchar, UIDFeld) < 'EEEEE' .....

Die Generierung dieser Views erfolgt ohne Fehler, aber jeder spätere Zugriff auf die View erzeugt den im Betreff genannten Fehler.

Letztlich ausgemachte Ursache ist die Konvertierung nach 'varchar'. Wenn man diesen Datentyp ersetzt durch 'char(50)', funktioniert hinterher der Zugriff auf die Daten der View fehlerfrei. Konkret auf die oben bereits verwendete WHERE-Bedingung angewendet würde diese so aussehen:

.... where convert(char(50), UIDFeld) >= 'DDDDD' and convert(char(50), UIDFeld) < 'EEEEE' .....

Um den Fehler zu reproduzieren, wird eine Tabelle mit einer 'uniqueidentifier'-Spalte benötigt. Wenn solches vorhanden ist, produziert dieses Beispiel hier den Fehler ([Quelltabelle] und [UIDFeld] natürlich mit den tatsächlichen Werten ersetzen):

01.
create  
02.
    view dbo.vw_test_8170  
03.
    as  
04.
        select  
05.
            *  
06.
        from [quelltabelle] 
07.
        where 
08.
            convert(varchar, [UIDFeld]) >= '88888' 
09.
 
10.
go  
11.
 
12.
select * from dbo.vw_test_8170
Hier noch entsprechende Screenshots dazu, einmal mit Fehler und einmal ohne. Das alles auf MS SQL Server 2000, SP3

mit Fehler:
<img src='/images/articles/2f87acce16ea13bec19d6b88464c56e4-Screenshot - 13_09_2005 , 11_28_37.jpg' align='default' hspace='0' vspace='0' border='0'>

ohne Fehler:
<img src='/images/articles/35e31f5a419f52e85f3651a057511056-Screenshot - 13_09_2005 , 11_29_28.jpg' align='default' hspace='0' vspace='0' border='0'>


dba
Mitglied: Biber
13.09.2005 um 14:01 Uhr
Thx, dba, obwohl..

Char(40) hätte auch gereicht, aber was soll der Geiz....

Eigentlich poste ich ja nur, weil ich neulich mal einen Link zum Thema IDENTIFIER gebookmarked hatte, den ich nett fand:
http://www.konfabulieren.com/2005/06/24/own-your-very-own-128-bit-uniqu ...

Biber
Bitte warten ..
Mitglied: 16640
13.09.2005 um 15:16 Uhr
Ja Biber, da hast Du wohl wahr wobei auch 36 ausreichend ist, dann gibt's gar keine Bytverschwendung mehr. Aber Du weisst sicher, wie das ist, wenn man vor dem Hackbrett sitzt und am liebsten ein paar Stücke rausbeissen würde ...

Wenn man mal die Geschichte mit solch einem armen Unique Identifier philosophisch betrachtet ... nimm Dir eine Adresstabelle mit einigen hundert bis Millionen Records und dann spielst Du Datengott und machst ein

select newid() from [tabelle]

und für jeden existierenden Satz schickst Du jetzt solch eine einmalige, auf der ganzen Welt niemals wiederkehrende ID ins Datennirwana ... das ist schon ganz schön traurig, oder?

In diesem Sinne ... angenehme Restwoche.

dba
Bitte warten ..
Ähnliche Inhalte
Windows Server

SQL Server Hardening Guide - Sicherheits Guide

Tipp von 116480Windows Server3 Kommentare

Server Hardening: SQL Server Installation M01 Nur die benötigten Komponenten installieren Sind nur die minimalsten benötigten Komponenten installiert, können weniger ...

Windows Server

Windows Server Backup schlägt fehl - Lösung 2008-2016

Tipp von BiGnoobWindows Server

Hi zusammen , ich möchte gerne einen Lösungstipp abgeben für folgenden Fehler: Lösung ist folgende:

Windows Server

End of Support von Windows Server 2008 (R2) und SQL Server 2008 (R2)

Information von FrankWindows Server8 Kommentare

Zu Erinnerung: Der Support für SQL Server 2008, SQL Server 2008 R2, Windows Server 2008 und Windows Server 2008 ...

Neue Wissensbeiträge
Windows Netzwerk
Browser-Lags und IPv6
Erfahrungsbericht von NixVerstehen vor 54 MinutenWindows Netzwerk

Hallo zusammen, wir betreiben als kleines Speditionsunternehmen ein überschaubares Windows-Netzwerk mit Win10-Clients sowie einem Server 2016 Essentials als "eierlegende ...

Humor (lol)

Erstaunlich, Windows mit extremer Laufzeit (Server) lol

Tipp von mathu vor 3 StundenHumor (lol)3 Kommentare

Was es so alles gibt. :-)

Windows Netzwerk

CGM Praxisarchiv funktioniert auf Clients nach Update auf 4.14 nicht mehr

Tipp von MOS6581 vor 20 StundenWindows Netzwerk

Moin, ein Kunde setzt das CGM-Praxisarchiv ein. Mehrplatzinstallation mit SQL-Server. Nachdem letzte Woche auf die 4.14 aktualisiert wurde, funktionierte ...

Windows 10

Windows 10 - Storage Sense - neues herstellerseitiges Cleaning-Tool statt cleanmgr

Tipp von mathu vor 1 TagWindows 102 Kommentare

Vermutlich ab dem Oktoberrelease wird eine neue Speicherbereinigungssuftware ausgeliefert von Microsoft. Cleanmgr.exe soll angeblich aber noch weiter parallel verfügbar ...

Heiß diskutierte Inhalte
Hyper-V
Windows Serer 2016 Standard virtualisieren
gelöst Frage von fritte87Hyper-V26 Kommentare

Hallo zusammen, ich muss für eine kleine Firma ein entsprechendes neues kleines Konzept bauen. Ich habe einen Server Standard ...

LAN, WAN, Wireless
Kombiniere mehrere 4G Router zu einem Netzwerk - Anwendung kleine LAN (10-20 Leute)
Frage von HulkTheHeroLAN, WAN, Wireless24 Kommentare

Guten Mittag liebes Administrator - Fourm, ich hoffe ich habe das richtige Thema ausgewählt - ansonsten bitte gerne verschieben ...

Windows Server
Fileserver von 2012 R2 auf 2012R2
gelöst Frage von ThabeusWindows Server23 Kommentare

Moin moin, leider war in der Vergangenheit der Fokus des Betriebs nicht auf Langfristigkeit ausgelegt. Daher stehe ich jetzt ...

Router & Routing
Größere Zahl VPN-Verbindungen mit Fritz-Box einrichten
Frage von miscmikeRouter & Routing15 Kommentare

Hallo Zusammen, ich supporte verschiedene Kunden mit bestehenden LAN-LAN-Kopplungen via FritzBox (7490, FritzOS 7.01) . Anwendungen sind z.B. Kaspersky-KSC ...