<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:blogChannel="http://backend.userland.com/blogChannelModule" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:pingback="http://madskills.com/public/xml/rss/module/pingback/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:betag="https://blogengine.io/schemas/tags">
  <channel>
    <title>I am Berke</title>
    <description>SELECT COUNT(*) FROM [sky]</description>
    <link>https://www.iamberke.com/</link>
    <docs>http://www.rssboard.org/rss-specification</docs>
    <generator>BlogEngine.NET 3.3.8.0</generator>
    <language>hu-HU</language>
    <blogChannel:blogRoll>https://www.iamberke.com/opml.axd</blogChannel:blogRoll>
    <blogChannel:blink>http://www.iamberke.com/syndication.axd</blogChannel:blink>
    <dc:creator>Berke János</dc:creator>
    <dc:title>I am Berke</dc:title>
    <geo:lat>0.000000</geo:lat>
    <geo:long>0.000000</geo:long>
    <item>
      <title>Linked Server és Read-Only Routing</title>
      <description>&lt;p&gt;Egy &amp;uacute;jabb &amp;eacute;rdekes dolgot szeretn&amp;eacute;k megosztani, m&amp;eacute;gpedig: linked server-t hogyan ir&amp;aacute;ny&amp;iacute;tsunk egy SQL Server Availability Group Read-Only replica szerverre. Amibe most nem menn&amp;eacute;k bele teljes r&amp;eacute;szletess&amp;eacute;ggel, hogy az Availability Group eset&amp;eacute;n ezt hogyan kell be&amp;aacute;ll&amp;iacute;tani.&lt;/p&gt;
&lt;p&gt;Ami viszont fontos:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;k&amp;eacute;t szerverem van, ami AG-ben van, CONTOSOSQL2 &amp;eacute;s CONTOSOSQL3,&lt;/li&gt;
&lt;li&gt;van egy AG-m, aminek van egy Availability Group Listener-e, ami sz&amp;uuml;ks&amp;eacute;ges a read-only routing-hoz, mert csak akkor műk&amp;ouml;dik, ha ezen kereszt&amp;uuml;l kapcsol&amp;oacute;dok + kell egy connection string be&amp;aacute;ll&amp;iacute;t&amp;aacute;s, az ApplicationIntent=ReadOnly, illetve meg kell adni mindig az adatb&amp;aacute;zis nev&amp;eacute;t, ami az adott AG-ben van,&lt;/li&gt;
&lt;li&gt;m&amp;aacute;r van előre be&amp;aacute;ll&amp;iacute;tott read-only routing: amikor a CONTOSOSQL2 a primary replica, akkor a CONTOSOSQL3 a readable repica, &amp;eacute;s ford&amp;iacute;tva,&lt;/li&gt;
&lt;li&gt;a linked server-t a CONTOSOSQL1 szerveren &amp;aacute;ll&amp;iacute;tom be, ami egy stand-alone telep&amp;iacute;t&amp;eacute;s.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;R&amp;eacute;m egyszerű igaz? :) L&amp;aacute;ssuk.&lt;/p&gt;
&lt;h2&gt;Windows hiteles&amp;iacute;t&amp;eacute;s alkalmaz&amp;aacute;sa&lt;/h2&gt;
&lt;p&gt;Az első p&amp;eacute;lda sor&amp;aacute;n Windows hiteles&amp;iacute;t&amp;eacute;st fogok alkalmazni, ami az al&amp;aacute;bbiakat felt&amp;eacute;telezi:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Kerberos van, azaz van j&amp;oacute;l be&amp;aacute;ll&amp;iacute;tott SPN,&lt;/li&gt;
&lt;li&gt;az &amp;eacute;rintett szervereken van jogosults&amp;aacute;gom.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Ehhez az al&amp;aacute;bbi k&amp;oacute;dra lesz sz&amp;uuml;ks&amp;eacute;g, hogy l&amp;eacute;trehozzunk egy műk&amp;ouml;dő linked server-t, readable replica szerverre ir&amp;aacute;ny&amp;iacute;tva:&lt;/p&gt;
&lt;pre class="brush:sql;auto-links:false;toolbar:false" contenteditable="false"&gt;GO
EXEC master.dbo.sp_dropserver @server=N'ReadOnlyLinkedServer', @droplogins='droplogins'
GO
EXEC master.dbo.sp_addlinkedserver @server = N'ReadOnlyLinkedServer', 
								   @srvproduct=N'', 
								   @provider=N'SQLNCLI11', 
								   @datasrc=N'AG1', 
								   @provstr=N'ApplicationIntent=ReadOnly;', 
								   @catalog=N'AdventureWorks2012'
GO&lt;/pre&gt;
&lt;p&gt;A param&amp;eacute;terek jelent&amp;eacute;se:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;provider: a driver, amit haszn&amp;aacute;lunk. Nem minden driver t&amp;aacute;mogat minden connection string param&amp;eacute;tert! L&amp;aacute;sd:&amp;nbsp;&lt;a href="https://docs.microsoft.com/en-us/sql/database-engine/availability-groups/windows/always-on-client-connectivity-sql-server?view=sql-server-ver15#ClientConnSupport"&gt;Driver and client connectivity support for availability groups - SQL Server Always On | Microsoft Docs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;datasrc: ez lesz az Availability Group Listener neve,&lt;/li&gt;
&lt;li&gt;provstr: ide j&amp;ouml;n az ApplicationIntent (FIGYELEM: multi-subnet cluster eset&amp;eacute;n a MultiSubnetFailover=true be&amp;aacute;ll&amp;iacute;t&amp;aacute;s is!!!! + driver:&amp;nbsp;&lt;a href="https://docs.microsoft.com/en-us/sql/database-engine/availability-groups/windows/always-on-client-connectivity-sql-server?view=sql-server-ver15#ClientConnSupport"&gt;Driver and client connectivity support for availability groups - SQL Server Always On | Microsoft Docs&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;catalog: az adatb&amp;aacute;zis neve, amire a read-only routing el&amp;eacute;r&amp;eacute;st szeretn&amp;eacute;nk alkalmazni. Igen, ah&amp;aacute;ny adatb&amp;aacute;zis van az AG-ben, annyi linked server-re lesz majd sz&amp;uuml;ks&amp;eacute;g.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Tesztelni is kellene, hogy val&amp;oacute;ban műk&amp;ouml;dik e. Ehhez az &lt;a href="https://docs.microsoft.com/en-us/sql/t-sql/functions/openquery-transact-sql?view=sql-server-ver15"&gt;OPENQUERY (Transact-SQL) - SQL Server | Microsoft Docs&lt;/a&gt;&amp;nbsp;rowset function-t fogom haszn&amp;aacute;lni, amit a CONTOSOSQL1 szerveren futtatok, Windows hiteles&amp;iacute;t&amp;eacute;ssel:&lt;/p&gt;
&lt;pre class="brush:sql;auto-links:false;toolbar:false" contenteditable="false"&gt;GO
select *, SUSER_SNAME() AS [localuser] from openquery([ReadOnlyLinkedServer], 'select @@servername AS [servername], SUSER_SNAME() AS [remoteuser], auth_scheme from sys.dm_exec_connections where session_id = @@spid')&lt;/pre&gt;
&lt;p&gt;Az eredm&amp;eacute;ny &amp;ouml;nmag&amp;aacute;&amp;eacute;rt besz&amp;eacute;l:&lt;/p&gt;
&lt;p&gt;&lt;img src="https://www.iamberke.com/image.axd?picture=/images/posts/linkedserver1.png" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;L&amp;aacute;tszik, hogy:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;KERBEROS van!&lt;/li&gt;
&lt;li&gt;&amp;aacute;t lettem ir&amp;aacute;ny&amp;iacute;tva a readable replica szerver fel&amp;eacute;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Ez &amp;iacute;gy igaz&amp;aacute;n csod&amp;aacute;latos, vajon mi van akkor, amikor SQL hiteles&amp;iacute;t&amp;eacute;st szeretn&amp;eacute;k?&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;SQL hiteles&amp;iacute;t&amp;eacute;s&amp;nbsp;alkalmaz&amp;aacute;sa&lt;/h2&gt;
&lt;p&gt;Itt r&amp;ouml;gt&amp;ouml;n k&amp;eacute;tfel&amp;eacute; kell bontani a dolgokat:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;SQL hiteles&amp;iacute;t&amp;eacute;ssel akarok menni a linked server fel&amp;eacute;,&lt;/li&gt;
&lt;li&gt;SQL login-nal akarok linked server-hez k&amp;ouml;thető lek&amp;eacute;rdez&amp;eacute;st futtatni.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;A m&amp;aacute;sodik esetben, mivel a linked server Windows hiteles&amp;iacute;t&amp;eacute;st haszn&amp;aacute;l, az al&amp;aacute;bbi hiba&amp;uuml;zenetet kapom:&lt;/p&gt;
&lt;pre class="brush:plain;auto-links:false;toolbar:false" contenteditable="false"&gt;.
Msg 7437, Level 16, State 1, Line 44
Linked servers cannot be used under impersonation without a mapping for the impersonated login.&lt;/pre&gt;
&lt;p&gt;Ezzel most nem foglalkozn&amp;eacute;k, erre is megvan a megold&amp;aacute;s.&lt;/p&gt;
&lt;p&gt;N&amp;eacute;zz&amp;uuml;k az első esetet: ehhez az al&amp;aacute;bbi k&amp;oacute;d futott.&lt;/p&gt;
&lt;pre class="brush:sql;auto-links:false;toolbar:false" contenteditable="false"&gt;GO
EXEC master.dbo.sp_dropserver @server=N'ReadOnlyLinkedServerSQL1', @droplogins='droplogins'
GO
EXEC master.dbo.sp_addlinkedserver @server = N'ReadOnlyLinkedServerSQL1', 
								   @srvproduct=N'', 
								   @provider=N'SQLNCLI11', 
								   @datasrc=N'AG1', 
								   @provstr=N'ApplicationIntent=ReadOnly;', 
								   @catalog=N'AdventureWorks2012'
GO
EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname=N'ReadOnlyLinkedServerSQL1',@useself=N'False',@locallogin=NULL,@rmtuser=N'login1',@rmtpassword='123456'
GO&lt;/pre&gt;
&lt;p&gt;A var&amp;aacute;zslat az sp_addlinkedsrvlogin r&amp;eacute;szben lenne. Itt adom hozz&amp;aacute; azt az SQL login-t, ami a t&amp;aacute;voli szerveren el&amp;eacute;rhető &amp;eacute;s joga is van az adatb&amp;aacute;zishoz. Itt ism&amp;eacute;t futtatom a teszt scriptet:&lt;/p&gt;
&lt;pre class="brush:html;auto-links:false;toolbar:false" contenteditable="false"&gt;GO
select *, SUSER_SNAME() AS [localuser] from openquery([ReadOnlyLinkedServerSQL1], 'select @@servername AS [servername], SUSER_SNAME() AS [remoteuser]')&lt;/pre&gt;
&lt;p&gt;Ennek az eredm&amp;eacute;nye:&lt;/p&gt;
&lt;p&gt;&lt;img src="https://www.iamberke.com/image.axd?picture=/images/posts/linkedserver2.png" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;L&amp;aacute;that&amp;oacute;, hogy az SQL login volt haszn&amp;aacute;latban a t&amp;aacute;voli el&amp;eacute;r&amp;eacute;sn&amp;eacute;l, de az &amp;eacute;n Windows loginom ind&amp;iacute;totta.&lt;/p&gt;
&lt;p&gt;Most megpr&amp;oacute;b&amp;aacute;lom egy helyi SQL login nev&amp;eacute;ben is futtatni.&lt;/p&gt;
&lt;pre class="brush:sql;auto-links:false;toolbar:false" contenteditable="false"&gt;GO
execute as login = 'login1'
select *, SUSER_SNAME() from openquery([ReadOnlyLinkedServerSQL], 'select @@servername, SUSER_SNAME()')
revert&lt;/pre&gt;
&lt;p&gt;Itt az al&amp;aacute;bbi hib&amp;aacute;t kapom:&lt;/p&gt;
&lt;pre class="brush:plain;auto-links:false;toolbar:false" contenteditable="false"&gt;.
Msg 7416, Level 16, State 2, Line 47
Access to the remote server is denied because no login-mapping exists.&lt;/pre&gt;
&lt;p&gt;Ezt megint el kell engednem, nem akarok login mapping-et.... helyette megcsin&amp;aacute;ljuk rendesen, hogy:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;SQL login eset&amp;eacute;n is menjen, illetve&lt;/li&gt;
&lt;li&gt;Windows hiteles&amp;iacute;t&amp;eacute;s eset&amp;eacute;n is!&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Ez annyit jelent, hogy mindegy, hogy aki kezdem&amp;eacute;nyezi a lek&amp;eacute;rdez&amp;eacute;st SQL vagy Windows login, mindegyik esetben a megadott SQL login-t haszn&amp;aacute;lja a linked server kapcsolat ki&amp;eacute;p&amp;iacute;t&amp;eacute;se sor&amp;aacute;n. Ehhez az al&amp;aacute;bbi linked server-t hozom l&amp;eacute;tre:&lt;/p&gt;
&lt;pre class="brush:sql;auto-links:false;toolbar:false" contenteditable="false"&gt;GO
EXEC master.dbo.sp_dropserver @server=N'ReadOnlyLinkedServerSQL', @droplogins='droplogins'
GO
EXEC master.dbo.sp_addlinkedserver @server = N'ReadOnlyLinkedServerSQL', 
								   @srvproduct=N'', 
								   @provider=N'SQLNCLI11', 
								   @datasrc=N'AG1', 
								   @provstr=N'Server=AG1;User ID=login1;ApplicationIntent=ReadOnly;', 
								   @catalog=N'AdventureWorks2012'

EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname=N'ReadOnlyLinkedServerSQL',@useself=N'False',@locallogin=NULL,@rmtuser=N'login1',@rmtpassword='123456'
GO&lt;/pre&gt;
&lt;p&gt;Itt a param&amp;eacute;terekn&amp;eacute;l az al&amp;aacute;bbi fontos dolgokat kell kiemelnem:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;provstr: ide egy connection string r&amp;eacute;szletet kell megadni, a fenti m&amp;oacute;don. Ez lesz ami miatt elkezdi "rendesen" haszn&amp;aacute;lni&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Itt megint futtatom a teszteket, elősz&amp;ouml;r Windows majd SQL login seg&amp;iacute;ts&amp;eacute;g&amp;eacute;vel:&lt;/p&gt;
&lt;pre class="brush:sql;auto-links:false;toolbar:false" contenteditable="false"&gt;GO
select *, SUSER_SNAME() from openquery([ReadOnlyLinkedServerSQL], 'select @@servername, SUSER_SNAME()')
GO

execute as login = 'login1'
select *, SUSER_SNAME() from openquery([ReadOnlyLinkedServerSQL], 'select @@servername, SUSER_SNAME()')
revert&lt;/pre&gt;
&lt;p&gt;Az eredm&amp;eacute;ny:&lt;/p&gt;
&lt;p&gt;&lt;img src="https://www.iamberke.com/image.axd?picture=/images/posts/linkedserver3.png" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;Az első esetben az &amp;eacute;n Windows felhaszn&amp;aacute;l&amp;oacute;m ind&amp;iacute;totta a lek&amp;eacute;rdez&amp;eacute;st, majd a login1 SQL login seg&amp;iacute;ts&amp;eacute;g&amp;eacute;vel l&amp;eacute;pett be a t&amp;aacute;voli szerverre, a m&amp;aacute;sodik esetben egy SQL login ind&amp;iacute;totta a lek&amp;eacute;rdez&amp;eacute;st, illetve ebben az esetben nem j&amp;ouml;tt elő a login-mapping probl&amp;eacute;ma.&lt;/p&gt;
&lt;p&gt;Ezzel a megold&amp;aacute;ssal t&amp;ouml;bb, nem is kicsi rendszern&amp;eacute;l műk&amp;ouml;dő read-scale kialak&amp;iacute;t&amp;aacute;st csin&amp;aacute;ltam, ami teljesen j&amp;oacute;l műk&amp;ouml;dik. Az egy m&amp;aacute;sik k&amp;eacute;rd&amp;eacute;s, hogy a linked server pontosan mire&amp;nbsp; &amp;eacute;s milyen funkci&amp;oacute;ra van haszn&amp;aacute;lva, nem mindig ez a megold&amp;aacute;s. A read-only routing miatt viszont ez egy nagyon j&amp;oacute; sk&amp;aacute;l&amp;aacute;z&amp;aacute;si technika, amivel terhl&amp;eacute;s eloszt&amp;aacute;st lehet csin&amp;aacute;lni. Itt csak a licensz k&amp;ouml;lts&amp;eacute;g lehet a nagyobb kih&amp;iacute;v&amp;aacute;s. ;)&lt;/p&gt;</description>
      <link>https://www.iamberke.com/post/2020/12/22/linked-server-es-read-only-routing</link>
      <author>janos@nospam.iamberke.com</author>
      <comments>https://www.iamberke.com/post/2020/12/22/linked-server-es-read-only-routing#comment</comments>
      <guid>https://www.iamberke.com/post.aspx?id=489b1f99-49e6-4bf2-b92d-e0f25f0667d9</guid>
      <pubDate>Tue, 22 Dec 2020 11:34:00 +0000</pubDate>
      <category>SQL Server</category>
      <category>SQL Server 2012</category>
      <category>SQL Server 2016</category>
      <category>SQL Server 2017</category>
      <dc:publisher>Janos</dc:publisher>
      <pingback:server>https://www.iamberke.com/pingback.axd</pingback:server>
      <pingback:target>https://www.iamberke.com/post.aspx?id=489b1f99-49e6-4bf2-b92d-e0f25f0667d9</pingback:target>
      <slash:comments>0</slash:comments>
      <trackback:ping>https://www.iamberke.com/trackback.axd?id=489b1f99-49e6-4bf2-b92d-e0f25f0667d9</trackback:ping>
      <wfw:comment>https://www.iamberke.com/post/2020/12/22/linked-server-es-read-only-routing#comment</wfw:comment>
      <wfw:commentRss>https://www.iamberke.com/syndication.axd?post=489b1f99-49e6-4bf2-b92d-e0f25f0667d9</wfw:commentRss>
    </item>
    <item>
      <title>Mennyi CPU kell egy Availabity Group esetén</title>
      <description>&lt;p&gt;2012 &amp;oacute;ta, mi&amp;oacute;ta az SQL Server 2012 Enterprise Edition-ben megjelent az Availability Group, az&amp;oacute;ta folyamatosan megkapom a k&amp;ouml;vetkező k&amp;eacute;rd&amp;eacute;seket:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Mi&amp;eacute;rt nem lehet t&amp;ouml;bb sz&amp;aacute;z adatb&amp;aacute;zist egy szerveren Availability Group-ba tenni?&lt;/li&gt;
&lt;li&gt;Minek ennyi CPU?&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;A v&amp;aacute;lasz nem trivi&amp;aacute;lis, ellenben sz&amp;aacute;molhat&amp;oacute;.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;A Microsoft aj&amp;aacute;nl&amp;aacute;sa, hogy maximum 100 adatb&amp;aacute;zis &amp;eacute;s &amp;ouml;sszesen 10 AG legyen egy fizikai g&amp;eacute;pen, l&amp;aacute;sd &lt;a href="https://docs.microsoft.com/en-us/sql/database-engine/availability-groups/windows/prereqs-restrictions-recommendations-always-on-availability?view=sql-server-ver15#RestrictionsAG" target="_blank"&gt;itt&lt;/a&gt;. Akkor ezzel le is z&amp;aacute;rtam, k&amp;eacute;sz, ez az aj&amp;aacute;nl&amp;aacute;s :).&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Persze, hogy nem csak ennyi, hanem n&amp;eacute;zz&amp;uuml;nk m&amp;ouml;g&amp;eacute; kicsit. Kezdj&amp;uuml;k az alapokn&amp;aacute;l: minden SQL Server un. thread-eket (nem, nem ford&amp;iacute;tom le) haszn&amp;aacute;l a feladatok elv&amp;eacute;gz&amp;eacute;s&amp;eacute;hez, ezek sz&amp;aacute;ma pedig f&amp;uuml;gg a CPU magok sz&amp;aacute;m&amp;aacute;t&amp;oacute;l! Kezd &amp;eacute;rdekes lenni, vajon mennyi az annyi?&lt;/p&gt;
&lt;p&gt;Alapvetően 512 thread van, majd&amp;nbsp;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&amp;lt;=4 mag eset&amp;eacute;n marad az 512 thread&lt;/li&gt;
&lt;li&gt;&amp;gt;4 &amp;eacute;s &amp;lt;=64 eset&amp;eacute;n 512+(logikai magok -4)*16&lt;/li&gt;
&lt;li&gt;&amp;gt;64 eset&amp;eacute;n&amp;nbsp;512+(logikai magok -4)*32&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Ezek 64 bites verzi&amp;oacute;ra igazak, r&amp;eacute;szletek &lt;a href="https://docs.microsoft.com/en-us/sql/database-engine/configure-windows/configure-the-max-worker-threads-server-configuration-option?view=sql-server-ver15" target="_blank"&gt;itt&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Vegy&amp;uuml;nk egy 16 magos rendszert, ekkor a thread-ek sz&amp;aacute;ma: 512+(16-4)*16=704&lt;/p&gt;
&lt;p&gt;Ebből mennyit haszn&amp;aacute;lhat maximum csak az AG? A dokument&amp;aacute;ci&amp;oacute; szerint a max worker sz&amp;aacute;ma -40, azaz 704-40=664. Igen &amp;aacute;m, de akkor a lek&amp;eacute;rdez&amp;eacute;seknek mi marad? R&amp;ouml;vid v&amp;aacute;lasz: szinte semmi &amp;eacute;s ez rossz!&lt;/p&gt;
&lt;p&gt;Menj&amp;uuml;nk vissza az eredeti k&amp;eacute;rd&amp;eacute;sre, hogy mi&amp;eacute;rt nem lehet t&amp;ouml;bb sz&amp;aacute;z adatb&amp;aacute;zist AG-ba tenni &amp;eacute;s mi&amp;eacute;rt mondja a Microsoft, hogy maximum 100 adatb&amp;aacute;zis &amp;eacute;s 10 AG.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;T&amp;eacute;telezz&amp;uuml;k fel a k&amp;ouml;vetkezőt: van 100 adatb&amp;aacute;zis, 1 AG, 2 secondary replica. Ebben az esetben mennyi lesz a minimum pool m&amp;eacute;ret? Az al&amp;aacute;bbi k&amp;eacute;plet megadja:&lt;/p&gt;
&lt;p&gt;(DC*(LCT+(LST*SRC)))+MHT&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;DC: adatb&amp;aacute;zisok sz&amp;aacute;ma,&lt;/li&gt;
&lt;li&gt;LCT: log capture thread, minden primary replica adatb&amp;aacute;zis haszn&amp;aacute;l 1 darabot,&lt;/li&gt;
&lt;li&gt;LST: log send thread, minden m&amp;aacute;sodlagos replica adatb&amp;aacute;zishoz&amp;nbsp;tartozik 1 darab,&lt;/li&gt;
&lt;li&gt;SRC: secondary replica darabsz&amp;aacute;m,&lt;/li&gt;
&lt;li&gt;MHT: message handler thread, 1 darab/ AG&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Ezek alapj&amp;aacute;n l&amp;aacute;ssuk a sz&amp;aacute;m&amp;iacute;t&amp;aacute;st (100*(1+(1*2)))+1=301, azaz a 704 thread kb. 43%-a csak az Availability Group haszn&amp;aacute;lat&amp;aacute;ban lenne!!! Ez csak a primary oldal, a secondary eset&amp;eacute;n m&amp;aacute;sk&amp;eacute;nt kell sz&amp;aacute;molni, főleg az SQL Server 2016-os verzi&amp;oacute;t&amp;oacute;l, ahol m&amp;aacute;r van parallel redo is.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;L&amp;aacute;ssuk egy &amp;eacute;lő p&amp;eacute;ld&amp;aacute;n is a k&amp;uuml;l&amp;ouml;nbs&amp;eacute;get: az al&amp;aacute;bbiakban 2 darab SQL Server, 1 primary &amp;eacute;s 1 secondary replica thread felhaszn&amp;aacute;l&amp;aacute;sa l&amp;aacute;tszik, 100 darab adatb&amp;aacute;zis &amp;eacute;s 120 egyidejű felhaszn&amp;aacute;l&amp;oacute; eset&amp;eacute;n.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://www.iamberke.com/image.axd?picture=/images/posts/worker1.png" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;Ez egy 8 magos rendszer, ahol 576 thread van, majd 201 thread elmegy az Availability Group miatt.&lt;/p&gt;
&lt;p&gt;Ugyan ez 20 adatb&amp;aacute;zis &amp;eacute;s 120 felhaszn&amp;aacute;l&amp;oacute; eset&amp;eacute;n:&lt;/p&gt;
&lt;p&gt;&lt;img src="https://www.iamberke.com/image.axd?picture=/images/posts/worker2.png" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;Ugye j&amp;oacute;l l&amp;aacute;tszik a k&amp;uuml;l&amp;ouml;nbs&amp;eacute;g: a t&amp;ouml;red&amp;eacute;ke ment el, azaz a lek&amp;eacute;rdez&amp;eacute;seknek bőven maradt.&lt;/p&gt;
&lt;p&gt;M&amp;eacute;g k&amp;eacute;t m&amp;aacute;sik metrik&amp;aacute;t is &amp;eacute;rdemes megn&amp;eacute;zni:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;HADR Task Count: az első esetben ez 150K, m&amp;iacute;g a m&amp;aacute;sik esetben 15-25K k&amp;ouml;z&amp;ouml;tt van&lt;/li&gt;
&lt;li&gt;CPU kihaszn&amp;aacute;lts&amp;aacute;g: term&amp;eacute;szetesen itt is van k&amp;uuml;l&amp;ouml;nbs&amp;eacute;g, az első esetben 20% k&amp;ouml;r&amp;uuml;li, m&amp;iacute;g a m&amp;aacute;sik esetben ez &amp;aacute;tlag 8-12% volt.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;J&amp;oacute;l l&amp;aacute;that&amp;oacute;, hogy mennyire fontos a tervez&amp;eacute;s sor&amp;aacute;n ezt is figyelembe venni, nem felt&amp;eacute;tlen csak a k&amp;ouml;ts&amp;eacute;geket. Sajnos volt r&amp;aacute; p&amp;eacute;lda a munk&amp;aacute;im sor&amp;aacute;n, amikor a k&amp;ouml;lts&amp;eacute;g fel&amp;uuml;l&amp;iacute;rta a technol&amp;oacute;gi&amp;aacute;t, a v&amp;eacute;ge term&amp;eacute;szetesen incidens lett.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;V&amp;eacute;gezet&amp;uuml;l: mindig sz&amp;aacute;moljuk ki, hogy mennyi CPU-ra van sz&amp;uuml;ks&amp;eacute;g Availability Group eset&amp;eacute;n &amp;eacute;s ehhez adjuk hozz&amp;aacute; az alkalmaz&amp;aacute;s k&amp;ouml;vetelm&amp;eacute;nyekben megadott CPU sz&amp;aacute;mot.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
      <link>https://www.iamberke.com/post/2020/04/22/mennyi-cpu-kell-egy-availabity-group-eseten</link>
      <author>janos@nospam.iamberke.com</author>
      <comments>https://www.iamberke.com/post/2020/04/22/mennyi-cpu-kell-egy-availabity-group-eseten#comment</comments>
      <guid>https://www.iamberke.com/post.aspx?id=8bb8db9e-6e3b-40f5-ad44-07d6e22a83f9</guid>
      <pubDate>Wed, 22 Apr 2020 11:20:00 +0000</pubDate>
      <category>SQL Server</category>
      <category>SQL Server 2012</category>
      <category>SQL Server 2016</category>
      <category>SQL Server 2017</category>
      <dc:publisher>Janos</dc:publisher>
      <pingback:server>https://www.iamberke.com/pingback.axd</pingback:server>
      <pingback:target>https://www.iamberke.com/post.aspx?id=8bb8db9e-6e3b-40f5-ad44-07d6e22a83f9</pingback:target>
      <slash:comments>0</slash:comments>
      <trackback:ping>https://www.iamberke.com/trackback.axd?id=8bb8db9e-6e3b-40f5-ad44-07d6e22a83f9</trackback:ping>
      <wfw:comment>https://www.iamberke.com/post/2020/04/22/mennyi-cpu-kell-egy-availabity-group-eseten#comment</wfw:comment>
      <wfw:commentRss>https://www.iamberke.com/syndication.axd?post=8bb8db9e-6e3b-40f5-ad44-07d6e22a83f9</wfw:commentRss>
    </item>
    <item>
      <title>SQLSaturday Budapest 2020</title>
      <description>&lt;p&gt;&lt;span style="color: #ff0000;"&gt;&lt;strong&gt;UPDATE: tekintettel a j&amp;aacute;rv&amp;aacute;ny miatt kialakult helyzetre &amp;eacute;s az aj&amp;aacute;nl&amp;aacute;sok figyelembe v&amp;eacute;tele miatt, a rendezv&amp;eacute;nyt elhalasztjuk!&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color: #000000;"&gt;Ism&amp;eacute;t j&amp;oacute; h&amp;iacute;rrel szolg&amp;aacute;lhatok: 2020. m&amp;aacute;rcius 28.-&amp;aacute;n ism&amp;eacute;t lesz SQLSaturday. Az esem&amp;eacute;nyre itt lehet regisztr&amp;aacute;lni:&amp;nbsp;&lt;a style="color: #000000;" href="https://www.sqlsaturday.com/957/EventHome.aspx"&gt;https://www.sqlsaturday.com/957/EventHome.aspx&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src="https://www.iamberke.com/image.axd?picture=/sqsatlogos/sqlsat957.png" alt="" /&gt;&lt;/p&gt;</description>
      <link>https://www.iamberke.com/post/2020/01/02/sqlsaturday-budapest-2020</link>
      <author>janos@nospam.iamberke.com</author>
      <comments>https://www.iamberke.com/post/2020/01/02/sqlsaturday-budapest-2020#comment</comments>
      <guid>https://www.iamberke.com/post.aspx?id=b8f6d79f-5998-44b6-9eb7-e896034a77ee</guid>
      <pubDate>Thu, 2 Jan 2020 16:34:00 +0000</pubDate>
      <dc:publisher>Janos</dc:publisher>
      <pingback:server>https://www.iamberke.com/pingback.axd</pingback:server>
      <pingback:target>https://www.iamberke.com/post.aspx?id=b8f6d79f-5998-44b6-9eb7-e896034a77ee</pingback:target>
      <slash:comments>0</slash:comments>
      <trackback:ping>https://www.iamberke.com/trackback.axd?id=b8f6d79f-5998-44b6-9eb7-e896034a77ee</trackback:ping>
      <wfw:comment>https://www.iamberke.com/post/2020/01/02/sqlsaturday-budapest-2020#comment</wfw:comment>
      <wfw:commentRss>https://www.iamberke.com/syndication.axd?post=b8f6d79f-5998-44b6-9eb7-e896034a77ee</wfw:commentRss>
    </item>
    <item>
      <title>DCOM objektum keresése</title>
      <description>&lt;p&gt;Sok esetben k&amp;uuml;zd&amp;ouml;k az al&amp;aacute;bbi vagy hasonl&amp;oacute; hiba&amp;uuml;zenetekkel:&lt;/p&gt;
&lt;pre class="auto-links:false;toolbar:false" contenteditable="false"&gt;The application-specific permission settings do not grant Local Activation permission for the COM Server application with CLSID 
{D63B10C5-BB46-4990-A94F-E40B9D520160}
 and APPID 
{9CA88EE3-ACB7-47C8-AFC4-AB702511C276}
 to the user NT AUTHORITY\SYSTEM SID (S-1-5-18) from address LocalHost (Using LRPC) running in the application container Unavailable SID (Unavailable). This security permission can be modified using the Component Services administrative tool.
&lt;/pre&gt;
&lt;p&gt;Az &amp;aacute;lland&amp;oacute; "harcomat" a dcomcnfg.exe-vel untam meg, hogy GUID alapj&amp;aacute;n megtal&amp;aacute;ljam, mely alkalmaz&amp;aacute;s jogaival van baj. Helyette az al&amp;aacute;bbi PowerShell script-et haszn&amp;aacute;lom:&lt;/p&gt;
&lt;pre class="brush:ps;auto-links:false;toolbar:false" contenteditable="false"&gt;$strComputer = "." 
$appid = '{9CA88EE3-ACB7-47C8-AFC4-AB702511C276}'
 
Get-WMIObject -class "Win32_DCOMApplication" `
-Namespace "root\CIMV2" `
-ComputerName $strComputer `
-Filter "AppID='$appid'" | SELECT * &lt;/pre&gt;
&lt;p&gt;A vicc az, hogy SQL Server eset&amp;eacute;n, bizonyos esetekben, el&amp;eacute;g sok hasonl&amp;oacute; (m&amp;aacute;s GUID) &amp;uuml;zenettel tal&amp;aacute;lkozom. (&amp;eacute;ljen a Next, Next Finish :-) )&lt;/p&gt;</description>
      <link>https://www.iamberke.com/post/2019/12/30/dcom-objektum-keresese</link>
      <author>janos@nospam.iamberke.com</author>
      <comments>https://www.iamberke.com/post/2019/12/30/dcom-objektum-keresese#comment</comments>
      <guid>https://www.iamberke.com/post.aspx?id=2e95e449-7466-47ce-b8a6-80f0c2400422</guid>
      <pubDate>Mon, 30 Dec 2019 11:59:00 +0000</pubDate>
      <category>Powershell</category>
      <category>SQL Server</category>
      <dc:publisher>Janos</dc:publisher>
      <pingback:server>https://www.iamberke.com/pingback.axd</pingback:server>
      <pingback:target>https://www.iamberke.com/post.aspx?id=2e95e449-7466-47ce-b8a6-80f0c2400422</pingback:target>
      <slash:comments>0</slash:comments>
      <trackback:ping>https://www.iamberke.com/trackback.axd?id=2e95e449-7466-47ce-b8a6-80f0c2400422</trackback:ping>
      <wfw:comment>https://www.iamberke.com/post/2019/12/30/dcom-objektum-keresese#comment</wfw:comment>
      <wfw:commentRss>https://www.iamberke.com/syndication.axd?post=2e95e449-7466-47ce-b8a6-80f0c2400422</wfw:commentRss>
    </item>
    <item>
      <title>SQL Server hálózati beállítások</title>
      <description>&lt;p&gt;Tal&amp;aacute;n az egyik legprobl&amp;eacute;m&amp;aacute;sabb ter&amp;uuml;lete az SQL Server konfigur&amp;aacute;l&amp;aacute;s sor&amp;aacute;n a h&amp;aacute;l&amp;oacute;zati be&amp;aacute;ll&amp;iacute;t&amp;aacute;s. Aki elősz&amp;ouml;r tal&amp;aacute;lkozik a term&amp;eacute;kkel, de k&amp;eacute;sőbb is :), probl&amp;eacute;m&amp;aacute;t szokott jelenteni, hogyan lehet enged&amp;eacute;lyezni az SQL Server database engine t&amp;aacute;voli el&amp;eacute;r&amp;eacute;st is. Anno, a 2005-&amp;ouml;s verzi&amp;oacute; eset&amp;eacute;n m&amp;aacute;r az volt a Microsoft mond&amp;aacute;sa, hogy csak azok a szolg&amp;aacute;ltat&amp;aacute;sok &amp;eacute;s protokollok vannak enged&amp;eacute;lyezve, amire val&amp;oacute;ban sz&amp;uuml;ks&amp;eacute;g van. Alapvetően a TCP kapcsolatok csak az Enterprise &amp;eacute;s a Developer verzi&amp;oacute;k eset&amp;eacute;n vannak alapb&amp;oacute;l enged&amp;eacute;lyezve, a t&amp;ouml;bbi verzi&amp;oacute;n&amp;aacute;l le vannak tiltva. Ezt a telep&amp;iacute;t&amp;eacute;s sor&amp;aacute;n, amennyiben config file vagy parancssori telep&amp;iacute;t&amp;eacute;s van haszn&amp;aacute;latban, a&amp;nbsp;TCPENABLED="1" be&amp;aacute;ll&amp;iacute;t&amp;aacute;ssal lehet enged&amp;eacute;lyezni. Ilyenkor az &amp;ouml;sszes, a telep&amp;iacute;t&amp;eacute;s sor&amp;aacute;n megtal&amp;aacute;lt IP c&amp;iacute;men, h&amp;aacute;l&amp;oacute;zati k&amp;aacute;rty&amp;aacute;n figyelni fog valamilyen porton az adatb&amp;aacute;zis szolg&amp;aacute;ltat&amp;aacute;s.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Alapvetően a protokollok enged&amp;eacute;lyez&amp;eacute;se az SQL Server Configuration Manager seg&amp;iacute;ts&amp;eacute;g&amp;eacute;vel t&amp;ouml;rt&amp;eacute;nhet, az al&amp;aacute;bbi k&amp;eacute;pen l&amp;aacute;that&amp;oacute; helyen, a default instance eset&amp;eacute;n:&lt;/p&gt;
&lt;p&gt;&lt;img src="https://www.iamberke.com/image.axd?picture=/images/posts/configmgr_tcp1.PNG" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;Igen &amp;aacute;m, de vajon melyik IP c&amp;iacute;meken figyel a szolg&amp;aacute;ltat&amp;aacute;s? Ha a TCP/IP-n megn&amp;eacute;zz&amp;uuml;k (jobb gomb, properties), akkor alapb&amp;oacute;l a Listen All = Yes.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://www.iamberke.com/image.axd?picture=/images/posts/configmgr_tcp2.PNG" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;Ebben az esetben, minden, m&amp;eacute;g az APIPA &amp;eacute;s a Local-Link Address is haszn&amp;aacute;latban van. Ez azt jelenti, hogy b&amp;aacute;rmely c&amp;iacute;men tud fogadni k&amp;eacute;r&amp;eacute;seket az SQL p&amp;eacute;ld&amp;aacute;nyunk. Ezt pedig a be&amp;eacute;p&amp;iacute;tett TCP endpoint-on kereszt&amp;uuml;l teszi.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://www.iamberke.com/image.axd?picture=/images/posts/configmgr_tcp3.PNG" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;L&amp;aacute;that&amp;oacute; mind az SQL Server Configuration Manager-ben &amp;eacute;s az SSMS-ben is, hogy vannak itt &amp;aacute;s protokollok is. &amp;Eacute;n most csak a TCP/IP-re f&amp;oacute;kusz&amp;aacute;lok. A TCP endpoint-ok egy&amp;eacute;bk&amp;eacute;nt lek&amp;eacute;rdezhetők az al&amp;aacute;bbi lek&amp;eacute;rdez&amp;eacute;ssel:&lt;/p&gt;
&lt;pre class="brush:sql;auto-links:false;toolbar:false" contenteditable="false"&gt;select * from sys.tcp_endpoints&lt;/pre&gt;
&lt;p&gt;Az eredm&amp;eacute;nye (az &amp;eacute;n dem&amp;oacute; g&amp;eacute;pemen):&lt;/p&gt;
&lt;p&gt;&lt;img src="https://www.iamberke.com/image.axd?picture=/images/posts/configmgr_tcp4.PNG" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;Az &amp;ouml;sszes endpoint pedig ezzel k&amp;eacute;rdezhető le:&lt;/p&gt;
&lt;pre class="brush:sql;auto-links:false;toolbar:false" contenteditable="false"&gt;select * from sys.endpoints&lt;/pre&gt;
&lt;p&gt;Itt az eredm&amp;eacute;ny:&lt;/p&gt;
&lt;p&gt;&lt;img src="https://www.iamberke.com/image.axd?picture=/images/posts/configmgr_tcp5.PNG" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;Ezek r&amp;eacute;szletez&amp;eacute;se is meg&amp;eacute;rne p&amp;aacute;r sz&amp;oacute;t, de most menj&amp;uuml;nk vissza ink&amp;aacute;bb arra az esetre, amikor is IP c&amp;iacute;met v&amp;aacute;ltoztatok &amp;eacute;s/vagy &amp;uacute;j h&amp;aacute;l&amp;oacute;zati k&amp;aacute;rtya vagy IP c&amp;iacute;m ker&amp;uuml;l megad&amp;aacute;sra. Ugye alapvetően az &amp;ouml;sszes c&amp;iacute;men figyel a szerver, ami l&amp;aacute;tszik is a SQL Server Configuration Manager alkalmaz&amp;aacute;sban:&lt;/p&gt;
&lt;p&gt;&lt;img src="https://www.iamberke.com/image.axd?picture=/images/posts/configmgr_tcp6.PNG" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;L&amp;aacute;tszik, hogy az IpAll fix porton,&amp;nbsp; a 1433-as TCP porton figyel. Itt fontos megeml&amp;iacute;tenem, hogy dinamikus portot nem &amp;aacute;ll&amp;iacute;tunk sose, &amp;iacute;gy a TCP Dynamic Ports &amp;uuml;resen marad. ez ugye az&amp;eacute;rt is &amp;eacute;rdekes, mert t&amp;ouml;bb SQL p&amp;eacute;ld&amp;aacute;ny eset&amp;eacute;n akkor mi legyen? Term&amp;eacute;szetesen adunk neki egy m&amp;aacute;sik portot! Most ne menj&amp;uuml;nk abba bele, hogy mi van akkor, ha k&amp;uuml;l&amp;ouml;n IP c&amp;iacute;meken de ugyan azt a portot akarjuk adni. Ilyen esetekben a n&amp;eacute;vfelold&amp;aacute;ssal (is) lehet "n&amp;eacute;mi" probl&amp;eacute;ma, arr&amp;oacute;l nem is besz&amp;eacute;lve, hogy mennyire megnehez&amp;iacute;ti az &amp;uuml;zemeltet&amp;eacute;st &amp;eacute;s a nagy rendelkez&amp;eacute;sre &amp;aacute;ll&amp;aacute;si megold&amp;aacute;sok konfigur&amp;aacute;ci&amp;oacute;j&amp;aacute;t.&lt;/p&gt;
&lt;p&gt;A m&amp;aacute;sik, amit &amp;eacute;szre lehet venni a fenti k&amp;eacute;pen, hogy az IP9 ( a 9. ip c&amp;iacute;m) Active = Yes, azaz l&amp;eacute;tezik, ez mindig Yes, illetve Enabled = Yes, azaz ezen a c&amp;iacute;men biztos fogad k&amp;eacute;r&amp;eacute;seket a szolg&amp;aacute;ltat&amp;aacute;s.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Akkor most "csavarok" egyet rajta: mi a helyzet, amikor csak egy adott IP c&amp;iacute;men akarom, hogy fogadjon k&amp;eacute;r&amp;eacute;seket a szolg&amp;aacute;ltat&amp;aacute;s? Ilyen esetben annyi a dolgunk, hogy:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Listen All = No&lt;/li&gt;
&lt;li&gt;az &amp;ouml;sszes olyan IP c&amp;iacute;mn&amp;eacute;l, ahol nem akarjuk, hogy a szolg&amp;aacute;ltat&amp;aacute;s fogadja a k&amp;eacute;r&amp;eacute;seket legyen az Enabled = No,&lt;/li&gt;
&lt;li&gt;az egy vagy t&amp;ouml;bb IP c&amp;iacute;men, ahol akarjuk, hogy v&amp;aacute;laszoljon a szolg&amp;aacute;ltat&amp;aacute;s, ott az Enabled = Yes.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Ugye nem is neh&amp;eacute;z :). Akkor most ism&amp;eacute;t "csavarok" egyet rajta: mi a helyzet, amikor egy &amp;uacute;j IP c&amp;iacute;m j&amp;ouml;n a k&amp;eacute;pbe &amp;eacute;s csak azon szeretn&amp;eacute;m, hogy figyeljen az adatb&amp;aacute;zis szolg&amp;aacute;ltat&amp;aacute;s? H&amp;aacute;t igen, ez az az eset, ami m&amp;aacute;r nem annyira trivi&amp;aacute;lis. Az SQL Server telep&amp;iacute;tője a telep&amp;iacute;t&amp;eacute;s idej&amp;eacute;n be&amp;aacute;ll&amp;iacute;t&amp;aacute;sra ker&amp;uuml;lt h&amp;aacute;l&amp;oacute;zati c&amp;iacute;meket olvassa fel csak, amennyiben v&amp;aacute;ltoz&amp;aacute;s van ezekben, m&amp;aacute;r nem k&amp;ouml;veti vissza, azaz nem t&amp;ouml;r&amp;ouml;l &amp;eacute;s nem vesz fel &amp;uacute;jabb c&amp;iacute;meket! Ilyen esetekben nincs m&amp;aacute;s megold&amp;aacute;s, mint a Registry k&amp;eacute;zi be&amp;aacute;ll&amp;iacute;t&amp;aacute;sa: a HKLM:\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL&amp;lt;verzi&amp;oacute;&amp;gt;.&amp;lt;instance n&amp;eacute;v&amp;gt;\MSSQLServer\SuperSocketNetLib\Tcp\ kulcs szerkeszt&amp;eacute;s&amp;eacute;vel lehet ezt el&amp;eacute;rni. A verzi&amp;oacute; 13 SQL 2016, 14 SQL 2017 eset&amp;eacute;n pl. Az instance n&amp;eacute;v, amit megadtunk a telep&amp;iacute;t&amp;eacute;s sor&amp;aacute;n, illetve default instance eset&amp;eacute;n az MSSQLSERVER.&lt;/p&gt;
&lt;p&gt;Erre k&amp;eacute;sz&amp;iacute;tettem egy PowerShell scriptet, ami megcsin&amp;aacute;lja a sz&amp;uuml;ks&amp;eacute;ges l&amp;eacute;p&amp;eacute;seket:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Letiltja a Listen All be&amp;aacute;ll&amp;iacute;t&amp;aacute;st, azaz csak egy c&amp;iacute;men fog figyelni a szolg&amp;aacute;ltat&amp;aacute;s&lt;/li&gt;
&lt;li&gt;Amennyiben fel van v&amp;eacute;ve m&amp;aacute;r az IP c&amp;iacute;m, akkor csak azt fogja enged&amp;eacute;lyezni Enabled = Yes, a t&amp;ouml;bbit letiltja, azaz Enabled = No&lt;/li&gt;
&lt;li&gt;Amennyiben ez egy &amp;uacute;j IP c&amp;iacute;m, akkor felveszi &amp;eacute;s a 2. pontban megadott konfigur&amp;aacute;ci&amp;oacute;t &amp;aacute;ll&amp;iacute;tja be.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;A scriptet mindenki saj&amp;aacute;t felelőss&amp;eacute;g&amp;eacute;re haszn&amp;aacute;lja, &amp;eacute;rdemes kipr&amp;oacute;b&amp;aacute;lni egy teszt k&amp;ouml;rnyezetben, mielőtt &amp;eacute;les szerveren is haszn&amp;aacute;latban lenne. &amp;Iacute;me a script:&lt;/p&gt;
&lt;pre class="brush:ps;auto-links:false;toolbar:false" contenteditable="false"&gt;$InstanceName = "MSSQLSERVER"
$Version = "13" #SQL2016 13, SQL2017 14
$InstanceIP = "10.10.10.12"

#set ListenOnAllIPs 0, Enabled 1
Write-Host "Setting up ListenOnAllIPs 0, Enabled 1"
$regTcpRoot = 'HKLM:\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL' + $Version + '.'+ $InstanceName + '\MSSQLServer\SuperSocketNetLib\Tcp\'
Set-ItemProperty -Path $regTcpRoot -Name "ListenOnAllIPs" -Value 0
Set-ItemProperty -Path $regTcpRoot -Name "Enabled" -Value 1

# get tcp information from registry
$regTcpIPs = 'HKLM:\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL' + $Version + '.'+ $InstanceName + '\MSSQLServer\SuperSocketNetLib\Tcp\*'
$objReg = Get-ItemProperty $regTcpIPs 

#set tcp properties
$objReg | ForEach-Object { 
                            if ($_.IpAddress -eq $InstanceIP) 
                            { 
                                Write-Host "Setting up " $_.IpAddress
                                Set-ItemProperty -Path $_.PSPath -Name "Enabled" -Value 1
                                Set-ItemProperty -Path $_.PSPath -Name "Active" -Value 1
                                Set-ItemProperty -Path $_.PSPath -Name "TcpPort" -Value 1433
                                Set-ItemProperty -Path $_.PSPath -Name "TcpDynamicPorts" -Value ""
                            } 
                            else  
                            {
                                Write-Host "Setting up " $_.IpAddress
                                Set-ItemProperty -Path $_.PSPath -Name "Enabled" -Value 0
                                Set-ItemProperty -Path $_.PSPath -Name "Active" -Value 1
                                Set-ItemProperty -Path $_.PSPath -Name "TcpPort" -Value 1433
                                Set-ItemProperty -Path $_.PSPath -Name "TcpDynamicPorts" -Value ""
                            }
                            
                          }

#add missing IP for virtual host name ($InstanceIP) if not exist
if (($objReg | Where-Object { $_.IpAddress -eq $InstanceIP }) -eq $null)
{
    Write-Host "Setting up new ip: " $InstanceIP
    $regNew = $objReg.PSParentPath.GetValue(0) + '\IP' + $objReg.Count
    New-Item -Path $objReg.PSParentPath.GetValue(0) -Name ('\IP' + $objReg.Count) | Out-Null
    Set-ItemProperty -Path $regNew -Name "Enabled" -Value 1
    Set-ItemProperty -Path $regNew -Name "DisplayName" -Value "Specific IP Address"
    Set-ItemProperty -Path $regNew -Name "Active" -Value 1
    Set-ItemProperty -Path $regNew -Name "IpAddress" -Value $InstanceIP
    Set-ItemProperty -Path $regNew -Name "TcpPort" -Value "1433"
    Set-ItemProperty -Path $regNew -Name "TcpDynamicPorts" -Value ""
}
&lt;/pre&gt;
&lt;p&gt;A scriptben defini&amp;aacute;lt v&amp;aacute;ltoz&amp;oacute;k jelent&amp;eacute;se:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;$InstanceName: ez az SQL p&amp;eacute;ld&amp;aacute;ny neve, pl. a default instance eset&amp;eacute;n ez MSSQLSERVER&lt;/li&gt;
&lt;li&gt;$Version: SQL Server fő verzi&amp;oacute; sz&amp;aacute;ma:
&lt;ul&gt;
&lt;li&gt;SQL 2017: 14&lt;/li&gt;
&lt;li&gt;SQL 2016: 13&lt;/li&gt;
&lt;li&gt;SQL 2014: 12&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;$InstanceIP: ez lesz az az IP c&amp;iacute;m, amin a szolg&amp;aacute;ltat&amp;aacute;s figyelni fog, &amp;eacute;s csak ezen.&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;</description>
      <link>https://www.iamberke.com/post/2019/02/25/sql-server-halozati-beallitasok</link>
      <author>janos@nospam.iamberke.com</author>
      <comments>https://www.iamberke.com/post/2019/02/25/sql-server-halozati-beallitasok#comment</comments>
      <guid>https://www.iamberke.com/post.aspx?id=ce520c2f-3e06-49ed-adfe-05fc082b98f8</guid>
      <pubDate>Mon, 25 Feb 2019 09:46:00 +0000</pubDate>
      <category>SQL Server</category>
      <dc:publisher>Janos</dc:publisher>
      <pingback:server>https://www.iamberke.com/pingback.axd</pingback:server>
      <pingback:target>https://www.iamberke.com/post.aspx?id=ce520c2f-3e06-49ed-adfe-05fc082b98f8</pingback:target>
      <slash:comments>0</slash:comments>
      <trackback:ping>https://www.iamberke.com/trackback.axd?id=ce520c2f-3e06-49ed-adfe-05fc082b98f8</trackback:ping>
      <wfw:comment>https://www.iamberke.com/post/2019/02/25/sql-server-halozati-beallitasok#comment</wfw:comment>
      <wfw:commentRss>https://www.iamberke.com/syndication.axd?post=ce520c2f-3e06-49ed-adfe-05fc082b98f8</wfw:commentRss>
    </item>
    <item>
      <title>SQL Server 2019 bejelentés + CTP</title>
      <description>&lt;p&gt;Ma az Ignite konferenci&amp;aacute;n bejelentett&amp;eacute;k az SQL Server 2019 verzi&amp;oacute;t, aminek a publikus CTP-je el&amp;eacute;rhető a&amp;nbsp;&amp;nbsp;&lt;a href="http://www.microsoft.com/sqlserver2019"&gt;http://www.microsoft.com/sqlserver2019&lt;/a&gt;&amp;nbsp;oldalon.&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;&amp;Uacute;jdons&amp;aacute;gok r&amp;ouml;viden&lt;/h2&gt;
&lt;p&gt;Tal&amp;aacute;n a leg&amp;eacute;rdekesebb az Apache Spark&lt;sup&gt;TM&lt;/sup&gt;&amp;nbsp;and Hadoop Distributed File System (HDFS) integr&amp;aacute;ci&amp;oacute;, amivel "big data cluster" &amp;eacute;p&amp;iacute;thető. Erről a Microsoft tov&amp;aacute;bbi, r&amp;eacute;szletes inform&amp;aacute;ci&amp;oacute;kat fog adni a j&amp;ouml;vőben. &amp;Eacute;n nem ezekre f&amp;oacute;kusz&amp;aacute;ln&amp;eacute;k, hanem a core database engine szolg&amp;aacute;ltat&amp;aacute;sokra, &amp;uacute;jdons&amp;aacute;gokra:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Intelligent Query Processing: az SQL Server 2017-ből ismert AQP tov&amp;aacute;bbi szolg&amp;aacute;ltat&amp;aacute;sokkal bőv&amp;uuml;lt.&lt;/li&gt;
&lt;li&gt;Persistent memory support: itt az NVDIMM modulokra van utal&amp;aacute;s. SQL Server 2016-os verzi&amp;oacute;t&amp;oacute;l lehetett egy olyat csin&amp;aacute;lni, hogy a tranzakci&amp;oacute;s log tail r&amp;eacute;sze egy ilyen DAX filerendszerre form&amp;aacute;zott modulon van, ezzel a tranzakci&amp;oacute; &amp;aacute;teresztő k&amp;eacute;pess&amp;eacute;g n&amp;ouml;vekedett. Ettől a verzi&amp;oacute;t&amp;oacute;l m&amp;aacute;r nem csak ez, hanem teljes adatb&amp;aacute;zisok is ker&amp;uuml;lhetnek ilyen modulokra.&lt;/li&gt;
&lt;li&gt;Lightweight query profiling: ezzel a fut&amp;aacute;si tervek elemz&amp;eacute;se lehet k&amp;ouml;nnyebb, hasonl&amp;oacute;, mint a Live Query Statistics.&lt;/li&gt;
&lt;li&gt;Always Encrypted with secure enclaves: ez egy kiterjeszt&amp;eacute;se az SQL Server 2016 verzi&amp;oacute;ban bevezetett Always Encrypted szolg&amp;aacute;ltat&amp;aacute;snak. L&amp;eacute;nyeg&amp;eacute;ben tov&amp;aacute;bbi v&amp;eacute;delmet ad (szoftveres &amp;eacute;s/vagy hardveres) malware &amp;eacute;s magasabb jogosults&amp;aacute;g&amp;uacute; felhaszn&amp;aacute;l&amp;oacute;kkal szemben.&lt;/li&gt;
&lt;li&gt;Data Discovery and Classification: gyakorlatilag &amp;uacute;j metaadatok az adatok oszt&amp;aacute;lyoz&amp;aacute;s&amp;aacute;hoz, illetve megfelelős&amp;eacute;g kezel&amp;eacute;sekhez, mint pl. GDPR, PCIDSS.&lt;/li&gt;
&lt;li&gt;Resumable online index: SQL Server 2017-ben az index rebuild volt meg&amp;aacute;ll&amp;iacute;that&amp;oacute;, mostant&amp;oacute;l a l&amp;eacute;trehoz&amp;aacute;s is.&lt;/li&gt;
&lt;li&gt;SQL Graph fejelszt&amp;eacute;sek: T-SQL MERGE &amp;eacute;s edge constraint&lt;/li&gt;
&lt;li&gt;UTF-8 t&amp;aacute;mogat&amp;aacute;s: :)&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Ezen t&amp;uacute;l van m&amp;eacute;g el&amp;eacute;g sok (van ami m&amp;eacute;g nem publikus :)), az &amp;eacute;rdekesebbekről k&amp;uuml;l&amp;ouml;n bejegyz&amp;eacute;st is fogok &amp;iacute;rni.&lt;/p&gt;
&lt;p&gt;A kedvencem: mostant&amp;oacute;l m&amp;aacute;r Java k&amp;oacute;d is futtathat&amp;oacute;, mint ahogy a 2016-t&amp;oacute;l R, 2017-től a Python is beker&amp;uuml;lt :) Vajon mi lesz a k&amp;ouml;vetkező ;).&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
      <link>https://www.iamberke.com/post/2018/09/24/sql-server-2019-bejelentes-ctp</link>
      <author>janos@nospam.iamberke.com</author>
      <comments>https://www.iamberke.com/post/2018/09/24/sql-server-2019-bejelentes-ctp#comment</comments>
      <guid>https://www.iamberke.com/post.aspx?id=966f21f9-8a21-4726-ba8e-e3e2e66b4b6f</guid>
      <pubDate>Mon, 24 Sep 2018 14:47:00 +0000</pubDate>
      <category>SQL Server</category>
      <dc:publisher>Janos</dc:publisher>
      <pingback:server>https://www.iamberke.com/pingback.axd</pingback:server>
      <pingback:target>https://www.iamberke.com/post.aspx?id=966f21f9-8a21-4726-ba8e-e3e2e66b4b6f</pingback:target>
      <slash:comments>1</slash:comments>
      <trackback:ping>https://www.iamberke.com/trackback.axd?id=966f21f9-8a21-4726-ba8e-e3e2e66b4b6f</trackback:ping>
      <wfw:comment>https://www.iamberke.com/post/2018/09/24/sql-server-2019-bejelentes-ctp#comment</wfw:comment>
      <wfw:commentRss>https://www.iamberke.com/syndication.axd?post=966f21f9-8a21-4726-ba8e-e3e2e66b4b6f</wfw:commentRss>
    </item>
    <item>
      <title>OnPrem adatbázisok Azure költség becslése migrálás előtt</title>
      <description>&lt;p&gt;Augusztus k&amp;ouml;zep&amp;eacute;n megjelent a Database Migration Assistant &amp;uacute;jabb verzi&amp;oacute;ja (&lt;a href="https://www.microsoft.com/en-us/download/confirmation.aspx?id=53595"&gt;innen&lt;/a&gt; let&amp;ouml;lthető a v4.0). Ez a verzi&amp;oacute; m&amp;aacute;r nem csak egy-egy adatb&amp;aacute;zis szerver verzi&amp;oacute; friss&amp;iacute;t&amp;eacute;sben, Azure k&amp;ouml;lt&amp;ouml;z&amp;eacute;sben tud seg&amp;iacute;teni, de m&amp;aacute;r becs&amp;uuml;lt k&amp;ouml;lts&amp;eacute;get is meg tudja mondani egy adott k&amp;ouml;rnyezetre vonatkoz&amp;oacute;an. L&amp;aacute;ssuk is, hogyan lehet ezt haszn&amp;aacute;lni.&lt;/p&gt;
&lt;h2&gt;Elők&amp;ouml;vetelm&amp;eacute;nyek, teszt k&amp;ouml;rnyezet&lt;/h2&gt;
&lt;p&gt;A teszt k&amp;ouml;rnyezet egy Windows Server 2016 lesz SQL Server 2016-os verzi&amp;oacute;val. Ezen t&amp;uacute;l az al&amp;aacute;bbi be&amp;aacute;ll&amp;iacute;t&amp;aacute;sokat kell elv&amp;eacute;gezni:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;winrm be&amp;aacute;ll&amp;iacute;t&amp;aacute;s: sz&amp;uuml;ks&amp;eacute;g van a szerveren a remote winrm el&amp;eacute;r&amp;eacute;sre. Itt nem r&amp;eacute;szletezem a mi&amp;eacute;rteket, sem a biztons&amp;aacute;got, ahhoz hogy műk&amp;ouml;dj&amp;ouml;n az eszk&amp;ouml;z az al&amp;aacute;bbi parancsot kellett elev&amp;aacute;lt m&amp;oacute;dban futtatni:
&lt;pre class="brush:ps;auto-links:false;toolbar:false" contenteditable="false"&gt;winrm quickconfig -transport:https&lt;/pre&gt;
&lt;/li&gt;
&lt;li&gt;.NET 4.5.2 vagy &amp;uacute;jabb, 64 bites v&amp;aacute;ltozat telep&amp;iacute;t&amp;eacute;se.&lt;/li&gt;
&lt;li&gt;Minden script &amp;eacute;s parancs a DMA mapp&amp;aacute;j&amp;aacute;nak a kontextus&amp;aacute;ban kell fusson, ami az &amp;eacute;n esetemben:&amp;nbsp;C:\Program Files\Microsoft Data Migration Assistant&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;Szerver adatgyűjt&amp;eacute;s&lt;/h2&gt;
&lt;p&gt;Ahhoz, hogy &amp;aacute;rakat &amp;eacute;s szolg&amp;aacute;ltat&amp;aacute;si szinteket tudjon becs&amp;uuml;lni az eszk&amp;ouml;z, előbb adatokat kell gyűjtenie.&amp;nbsp;Az adatgyűjt&amp;eacute;s egy PowerShell script seg&amp;iacute;ts&amp;eacute;g&amp;eacute;vel t&amp;ouml;rt&amp;eacute;nhet a ki&amp;eacute;rt&amp;eacute;kel&amp;eacute;s pedig k&amp;eacute;t m&amp;oacute;don:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Offline&lt;/li&gt;
&lt;li&gt;Online&lt;/li&gt;
&lt;/ol&gt;
&lt;h3&gt;Adatgyűjt&amp;eacute;s&lt;/h3&gt;
&lt;p&gt;Az al&amp;aacute;bbi PowerShell script fogja begyűjteni a sz&amp;uuml;ks&amp;eacute;ges adatokat a szerverről.&lt;/p&gt;
&lt;pre class="brush:ps;auto-links:false;toolbar:false" contenteditable="false"&gt;.\SkuRecommendationDataCollectionScript.ps1 ` 
-ComputerName SQL2016 `
-OutputFilePath C:\temp\DMA\counters_SQL2016.csv `
-CollectionTimeInSeconds 120 `
-DbConnectionString "Server=.;Initial Catalog=master;Integrated Security=SSPI;"&lt;/pre&gt;
&lt;p&gt;A param&amp;eacute;terek jelent&amp;eacute;se:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ComputerName: ez annak a g&amp;eacute;pnek a h&amp;aacute;l&amp;oacute;zati neve, amelyiket vizsg&amp;aacute;ljuk.&lt;/li&gt;
&lt;li&gt;OutputFilePath: ez lesz majd a kimeneti csv file, amiben az &amp;ouml;sszegyűjt&amp;ouml;tt performance counter &amp;eacute;s egy&amp;eacute;b szerver inform&amp;aacute;ci&amp;oacute;k lesznek.&lt;/li&gt;
&lt;li&gt;CollectionTimeInSeconds: ez lesz a performance counter-ek mintav&amp;eacute;telez&amp;eacute;si ideje. Itt minimum 40 perc az aj&amp;aacute;nlott, de a tapasztalat azt mutatja, hogy ettől t&amp;ouml;bb időre van sz&amp;uuml;ks&amp;eacute;g egy pontosabb becsl&amp;eacute;sre.&lt;/li&gt;
&lt;li&gt;DbConnectionString: a ComputerName-ben megadott SQL Server p&amp;eacute;ld&amp;aacute;ny el&amp;eacute;r&amp;eacute;s&amp;eacute;hez sz&amp;uuml;ks&amp;eacute;ges connection string. L&amp;aacute;sd m&amp;eacute;g korl&amp;aacute;tok.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Offline ki&amp;eacute;rt&amp;eacute;kel&amp;eacute;s&lt;/h3&gt;
&lt;p&gt;Az offline ki&amp;eacute;rt&amp;eacute;kel&amp;eacute;s azt jelenti, hogy a telep&amp;iacute;tett verzi&amp;oacute;ban el&amp;eacute;rhető adatok alapj&amp;aacute;n v&amp;eacute;gzi el a k&amp;ouml;lts&amp;eacute;g becsl&amp;eacute;st. Ehhez az al&amp;aacute;bbi parancsra van sz&amp;uuml;ks&amp;eacute;g:&lt;/p&gt;
&lt;pre class="brush:ps;auto-links:false;toolbar:false" contenteditable="false"&gt;DmaCmd.exe 
/Action=SkuRecommendation 
/SkuRecommendationInputDataFilePath="C:\temp\DMA\counters_SQL2016.csv" 
/SkuRecommendationTsvOutputResultsFilePath="C:\temp\DMA\prices.tsv" 
/SkuRecommendationJsonOutputResultsFilePath="C:\temp\DMA\prices.json" 
/SkuRecommendationOutputResultsFilePath="C:\temp\DMA\prices.html" 
/SkuRecommendationPreventPriceRefresh=true&lt;/pre&gt;
&lt;p&gt;Term&amp;eacute;szetesen ezeket egy sorba kell tenni, akkor le is fog futni.&amp;nbsp;A param&amp;eacute;terek jelent&amp;eacute;se:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Action: ez a SkuRecommendation kell legyen.&lt;/li&gt;
&lt;li&gt;SkuRecommendationInputDataFilePath: az adatgyűjt&amp;eacute;s sor&amp;aacute;n gener&amp;aacute;lt csv file el&amp;eacute;r&amp;eacute;si &amp;uacute;tvonala.&lt;/li&gt;
&lt;li&gt;SkuRecommendationTsvOutputResultsFilePath:&amp;nbsp;ez lesz a&amp;nbsp;tsv&amp;nbsp;fomr&amp;aacute;tum&amp;uacute; kimeneti file el&amp;eacute;r&amp;eacute;si &amp;uacute;tvonala.&lt;/li&gt;
&lt;li&gt;SkuRecommendationJsonOutputResultsFilePath:&amp;nbsp;ez lesz a&amp;nbsp;json fomr&amp;aacute;tum&amp;uacute; kimeneti file el&amp;eacute;r&amp;eacute;si &amp;uacute;tvonala.&lt;/li&gt;
&lt;li&gt;SkuRecommendationOutputResultsFilePath: ez lesz a html fomr&amp;aacute;tum&amp;uacute; kimeneti file el&amp;eacute;r&amp;eacute;si &amp;uacute;tvonala. &amp;Eacute;n ezt fogom majd megmutatni itt.&lt;/li&gt;
&lt;li&gt;SkuRecommendationPreventPriceRefresh: amennyiben ez true, akkor offline, a DMA &amp;aacute;ltal ismert &amp;aacute;rakkal fog dolgozni.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Term&amp;eacute;szetesen nem kell minden kimeneti file t&amp;iacute;pust megadni, &amp;eacute;n most megadtam. A html output pedig ez lett:&lt;/p&gt;
&lt;p&gt;&lt;img src="https://www.iamberke.com/image.axd?picture=/images/posts/DMAv4_1.PNG" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;P&amp;aacute;r &amp;eacute;rdekes dologra szeretn&amp;eacute;m felh&amp;iacute;vni a figyelmet:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Amennyiben szeretn&amp;eacute;nk egy provisioning PowerShell scriptet elő&amp;aacute;ll&amp;iacute;tani, a subscription id, resource group, server name, admin username &amp;eacute;s password megad&amp;aacute;sa ut&amp;aacute;n a Generate Provisioning Script gomb megnyom&amp;aacute;s&amp;aacute;val ezt is elő lehet &amp;aacute;ll&amp;iacute;tani (műk&amp;ouml;dik!).&lt;/li&gt;
&lt;li&gt;A r&amp;eacute;gi&amp;oacute; v&amp;aacute;lt&amp;aacute;s is lehets&amp;eacute;ges, ebben az esetben az adott r&amp;eacute;gi&amp;oacute;ra vonatkoztatott &amp;aacute;rak jelennek meg.&lt;/li&gt;
&lt;li&gt;Lehet &amp;aacute;ll&amp;iacute;tani a szolg&amp;aacute;ltat&amp;aacute;si szinteken is, ebben az esetben az &amp;aacute;rak&amp;nbsp;v&amp;aacute;ltozhatnak.&lt;/li&gt;
&lt;li&gt;Ennek a bejegyz&amp;eacute;snek az &amp;iacute;r&amp;aacute;sakor a Microsoft ad kedvezm&amp;eacute;nyt, abban az esetben, ha van m&amp;aacute;r SQL Server licensz. Ekkor be kell pip&amp;aacute;lni az "I already have a SQL Server License" melletti checkbox-ot, majd a provisioning script-be is beker&amp;uuml;l a&amp;nbsp;AzureSqlDbProvisioningDatabaseLicenseIncluded=true kapcsol&amp;oacute; a DmaCmd.exe-hez. &amp;Iacute;gy a sz&amp;aacute;ml&amp;aacute;z&amp;aacute;sn&amp;aacute;l ezt is figyelembe fogja venni. Ez ut&amp;oacute;bbit m&amp;eacute;g nem ellenőriztem, p&amp;aacute;r napos ez a verzi&amp;oacute; ;).&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Online&amp;nbsp;ki&amp;eacute;rt&amp;eacute;kel&amp;eacute;s&lt;/h3&gt;
&lt;p&gt;Hol is kezdjem, a dokument&amp;aacute;ci&amp;oacute; nem igaz&amp;aacute;n bőbesz&amp;eacute;dű p&amp;aacute;r param&amp;eacute;ter hogyanj&amp;aacute;ra, &amp;iacute;gy ezt nekem kellett kit&amp;uacute;rni, nem volt egy egyszerű eset, de lehetetlen sem :) Online ki&amp;eacute;rt&amp;eacute;kel&amp;eacute;s alatt azt kell &amp;eacute;rteni, hogy az Azure előfizet&amp;eacute;s&amp;uuml;nk szerinti &amp;aacute;rakon ad k&amp;ouml;lts&amp;eacute;g becsl&amp;eacute;st, ehhez azonban hozz&amp;aacute; kell csatlakozni az előfizet&amp;eacute;s&amp;uuml;nkh&amp;ouml;z. L&amp;aacute;ssuk előbb a DmaCmd parancsot:&lt;/p&gt;
&lt;pre class="brush:ps;auto-links:false;toolbar:false" contenteditable="false"&gt;DmaCmd.exe /Action=SkuRecommendation 
/SkuRecommendationInputDataFilePath="C:\temp\DMA\counters_2016.csv" 
/SkuRecommendationTsvOutputResultsFilePath="C:\temp\DMA\prices_online.tsv" 
/SkuRecommendationJsonOutputResultsFilePath="C:\temp\DMA\prices_online.json" 
/SkuRecommendationOutputResultsFilePath="C:\temp\DMA\prices_online.html" 
/SkuRecommendationCurrencyCode=EUR 
/SkuRecommendationOfferName=MS-AZR-0044p  
/SkuRecommendationRegionName=WestEurope 
/SkuRecommendationSubscriptionId=&amp;lt;subscriptionid&amp;gt; 
/AzureAuthenticationInteractiveAuthentication=true 
/AzureAuthenticationClientId=&amp;lt;azureadappclientid&amp;gt; 
/AzureAuthenticationTenantId=&amp;lt;tenantid&amp;gt;&lt;/pre&gt;
&lt;p&gt;Itt nem minden param&amp;eacute;ter raktam be, csak azokat, amiket most itt meg szeretn&amp;eacute;k mutatni. A teljes param&amp;eacute;ter lista &lt;a href="https://docs.microsoft.com/en-us/sql/dma/dma-sku-recommend-sql-db"&gt;itt&lt;/a&gt; el&amp;eacute;rhető. L&amp;aacute;ssuk a fenti param&amp;eacute;tereket:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;SkuRecommendationInputDataFilePath: az adatgyűjt&amp;eacute;s sor&amp;aacute;n gener&amp;aacute;lt csv file el&amp;eacute;r&amp;eacute;si &amp;uacute;tvonala.&lt;/li&gt;
&lt;li&gt;SkuRecommendationTsvOutputResultsFilePath:&amp;nbsp;ez lesz a&amp;nbsp;tsv&amp;nbsp;fomr&amp;aacute;tum&amp;uacute; kimeneti file el&amp;eacute;r&amp;eacute;si &amp;uacute;tvonala.&lt;/li&gt;
&lt;li&gt;SkuRecommendationJsonOutputResultsFilePath:&amp;nbsp;ez lesz a&amp;nbsp;json&amp;nbsp;fomr&amp;aacute;tum&amp;uacute; kimeneti file el&amp;eacute;r&amp;eacute;si &amp;uacute;tvonala.&lt;/li&gt;
&lt;li&gt;SkuRecommendationOutputResultsFilePath: ez lesz a html fomr&amp;aacute;tum&amp;uacute; kimeneti file el&amp;eacute;r&amp;eacute;si &amp;uacute;tvonala. &amp;Eacute;n ezt fogom majd megmutatni itt.&lt;/li&gt;
&lt;li&gt;SkuRecommendationCurrencyCode: az &amp;aacute;rak p&amp;eacute;nzneme. Itt most EUR lesz.&lt;/li&gt;
&lt;li&gt;SkuRecommendationOfferName: &amp;aacute;raz&amp;aacute;st befoly&amp;aacute;sol&amp;oacute; aj&amp;aacute;nlat k&amp;oacute;dja. Itt most a free trial k&amp;oacute;d van be&amp;iacute;rva, de a teljes lista &lt;a href="https://azure.microsoft.com/hu-hu/support/legal/offer-details/"&gt;itt&lt;/a&gt; el&amp;eacute;rhető.&lt;/li&gt;
&lt;li&gt;SkuRecommendationRegionName: Azure adatk&amp;ouml;zpont r&amp;eacute;gi&amp;oacute; meghat&amp;aacute;roz&amp;aacute;sa, ami szint&amp;eacute;n befoly&amp;aacute;solhatja az &amp;aacute;rakat.&lt;/li&gt;
&lt;li&gt;SkuRecommendationSubscriptionId: ez az Azure előfizet&amp;eacute;s azonos&amp;iacute;t&amp;oacute;ja, l&amp;aacute;sd k&amp;eacute;sőbb.&lt;/li&gt;
&lt;li&gt;AzureAuthenticationInteractiveAuthentication: ebben az esetben egy felugr&amp;oacute; ablakban fogja bek&amp;eacute;rni az előfizet&amp;eacute;shez tartoz&amp;oacute;/sz&amp;uuml;ks&amp;eacute;ges felhaszn&amp;aacute;l&amp;oacute; azonos&amp;iacute;t&amp;oacute;t &amp;eacute;s jelsz&amp;oacute;t. Fentebb &amp;iacute;rtam, hogy t&amp;ouml;bb param&amp;eacute;ter is van, l&amp;eacute;tezik tan&amp;uacute;s&amp;iacute;tv&amp;aacute;ny alap&amp;uacute; hiteles&amp;iacute;t&amp;eacute;s is. Itt most az interakt&amp;iacute;v hiteles&amp;iacute;t&amp;eacute;st v&amp;aacute;lasztom.&lt;/li&gt;
&lt;li&gt;AzureAuthenticationClientId: ez lesz az Azure AD application azonos&amp;iacute;t&amp;oacute;ja, l&amp;aacute;sd k&amp;eacute;sőbb.&lt;/li&gt;
&lt;li&gt;AzureAuthenticationTenantId: ez a tenant id, l&amp;aacute;sd k&amp;eacute;sőbb.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Van itt p&amp;aacute;r param&amp;eacute;ter, amivel elősz&amp;ouml;r nem nagyon tudtam mit kezdeni &amp;eacute;s/vagy fogalmam sem volt, hogy&amp;nbsp;honnan kellene elővar&amp;aacute;zsolni. L&amp;aacute;ssuk ezeket.&lt;/p&gt;
&lt;h4&gt;SkuRecommendationSubscriptionId&amp;nbsp;&lt;/h4&gt;
&lt;p&gt;Ezt az inform&amp;aacute;ci&amp;oacute;t az Azure port&amp;aacute;lon lehet megtal&amp;aacute;lni, ehhez be kell jelentkezni a &lt;a href="https://portal.azure.com"&gt;https://portal.azure.com&lt;/a&gt;&amp;nbsp;oldalon, majd a bal oldali men&amp;uuml;ben ki kell v&amp;aacute;lasztani a Subscriptions men&amp;uuml;pontot &amp;eacute;s a jobb olalon a megjelenő előfizet&amp;eacute;sek list&amp;aacute;j&amp;aacute;ban a megfelelő sorb&amp;oacute;l a subscription id oszlopa kell. L&amp;aacute;sd al&amp;aacute;bb.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://www.iamberke.com/image.axd?picture=/images/posts/DMAv4_2.PNG" alt="" /&gt;&lt;/p&gt;
&lt;h4&gt;AzureAuthenticationClientId&lt;/h4&gt;
&lt;p&gt;Ezt az inform&amp;aacute;ci&amp;oacute;t m&amp;aacute;r nem volt olyan k&amp;ouml;nnyű előszedni, de ez is az Azure port&amp;aacute;lon bel&amp;uuml;l, a &lt;a href="https://portal.azure.com"&gt;https://portal.azure.com&lt;/a&gt;&amp;nbsp;bejelentkez&amp;eacute;s ut&amp;aacute;n meg lehet tal&amp;aacute;lni. Jajj, nem is :), meg kell csin&amp;aacute;lni, alkalmaz&amp;aacute;s regisztr&amp;aacute;ci&amp;oacute;t kell csin&amp;aacute;lni &amp;eacute;s jogosults&amp;aacute;got is kell adni. Ezt az al&amp;aacute;bbiak szerint lehet megcsin&amp;aacute;lni.&lt;/p&gt;
&lt;p&gt;Elősz&amp;ouml;r az Azure Active Directory men&amp;uuml;pontot, majd az App registration-t kell kiv&amp;aacute;lasztani, ott pedig a New application registration gombot kell megnyomni.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://www.iamberke.com/image.axd?picture=/images/posts/DMAv4_4.PNG" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;Ezek ut&amp;aacute;n meg kell adni az al&amp;aacute;bbi inform&amp;aacute;ci&amp;oacute;kat:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Name: ez lesz az alkalmaz&amp;aacute;s neve, &amp;eacute;n most azt adom neki, hogy DMAv4.&lt;/li&gt;
&lt;li&gt;Application Type: itt a Native opci&amp;oacute;t kell kiv&amp;aacute;lasztani.&lt;/li&gt;
&lt;li&gt;Redirect URI: ide szinte b&amp;aacute;rmit be&amp;iacute;rhatunk, ebben az esetben nem l&amp;eacute;nyeges. &amp;Eacute;n most&amp;nbsp;&lt;a href="http://DMAv4"&gt;http://DMAv4&lt;/a&gt;&amp;nbsp;adok meg.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Ezek ut&amp;aacute;n a Create gomb megnyom&amp;aacute;sa ut&amp;aacute;n l&amp;eacute;trej&amp;ouml;n az alkalmaz&amp;aacute;s.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://www.iamberke.com/image.axd?picture=/images/posts/DMAv4_5.PNG" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;Amint az alkalmaz&amp;aacute;s l&amp;eacute;trej&amp;ouml;tt, meg is kapjuk a hi&amp;aacute;nyz&amp;oacute; adatot az AzureAuthetnicationClientId param&amp;eacute;terhez, amit az alkalmaz&amp;aacute;s list&amp;aacute;ban az Application ID oszlopban tal&amp;aacute;lunk meg. Fontos, hogy v&amp;aacute;lasszuk ki a szűr&amp;eacute;sn&amp;eacute;l az All apps opci&amp;oacute;t is.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://www.iamberke.com/image.axd?picture=/images/posts/DMAv4_6.PNG" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;Ezzel meg is van ez a param&amp;eacute;ter is, de m&amp;eacute;g jogot is kell adni. Ehhez az al&amp;aacute;bbi l&amp;eacute;p&amp;eacute;sekre van sz&amp;uuml;ks&amp;eacute;g:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Nyissuk meg az előzőekben l&amp;eacute;trehozott alkalmaz&amp;aacute;st.&lt;/li&gt;
&lt;li&gt;Kattintsunk a Settings gombra, majd a Required Permission men&amp;uuml;pontra.&lt;/li&gt;
&lt;li&gt;A Required Permission r&amp;eacute;szen az Add gombot is nyomjuk meg.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src="https://www.iamberke.com/image.axd?picture=/images/posts/DMAv4_7.PNG" alt="" /&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Ezek ut&amp;aacute;n v&amp;aacute;lasszuk ki a Windows Azure Service Management API-t, majd nyomjuk meg a Select gombot.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src="https://www.iamberke.com/image.axd?picture=/images/posts/DMAv4_8.PNG" alt="" /&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;A Select Permissions r&amp;eacute;szn&amp;eacute;l v&amp;aacute;lasszuk ki a jogosults&amp;aacute;got.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src="https://www.iamberke.com/image.axd?picture=/images/posts/DMAv4_9.PNG" alt="" /&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;V&amp;eacute;g&amp;uuml;l a Grant Permission gomb megnyom&amp;aacute;s&amp;aacute;val lehet &amp;eacute;rv&amp;eacute;nyre hozni.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src="https://www.iamberke.com/image.axd?picture=/images/posts/DMAv4_10.PNG" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;Ezzel a megfelelő jogosults&amp;aacute;g is rendelkez&amp;eacute;sre &amp;aacute;ll a DmaCmd-nek.&lt;/p&gt;
&lt;h4&gt;AzureAuthenticationTenantId&lt;/h4&gt;
&lt;p&gt;Ezt az inform&amp;aacute;ci&amp;oacute;t is az Azure port&amp;aacute;lon lehet megtal&amp;aacute;lni, ehhez be kell jelentkezni a&amp;nbsp;&lt;a href="https://portal.azure.com/"&gt;https://portal.azure.com&lt;/a&gt;&amp;nbsp;oldalon, majd a bal oldali men&amp;uuml;ben ki kell v&amp;aacute;lasztani az Azure Active Directory men&amp;uuml;pontit, majd azon bel&amp;uuml;l a Properties &amp;eacute;s ez lesz a Directory ID. L&amp;aacute;sd al&amp;aacute;bb a k&amp;eacute;pen is. Ugye milyen k&amp;ouml;nnyű volt :)&lt;/p&gt;
&lt;p&gt;&lt;img src="https://www.iamberke.com/image.axd?picture=/images/posts/DMAv4_3.PNG" alt="" /&gt;&lt;/p&gt;
&lt;h2&gt;Korl&amp;aacute;tok&lt;/h2&gt;
&lt;p&gt;Sajnos a v4.0 verzi&amp;oacute;nak vannak korl&amp;aacute;tai:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;named instance nem t&amp;aacute;mogatott (m&amp;eacute;g), ez a DbConnectionString param&amp;eacute;tert &amp;eacute;rinti.&lt;/li&gt;
&lt;li&gt;r&amp;eacute;gebbi SQL verzi&amp;oacute;k eset&amp;eacute;n a performance counter adatgyűjt&amp;eacute;s hib&amp;aacute;ra futhat, mivel olyan m&amp;eacute;r&amp;eacute;seket &amp;aacute;ll&amp;iacute;tana be, ami a r&amp;eacute;gebbi verzi&amp;oacute;k eset&amp;eacute;n m&amp;eacute;g nincsennek.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Konkl&amp;uacute;zi&amp;oacute;&lt;/h2&gt;
&lt;p&gt;Alap esetekre nagyon j&amp;oacute; lehet ez az eszk&amp;ouml;z, főleg mert nem ig&amp;eacute;nyel "t&amp;uacute;l sok" időr&amp;aacute;ford&amp;iacute;t&amp;aacute;st, ellenben a korl&amp;aacute;tok miatt el&amp;eacute;g neh&amp;eacute;zkes lehet a haszn&amp;aacute;lata. V&amp;aacute;rhat&amp;oacute;an a visszajelz&amp;eacute;sek ment&amp;eacute;n, lesz &amp;uacute;jabb verzi&amp;oacute;, ami m&amp;aacute;r "minden ig&amp;eacute;nyt" ki fog el&amp;eacute;g&amp;iacute;teni. R&amp;eacute;szemről j&amp;oacute;nak tartom az eszk&amp;ouml;zt, de nem felt&amp;eacute;tlen olyan hat&amp;eacute;kony, mint egy teljes workload anal&amp;iacute;zis. Erre meg mindig azt kapom, hogy a t&amp;ouml;bbs&amp;eacute;gnek el&amp;eacute;g lesz ez is. Val&amp;oacute;ban, lehet &amp;iacute;gy van, de ettől f&amp;uuml;ggetlen&amp;uuml;l a kellő k&amp;ouml;r&amp;uuml;ltekint&amp;eacute;s fontos, mert SLA &amp;eacute;s p&amp;eacute;nz&amp;uuml;gyi oldalr&amp;oacute;l is igen &amp;eacute;rz&amp;eacute;kenyen &amp;eacute;rintheti az adott &amp;uuml;gyfelet.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Z&amp;aacute;r&amp;aacute;sk&amp;eacute;nt, hat&amp;aacute;rozottan aj&amp;aacute;nlom az online kalkul&amp;aacute;ci&amp;oacute;t, mert akkor kapjuk a pontosabb becsl&amp;eacute;st az &amp;aacute;rakra, mindig az aktu&amp;aacute;lis &amp;aacute;rakkal dolgozik ebben az esetben.&lt;/p&gt;</description>
      <link>https://www.iamberke.com/post/2018/08/24/onprem-adatbazisok-azure-koltseg-becslese-migralas-elott</link>
      <author>janos@nospam.iamberke.com</author>
      <comments>https://www.iamberke.com/post/2018/08/24/onprem-adatbazisok-azure-koltseg-becslese-migralas-elott#comment</comments>
      <guid>https://www.iamberke.com/post.aspx?id=d84ef788-19b0-4fce-b2c3-4ff694e5623a</guid>
      <pubDate>Fri, 24 Aug 2018 12:51:00 +0000</pubDate>
      <category>Azure SQL Database</category>
      <category>Azure SQL Managed Instance</category>
      <category>SQL Server</category>
      <dc:publisher>Janos</dc:publisher>
      <pingback:server>https://www.iamberke.com/pingback.axd</pingback:server>
      <pingback:target>https://www.iamberke.com/post.aspx?id=d84ef788-19b0-4fce-b2c3-4ff694e5623a</pingback:target>
      <slash:comments>0</slash:comments>
      <trackback:ping>https://www.iamberke.com/trackback.axd?id=d84ef788-19b0-4fce-b2c3-4ff694e5623a</trackback:ping>
      <wfw:comment>https://www.iamberke.com/post/2018/08/24/onprem-adatbazisok-azure-koltseg-becslese-migralas-elott#comment</wfw:comment>
      <wfw:commentRss>https://www.iamberke.com/syndication.axd?post=d84ef788-19b0-4fce-b2c3-4ff694e5623a</wfw:commentRss>
    </item>
    <item>
      <title>Lekérdezések futásának nyomonkövetése</title>
      <description>&lt;p&gt;7 &amp;eacute;vvel ezelőtt &amp;iacute;rtam egy &lt;a href="https://www.iamberke.com/post/2011/12/31/Hogyan-irjunk-ki-allapotinformaciot-hosszan-tarto-adatbazis-muveletnel"&gt;cikket&lt;/a&gt; m&amp;aacute;r erről, hogyan lehet &amp;aacute;llapot inform&amp;aacute;ci&amp;oacute;t kliens oldalon kiiratni. Ami miatt ism&amp;eacute;t előj&amp;ouml;tt, hogy ma is pr&amp;oacute;b&amp;aacute;lkoztam egy nagy batch futtat&amp;aacute;sakor, de a PRINT parancsot haszn&amp;aacute;ltam. Sajnos ennek van egy pici sz&amp;eacute;ps&amp;eacute;ghib&amp;aacute;ja: akkor jelen&amp;iacute;ti meg, adja vissza a sz&amp;ouml;veget, amikor az adott batch/lek&amp;eacute;rdez&amp;eacute;s lefutott. P&amp;eacute;ld&amp;aacute;ul:&lt;/p&gt;
&lt;pre class="brush:sql;auto-links:false;toolbar:false" contenteditable="false"&gt;PRINT 'valami';
WAITFOR DELAY '00:00:05';
PRINT 'valami';&lt;/pre&gt;
&lt;p&gt;Ez az első PRINT utas&amp;iacute;t&amp;aacute;sn&amp;aacute;l sem &amp;iacute;rja ki, megv&amp;aacute;rja, m&amp;iacute;g a batch befejeződik. Nem t&amp;uacute;l j&amp;oacute;. Kicsit v&amp;aacute;ltoztatok.&lt;/p&gt;
&lt;pre class="brush:sql;auto-links:false;toolbar:false" contenteditable="false"&gt;PRINT 'valami';
GO
WAITFOR DELAY '00:00:05';
PRINT 'valami';
WAITFOR DELAY '00:00:05';
PRINT 'valami';&lt;/pre&gt;
&lt;p&gt;Itt a GO elv&amp;aacute;laszt&amp;oacute; miatt az első PRINT ki&amp;iacute;r&amp;aacute;sra ker&amp;uuml;l, a m&amp;aacute;sik kettő csak 10 m&amp;aacute;sodperc ut&amp;aacute;n. Helyette ink&amp;aacute;bb a RAISERROR lenne a j&amp;oacute;, ha egy batch-en bel&amp;uuml;l akarom k&amp;ouml;vetni, hogy hol tart a k&amp;oacute;d. Pl.:&lt;/p&gt;
&lt;pre class="brush:sql;auto-links:false;toolbar:false" contenteditable="false"&gt;RAISERROR('valami', 10,1) WITH NOWAIT
WAITFOR DELAY '00:00:05';
RAISERROR('valami', 10,1) WITH NOWAIT
WAITFOR DELAY '00:00:05';&lt;/pre&gt;
&lt;p&gt;Ebben az esetben az első ki&amp;iacute;r&amp;aacute;s r&amp;ouml;gt&amp;ouml;n megt&amp;ouml;rt&amp;eacute;nik, majd a m&amp;aacute;sodik 5 m&amp;aacute;sodperc ut&amp;aacute;n, nem a v&amp;eacute;g&amp;eacute;n. Fontos, hogy kell a WITH NOWAIT.&lt;/p&gt;</description>
      <link>https://www.iamberke.com/post/2018/08/04/lekerdezesek-futasanak-nyomonkovetese</link>
      <author>janos@nospam.iamberke.com</author>
      <comments>https://www.iamberke.com/post/2018/08/04/lekerdezesek-futasanak-nyomonkovetese#comment</comments>
      <guid>https://www.iamberke.com/post.aspx?id=65880838-9a92-45fe-9ed3-1a6b60f5a86a</guid>
      <pubDate>Sat, 4 Aug 2018 15:13:00 +0000</pubDate>
      <category>Development</category>
      <category>SQL Server</category>
      <dc:publisher>Janos</dc:publisher>
      <pingback:server>https://www.iamberke.com/pingback.axd</pingback:server>
      <pingback:target>https://www.iamberke.com/post.aspx?id=65880838-9a92-45fe-9ed3-1a6b60f5a86a</pingback:target>
      <slash:comments>0</slash:comments>
      <trackback:ping>https://www.iamberke.com/trackback.axd?id=65880838-9a92-45fe-9ed3-1a6b60f5a86a</trackback:ping>
      <wfw:comment>https://www.iamberke.com/post/2018/08/04/lekerdezesek-futasanak-nyomonkovetese#comment</wfw:comment>
      <wfw:commentRss>https://www.iamberke.com/syndication.axd?post=65880838-9a92-45fe-9ed3-1a6b60f5a86a</wfw:commentRss>
    </item>
    <item>
      <title>Újra Data Platform MVP lettem</title>
      <description>&lt;p&gt;J&amp;uacute;lius 1 a Microsoftn&amp;aacute;l mindig is egy &amp;eacute;rdekes d&amp;aacute;tum volt, ilyenkor hirdetik ki, hogy kik lettek az &amp;uacute;j vagy a r&amp;eacute;giek k&amp;ouml;z&amp;uuml;l kik lettek meg&amp;uacute;j&amp;iacute;tva az MVP (Most Valuable Professional) programban. &amp;Eacute;n azon szerencs&amp;eacute;sek k&amp;ouml;z&amp;eacute; tartozom, akiket d&amp;iacute;jazott a Microsoft, id&amp;eacute;n m&amp;aacute;r 4. alkalommal. Sajnos a program v&amp;aacute;ltoz&amp;aacute;sai miatt a magyarorsz&amp;aacute;gi MVP k&amp;ouml;z&amp;ouml;ss&amp;eacute;g 18 tagj&amp;aacute;b&amp;oacute;l csak 11-en maradtunk. Erről t&amp;ouml;bben is &amp;iacute;rtak blog bejegyz&amp;eacute;st, pl G&amp;aacute;l Tam&amp;aacute;s (&lt;a href="https://galtamas.blog/2018/07/01/a-szoksos-mvp-cm-megjts-most-elmarad/"&gt;itt&lt;/a&gt;), az egyik legr&amp;eacute;gebbi, ha nem a legr&amp;eacute;gebbi MVP, illetve R&amp;eacute;czi G&amp;aacute;bor is (&lt;a href="https://reczigabor.wordpress.com/2018/07/02/aki-mvp-volt-orokke-az-is-marad/"&gt;itt&lt;/a&gt;).&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
      <link>https://www.iamberke.com/post/2018/07/02/ujra-data-platform-mvp-lettem</link>
      <author>janos@nospam.iamberke.com</author>
      <comments>https://www.iamberke.com/post/2018/07/02/ujra-data-platform-mvp-lettem#comment</comments>
      <guid>https://www.iamberke.com/post.aspx?id=c7ef4c72-ea03-4f0d-bd5f-93075ada2b7b</guid>
      <pubDate>Mon, 2 Jul 2018 09:58:00 +0000</pubDate>
      <dc:publisher>Janos</dc:publisher>
      <pingback:server>https://www.iamberke.com/pingback.axd</pingback:server>
      <pingback:target>https://www.iamberke.com/post.aspx?id=c7ef4c72-ea03-4f0d-bd5f-93075ada2b7b</pingback:target>
      <slash:comments>0</slash:comments>
      <trackback:ping>https://www.iamberke.com/trackback.axd?id=c7ef4c72-ea03-4f0d-bd5f-93075ada2b7b</trackback:ping>
      <wfw:comment>https://www.iamberke.com/post/2018/07/02/ujra-data-platform-mvp-lettem#comment</wfw:comment>
      <wfw:commentRss>https://www.iamberke.com/syndication.axd?post=c7ef4c72-ea03-4f0d-bd5f-93075ada2b7b</wfw:commentRss>
    </item>
    <item>
      <title>SQL Server Error Log betöltése adatbázisba</title>
      <description>&lt;p&gt;Szeretem az SQL Server Error Log-ot, azonban van vele n&amp;eacute;mi probl&amp;eacute;ma. Nem mindig azon a szerveren kellene megn&amp;eacute;znem &amp;eacute;s/vagy keresnem a tartalm&amp;aacute;ban, ahol az van, &amp;iacute;gy j&amp;oacute; lenne, ha be lehetne t&amp;ouml;lteni ezt adatb&amp;aacute;zisba. Igen, tudom, ott van az &lt;a href="https://www.iamberke.com/page/xp_readerrorlog"&gt;xp_readerrorlog &lt;/a&gt;&amp;eacute;s az &lt;a href="https://www.iamberke.com/page/sp_readerrorlog"&gt;sp_readerrorlog&lt;/a&gt;, de ezekn&amp;eacute;l egy komplexebb szűr&amp;eacute;s nem nagyon lehets&amp;eacute;ges. Arr&amp;oacute;l nem is besz&amp;eacute;lve, hogy vannak olyan bejegyz&amp;eacute;sek, amik t&amp;ouml;bb sort foglalnak el. A m&amp;aacute;sik probl&amp;eacute;m&amp;aacute;m ezekkel (is) az volt, hogy t&amp;ouml;bb szerverről, ak&amp;aacute;r t&amp;ouml;bb tucat error log bet&amp;ouml;lt&amp;eacute;se az SSMS-be nem igaz&amp;aacute;n lehets&amp;eacute;ges. &amp;Eacute;ppen ez&amp;eacute;rt k&amp;eacute;sz&amp;iacute;tettem egy PowerShell scriptet, amit kiraktam a Github-ra, ezen a linken el&amp;eacute;rhető: &lt;a href="http://bit.ly/ErrorLogParser"&gt;http://bit.ly/ErrorLogParser&lt;/a&gt;.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;A param&amp;eacute;terek megad&amp;aacute;sa ut&amp;aacute;n az eredm&amp;eacute;ny m&amp;aacute;r &amp;ouml;nmag&amp;aacute;&amp;eacute;rt besz&amp;eacute;l: az al&amp;aacute;bbi lek&amp;eacute;rdez&amp;eacute;ssel pl az error bejegyz&amp;eacute;seket kerestem meg &amp;eacute;s rendeltem &amp;ouml;ssze a hiba&amp;uuml;zenettel.&lt;/p&gt;
&lt;pre class="brush:sql;auto-links:false;toolbar:false" contenteditable="false"&gt;SELECT [log_date]
      ,[source]
      ,[message]
	 ,CAST(SUBSTRING([message], 7, CHARINDEX(',', [message])-7) AS int) AS ErrorCode
	 ,m.text
  FROM [dbo].[ErrorLog] e
  JOIN
    sys.messages m ON m.message_id = CAST(SUBSTRING([message], 7, CHARINDEX(',', [message])-7) AS int) AND [language_id] = 1033
  where message like '%error:%' and [source] &amp;lt;&amp;gt; 'Backup'&lt;/pre&gt;
&lt;p&gt;&lt;img src="https://www.iamberke.com/image.axd?picture=/images/posts/errorlog1.PNG" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;Tudom, ez a k&amp;oacute;d nem a legszebb, de ez egy k&amp;eacute;sz&amp;uuml;lőben l&amp;eacute;vő eszk&amp;ouml;z&amp;ouml;m első lek&amp;eacute;rdez&amp;eacute;se, van m&amp;eacute;g mit faragni rajta, de m&amp;eacute;gis, m&amp;eacute;g mindig jobb, mint amikkel szoktam &amp;eacute;les k&amp;ouml;rnyezetben tal&amp;aacute;lkozni :D&lt;/p&gt;
&lt;p&gt;A l&amp;eacute;nyeg: ez a k&amp;oacute;d műk&amp;ouml;dik SQL Server 2005 verzi&amp;oacute;t&amp;oacute;l eg&amp;eacute;szen a mai napon publikusan el&amp;eacute;rhető verzi&amp;oacute;kkal,de Azure nem :)&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
      <link>https://www.iamberke.com/post/2018/06/17/sql-server-error-log-betoltese-adatbazisba</link>
      <author>janos@nospam.iamberke.com</author>
      <comments>https://www.iamberke.com/post/2018/06/17/sql-server-error-log-betoltese-adatbazisba#comment</comments>
      <guid>https://www.iamberke.com/post.aspx?id=dfc259bd-20f9-4503-9bd5-5f6e7a9fc68d</guid>
      <pubDate>Sun, 17 Jun 2018 13:18:00 +0000</pubDate>
      <category>SQL Server</category>
      <dc:publisher>Janos</dc:publisher>
      <pingback:server>https://www.iamberke.com/pingback.axd</pingback:server>
      <pingback:target>https://www.iamberke.com/post.aspx?id=dfc259bd-20f9-4503-9bd5-5f6e7a9fc68d</pingback:target>
      <slash:comments>0</slash:comments>
      <trackback:ping>https://www.iamberke.com/trackback.axd?id=dfc259bd-20f9-4503-9bd5-5f6e7a9fc68d</trackback:ping>
      <wfw:comment>https://www.iamberke.com/post/2018/06/17/sql-server-error-log-betoltese-adatbazisba#comment</wfw:comment>
      <wfw:commentRss>https://www.iamberke.com/syndication.axd?post=dfc259bd-20f9-4503-9bd5-5f6e7a9fc68d</wfw:commentRss>
    </item>
  </channel>
</rss>