{"id":1123,"date":"2008-06-04T22:17:19","date_gmt":"2008-06-04T20:17:19","guid":{"rendered":"http:\/\/www.glorf.it\/blog\/?p=1123"},"modified":"2008-06-11T21:12:58","modified_gmt":"2008-06-11T19:12:58","slug":"tsql-wo-bin-ich-auf-64-oder-32-bit","status":"publish","type":"post","link":"http:\/\/www.glorf.it\/blog\/2008\/06\/04\/sql-talk\/sql-server\/tsql-wo-bin-ich-auf-64-oder-32-bit","title":{"rendered":"TSQL: Wo bin ich, auf 64- oder 32-Bit?"},"content":{"rendered":"<p>Wir haben das Problem, dass unsere SQL-Prozeduren auf ganz unterschiedlichen SQL-Servern laufen m&#252;ssen. Und je nach Edition oder Windows-Version leicht anders reagieren soll. Um herauszufinden, ob das Skript auf einem 64-Bit- oder einem 32-Bit-SQL-Server l&#228;uft, kann man so vorgehen:<\/p>\n<p><code lang=\"sql\">-- Laufe ich auf einem 64-Bit- oder 32-Bit-SQL-Server?<br \/>\nSELECT CASE WHEN @@version LIKE N&#x0027;%(X64)%&#x0027;<br \/>\n\t\t\t\tTHEN &#x0027;64-Bit&#x0027;<br \/>\n\t\t\t\tELSE &#x0027;32-Bit&#x0027;<br \/>\n\t\tEND AS &quot;SQL Server&quot;<\/code><\/p>\n<p>Ist es ein 32-Bit-SQL-Server, dann ist noch spannend, ob der unter 64-Bit (im Windows-on-Windows, WoW) oder unter 32-Bit-Windows ausgef&#252;hrt wird. Wie das geht verriet mit mein Kollege Vladimir:<\/p>\n<p><code lang=\"sql\">-- Laufe ich unter 64-Bit-Windows odr unter 32-Bit?<br \/>\nDECLARE @output\tTABLE (txt\tNVARCHAR(1000) NULL);<\/p>\n<p>EXEC sp_configure &#x0027;show ad&#x0027;, 1;<br \/>\nRECONFIGURE WITH OVERRIDE;<br \/>\nEXEC sp_configure &#x0027;xp_cmdshell&#x0027;, 1;<br \/>\nRECONFIGURE WITH OVERRIDE;<\/p>\n<p>INSERT INTO @output (txt)<br \/>\n\tEXEC xp_cmdshell &#x0027;systeminfo \/FO LIST&#x0027;;<\/p>\n<p>SELECT CASE WHEN EXISTS(SELECT *<br \/>\n\t\t\t\t\t\tFROM @output<br \/>\n\t\t\t\t\t\tWHERE txt LIKE &#x0027;Systemtyp: % X86-based PC&#x0027;<br \/>\n\t\t\t\t\t\t   OR txt LIKE &#x0027;System type: % X86-based PC&#x0027;)<br \/>\n\t\t\t\tTHEN &#x0027;32-Bit&#x0027;<br \/>\n\t\t\t\tELSE &#x0027;64-Bit&#x0027;<br \/>\n\t\tEND AS &quot;Windows&quot;<\/p>\n<p>EXEC sp_configure &#x0027;xp_cmdshell&#x0027;, 0;<br \/>\nRECONFIGURE WITH OVERRIDE;<br \/>\nEXEC sp_configure &#x0027;show ad&#x0027;, 0;<br \/>\nRECONFIGURE WITH OVERRIDE;<\/code><\/p>\n<p>Auf die Aussagen aus xp_msvers kann man sich nicht verlassen, weil der 32-Bit-SQL-Server immer denkt er liefe unter Windows-32 (auch wenn er in Wirklichkeit im WoW eines Win64 l&#228;uft)&#8230;<br \/>\nKennt jemand einen besseren Trick?<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Wir haben das Problem, dass unsere SQL-Prozeduren auf ganz unterschiedlichen SQL-Servern laufen m&#252;ssen. Und je nach Edition oder Windows-Version leicht anders reagieren soll. Um herauszufinden, ob das Skript auf einem 64-Bit- oder einem 32-Bit-SQL-Server l&#228;uft, kann man so vorgehen: &#8211; Laufe ich auf einem 64-Bit- oder 32-Bit-SQL-Server? SELECT CASE WHEN @@version LIKE N&#x0027;%(X64)%&#x0027; THEN &#x0027;64-Bit&#x0027; [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[16],"tags":[157,156,155,929],"_links":{"self":[{"href":"http:\/\/www.glorf.it\/blog\/wp-json\/wp\/v2\/posts\/1123"}],"collection":[{"href":"http:\/\/www.glorf.it\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.glorf.it\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.glorf.it\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.glorf.it\/blog\/wp-json\/wp\/v2\/comments?post=1123"}],"version-history":[{"count":0,"href":"http:\/\/www.glorf.it\/blog\/wp-json\/wp\/v2\/posts\/1123\/revisions"}],"wp:attachment":[{"href":"http:\/\/www.glorf.it\/blog\/wp-json\/wp\/v2\/media?parent=1123"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.glorf.it\/blog\/wp-json\/wp\/v2\/categories?post=1123"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.glorf.it\/blog\/wp-json\/wp\/v2\/tags?post=1123"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}