{"id":360,"date":"2007-12-14T11:35:43","date_gmt":"2007-12-14T10:35:43","guid":{"rendered":"http:\/\/soci.hu\/blog\/index.php\/2007\/12\/14\/sql-server-2008-ujdonsagok-6-zaro-gondolatok-a-streaming-adatokrol\/"},"modified":"2007-12-14T11:37:43","modified_gmt":"2007-12-14T10:37:43","slug":"sql-server-2008-ujdonsagok-6-zaro-gondolatok-a-streaming-adatokrol","status":"publish","type":"post","link":"https:\/\/soci.hu\/blog\/index.php\/2007\/12\/14\/sql-server-2008-ujdonsagok-6-zaro-gondolatok-a-streaming-adatokrol\/","title":{"rendered":"SQL Server 2008 \u00fajdons\u00e1gok 6. &#8211; z\u00e1r\u00f3 gondolatok a streaming adatokr\u00f3l"},"content":{"rendered":"<p>L\u00e1ttuk az el\u0151z\u0151 r\u00e9szben, hogy sima f\u00e1jlm\u0171veletekkel t\u00f6lthetj\u00fck fel a streaming adatainkat a szerverre, nem sima INSERT-tel. Ebb\u0151l ad\u00f3dik az a k\u00e9rd\u00e9s, mikor \u00e9r v\u00e9get a &#8220;sor&#8221; besz\u00far\u00e1sa, mikor indulhat el a streaming oszlopot tartalmaz\u00f3 t\u00e1bl\u00e1ra \u00edrt INSERT trigger? Nos, akkor, amikor lez\u00e1rjuk a file handle-j\u00e9t.<\/p>\n<p>A f\u00e1jlok \u00edr\u00e1s\u00e1t a t\u00f6bbi adattal egy tranzakci\u00f3ba lehet szervezni, l\u00e1ttuk az el\u0151z\u0151 r\u00e9sz p\u00e9ld\u00e1j\u00e1ban.<\/p>\n<p>Ahogy egy rel\u00e1ci\u00f3s adatb\u00e1zist\u00f3l megszoktuk, ha egyszer azt mondta a COMMIT-ra, hogy rendben, akkor az adatok t\u00e9nyleg tart\u00f3san a diszken lesznek, \u00e9s nem valahol az OS cache-\u00e9ben. M\u00e9g sz\u00e9p, ezt is v\u00e1rjuk t\u0151le.<\/p>\n<p>Az izol\u00e1ci\u00f3s szintek k\u00f6z\u00fcl csak a READ COMMITTED, azaz az alap\u00e9rtelmezett szint megy f\u00e1jl alap\u00fa m\u0171veletek eset\u00e9n, nem akartak belemenni tr\u00fckk\u00f6s z\u00e1rol\u00e1sokba, amelyeket f\u00e1jlokat kellene implement\u00e1lniuk. Ha valami f\u00e1jt fog egy m\u00e1sik tranzakci\u00f3, j\u00f6n a DOS-os id\u0151kb\u0151l is m\u00e1r ismert sering viola (ERROR_SHARING_VIOLATION).<\/p>\n<p>Ha t\u00e1volr\u00f3l, m\u00e1sik g\u00e9pr\u0151l \u00edrjuk a file-t, akkor nincs bufferel\u00e9s a h\u00e1tt\u00e9rben, ez\u00e9t tart\u00f3zkodjunk a gagyi, b\u00e1jtonk\u00e9nti \u00edr\u00e1st\u00f3l, mert piszok lass\u00fa lesz. De err\u0151l m\u00e1r 1960 \u00f3ta lehet olvasni, nem \u00fajdons\u00e1g.<\/p>\n<p>A full-text index megy a filestream adatokra. Be lehet indexelni az univerzumot.<\/p>\n<p>Hogyan n\u00e9znek ki az adatok a f\u00e1jlrendszerben? Nyilv\u00e1n ez implement\u00e1ci\u00f3s r\u00e9szlet, de kukucsk\u00e1ljunk bele:<\/p>\n<p>Directory of C:\\test\\FileStreamData\\96945631-bd32-463a-bc66-aa3ced7b7ed9\\<br \/>\n7ec9d1c3-6db1-4cd0-9d90-57f1a70c10e6<\/p>\n<p>12\/12\/2007  12:14 AM           708,243 00000013-00000010-0040<br \/>\n12\/12\/2007  12:15 AM           696,575 00000013-00000010-0053<br \/>\n12\/12\/2007  12:15 AM           691,741 00000013-00000010-0066<\/p>\n<p>Sz\u00e9p, valami bels\u0151 id alapj\u00e1n nevezik el a f\u00e1jlokat, ennek megfejt\u00e9s\u00e9t k\u00e9s\u0151bbre hagyom, f\u0151leg, hogy ez m\u00e9g sokat v\u00e1ltozhat a v\u00e9gleges kiad\u00e1sig.<\/p>\n<p>Egyetlen k\u00e9rd\u00e9sre nem tal\u00e1ltam m\u00e9g v\u00e1laszt, hogy kihaszn\u00e1lja-e a szerver, hogy a Windows 2008-ban tranzakcion\u00e1lis az NTFS, kifel\u00e9 is? \u00c9rz\u00e9sem szerint nem, mert akkor vagy nem menne a szerver Windows 2003-on (<a href=\"http:\/\/msdn2.microsoft.com\/en-us\/library\/ms143506(SQL.100).aspx\">menni fog<\/a>), vagy k\u00e9tf\u00e9lek\u00e9ppen meg kellene \u00edrni a t\u00e1mogat\u00e1st a k\u00fcl\u00f6nb\u00f6z\u0151 oprendszerekre. K\u00e9tlem, hogy ekkor k\u00f6lts\u00e9get a nyakukba vettek volna.<\/p>\n<p>Az el\u0151bbi linkb\u0151l egy\u00e9bk\u00e9nt l\u00e1tszik, hogy \u00e9les k\u00f6rnyezetben, 32 biten m\u00e1r NEM lesz SQL Server 2008. \u00cdgy vegyen valaki 32 bites szervert. Nekem most Vist\u00e1n megy, de az\u00e9rt, mert a developer elmegy 32 biten is, de csakis ez.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>L\u00e1ttuk az el\u0151z\u0151 r\u00e9szben, hogy sima f\u00e1jlm\u0171veletekkel t\u00f6lthetj\u00fck fel a streaming adatainkat a szerverre, nem sima INSERT-tel. Ebb\u0151l ad\u00f3dik az a k\u00e9rd\u00e9s,&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6,4,30,58],"tags":[],"class_list":["post-360","post","type-post","status-publish","format-standard","hentry","category-adatbazisok","category-szakmai-elet","category-sql-server","category-sql-server-2008"],"_links":{"self":[{"href":"https:\/\/soci.hu\/blog\/index.php\/wp-json\/wp\/v2\/posts\/360","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/soci.hu\/blog\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/soci.hu\/blog\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/soci.hu\/blog\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/soci.hu\/blog\/index.php\/wp-json\/wp\/v2\/comments?post=360"}],"version-history":[{"count":0,"href":"https:\/\/soci.hu\/blog\/index.php\/wp-json\/wp\/v2\/posts\/360\/revisions"}],"wp:attachment":[{"href":"https:\/\/soci.hu\/blog\/index.php\/wp-json\/wp\/v2\/media?parent=360"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/soci.hu\/blog\/index.php\/wp-json\/wp\/v2\/categories?post=360"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/soci.hu\/blog\/index.php\/wp-json\/wp\/v2\/tags?post=360"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}