{"id":3018,"date":"2021-04-12T08:00:00","date_gmt":"2021-04-12T05:00:00","guid":{"rendered":"https:\/\/www.dataplatform.gr\/?p=3018"},"modified":"2025-01-15T14:35:37","modified_gmt":"2025-01-15T11:35:37","slug":"pos-kanoyme-sosti-egkatastasi-sqlserver","status":"publish","type":"post","link":"https:\/\/www.dataplatform.gr\/en\/pos-kanoyme-sosti-egkatastasi-sqlserver\/","title":{"rendered":"How to properly install SQL Server"},"content":{"rendered":"<p>In this article we will analyze how a new installation should be done <strong>SQL Server<\/strong> step by step. Specifically we will see the setup for<strong> SQL Server 2019<\/strong>. We will also see what we need to have done before starting the installation and what we need to pay attention to in order to have as much security and performance as possible.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Prerequisites<\/h2>\n\n\n\n<p>We should download the setup to install SQL Server 2019. We find it directly from Microsoft <a href=\"https:\/\/www.microsoft.com\/en-us\/sql-server\/sql-server-downloads\" target=\"_blank\" rel=\"noreferrer noopener\">here<\/a>.<\/p>\n\n\n\n<p>For installation we will need one <strong>local admin<\/strong> account with which we will connect before running the setup.<\/p>\n\n\n\n<p>As a minimum, it should have the following rights:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Act as part of the operating system<\/li>\n\n\n\n<li>Backup Files &amp; Directories<\/li>\n\n\n\n<li>Debug Programs<\/li>\n\n\n\n<li>Manage Auditing &amp; Security Log<\/li>\n<\/ul>\n\n\n\n<p><\/p>\n\n\n\n<p>To bring up the Database Engine and Agent <strong>services<\/strong> we will need <em>Active Directory Domain Service Account<\/em> the <em>Managed Service Account<\/em> with the following rights:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Act as part of the operating system<\/li>\n\n\n\n<li>Lock Pages in Memory<\/li>\n\n\n\n<li>Perform Volume Maintenance Tasks<\/li>\n\n\n\n<li>Bypass Traverse Checking<\/li>\n\n\n\n<li>Replace A Process Level Token<\/li>\n\n\n\n<li>Adjust Memory Quotas For A Process<\/li>\n<\/ul>\n\n\n\n<p><\/p>\n\n\n\n<p>We will also need separate disks that will help us in the management and depending on what storage we have maybe also in the performance.<\/p>\n\n\n\n<p>The disks should be partitioned as follows:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>In the <strong>C<\/strong> drive will be the installation other than the SQL Server OS and binaries.<\/li>\n\n\n\n<li>In the <strong>D <\/strong>drive we will have the datafiles of the user databases and if we don&#039;t have a separate disk for the backups we can also put them in a folder there (usually we transfer the backups to a backup server so we don&#039;t always need a separate disk on the machine itself).<\/li>\n\n\n\n<li>In the <strong>L <\/strong>drive we will have the transaction log files.<\/li>\n\n\n\n<li>In the <strong>S <\/strong>drive we will have the files of the system databases (master, msdb, model).<\/li>\n\n\n\n<li>In the <strong>T <\/strong>drive we will have the files of the system database TempDB which is recreated every time the SQL Server instance starts.<\/li>\n<\/ul>\n\n\n\n<p><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"577\" src=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2021\/03\/ns-03-1024x577.png\" alt=\"\" class=\"wp-image-3020\" srcset=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2021\/03\/ns-03-1024x577.png 1024w, https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2021\/03\/ns-03-300x169.png 300w, https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2021\/03\/ns-03-768x432.png 768w, https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2021\/03\/ns-03.png 1119w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">1<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">The installation<\/h2>\n\n\n\n<p>Starting the setup we will go to the tab <strong><em>Installation<\/em> <\/strong>and we will choose the first option <em><strong>New SQL Server stand-alone installation or add features to an existing installation<\/strong><\/em>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"786\" height=\"593\" src=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2021\/03\/ns-04.png\" alt=\"\" class=\"wp-image-3021\" srcset=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2021\/03\/ns-04.png 786w, https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2021\/03\/ns-04-300x226.png 300w, https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2021\/03\/ns-04-768x579.png 768w\" sizes=\"auto, (max-width: 786px) 100vw, 786px\" \/><figcaption class=\"wp-element-caption\">2<\/figcaption><\/figure>\n\n\n\n<p>On the next screen, wait for the checks to be OK and press OK.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"806\" height=\"608\" src=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2021\/03\/ns-05.png\" alt=\"\" class=\"wp-image-3022\" srcset=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2021\/03\/ns-05.png 806w, https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2021\/03\/ns-05-300x226.png 300w, https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2021\/03\/ns-05-768x579.png 768w\" sizes=\"auto, (max-width: 806px) 100vw, 806px\" \/><figcaption class=\"wp-element-caption\">3<\/figcaption><\/figure>\n\n\n\n<p>On the next screen we select the first option <strong><em>Perform a new installation of SQL Server 2019<\/em><\/strong>, the second is if we want to add a feature to a previous installation, eg Polybase.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"806\" height=\"608\" src=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2021\/03\/ns-06.png\" alt=\"\" class=\"wp-image-3023\" srcset=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2021\/03\/ns-06.png 806w, https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2021\/03\/ns-06-300x226.png 300w, https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2021\/03\/ns-06-768x579.png 768w\" sizes=\"auto, (max-width: 806px) 100vw, 806px\" \/><figcaption class=\"wp-element-caption\">4<\/figcaption><\/figure>\n\n\n\n<p>On the next screen we choose the version to install, for the example I will choose <strong>Developer <\/strong>which is free for trial purposes. Depending on the version we install there are different costs and different features are activated. Only the version is free for production use <strong>Express <\/strong>which has several limitations.<\/p>\n\n\n\n<p>We can read the differences per version in detail <a href=\"https:\/\/docs.microsoft.com\/en-us\/sql\/sql-server\/editions-and-components-of-sql-server-version-15?view=sql-server-ver15\" target=\"_blank\" rel=\"noreferrer noopener\">here<\/a>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"806\" height=\"608\" src=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2021\/03\/ns-07.png\" alt=\"\" class=\"wp-image-3024\" srcset=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2021\/03\/ns-07.png 806w, https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2021\/03\/ns-07-300x226.png 300w, https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2021\/03\/ns-07-768x579.png 768w\" sizes=\"auto, (max-width: 806px) 100vw, 806px\" \/><figcaption class=\"wp-element-caption\">5<\/figcaption><\/figure>\n\n\n\n<p>In the next tab we select them <em><strong>Database Engine Services<\/strong><\/em>. The other features are optional.<\/p>\n\n\n\n<p>The <strong>instance root directory<\/strong> defines where the system databases will be installed, there we define them as a separate disk, e.g<em><strong> S:\\<\/strong><\/em><strong><em>systemdb\\<\/em><\/strong>:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"804\" height=\"710\" src=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2021\/04\/ns-08.png\" alt=\"\" class=\"wp-image-4695\" srcset=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2021\/04\/ns-08.png 804w, https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2021\/04\/ns-08-300x265.png 300w, https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2021\/04\/ns-08-768x678.png 768w\" sizes=\"auto, (max-width: 804px) 100vw, 804px\" \/><figcaption class=\"wp-element-caption\">6<\/figcaption><\/figure>\n\n\n\n<p>Then we choose whether to use it <strong>default instance<\/strong> and we will connect with it <strong><em>servername<\/em><\/strong> or we will use <strong>named instance<\/strong> and we will connect with <em><strong>servername\\instancename<\/strong><\/em>. We leave it at default.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"968\" height=\"1024\" src=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2021\/03\/ns-09-968x1024.png\" alt=\"\" class=\"wp-image-3026\" srcset=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2021\/03\/ns-09-968x1024.png 968w, https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2021\/03\/ns-09-284x300.png 284w, https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2021\/03\/ns-09-768x813.png 768w, https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2021\/03\/ns-09.png 983w\" sizes=\"auto, (max-width: 968px) 100vw, 968px\" \/><figcaption class=\"wp-element-caption\">7<\/figcaption><\/figure>\n\n\n\n<p>On the next screen we define the <strong>service accounts<\/strong> which will raise the Database Engine service and the Agent (which runs the jobs). There we should use the service account we created in the prerequisites. Then we put the startup type to <strong>Automatic<\/strong> so that the services stand up by themselves in case of e.g. restart the machine.<\/p>\n\n\n\n<p><em>*In the event that the service account has not yet been set up for us and we leave the local default, we select it <strong>Grant Perform Volume Maintenance Task<\/strong>.<\/em><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"968\" height=\"1024\" src=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2021\/03\/ns-10-968x1024.png\" alt=\"\" class=\"wp-image-3027\" srcset=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2021\/03\/ns-10-968x1024.png 968w, https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2021\/03\/ns-10-284x300.png 284w, https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2021\/03\/ns-10-768x813.png 768w, https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2021\/03\/ns-10.png 983w\" sizes=\"auto, (max-width: 968px) 100vw, 968px\" \/><figcaption class=\"wp-element-caption\">8<\/figcaption><\/figure>\n\n\n\n<p>In the second tab with the <strong>Collation <\/strong>we put it <strong>Greek_CI_AS <\/strong>(the default encoding that the bases will have). To select this we select <em><strong>Customize<\/strong><\/em>, <em><strong>Greek <\/strong><\/em>and <em><strong>Okay<\/strong><\/em>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"968\" height=\"1024\" src=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2021\/03\/ns-11-968x1024.png\" alt=\"\" class=\"wp-image-3028\" srcset=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2021\/03\/ns-11-968x1024.png 968w, https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2021\/03\/ns-11-284x300.png 284w, https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2021\/03\/ns-11-768x812.png 768w, https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2021\/03\/ns-11.png 976w\" sizes=\"auto, (max-width: 968px) 100vw, 968px\" \/><figcaption class=\"wp-element-caption\">9<\/figcaption><\/figure>\n\n\n\n<p>On the next screen in the tab <strong><em>Server Configuration<\/em><\/strong> define how we will login to the instance. We choose <strong><em>add current user<\/em><\/strong> so that the user with whom we install is <strong>super admin<\/strong>. Also we can choose <strong><em>mixed mode<\/em><\/strong> so we can add one <strong>sql login (sa) <\/strong>which will be super admin.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"966\" height=\"708\" src=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2021\/03\/ns-12.png\" alt=\"\" class=\"wp-image-3029\" srcset=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2021\/03\/ns-12.png 966w, https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2021\/03\/ns-12-300x220.png 300w, https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2021\/03\/ns-12-768x563.png 768w\" sizes=\"auto, (max-width: 966px) 100vw, 966px\" \/><figcaption class=\"wp-element-caption\">10<\/figcaption><\/figure>\n\n\n\n<p>In the tab <strong><em>Data <\/em><\/strong><em><strong>Directories<\/strong> <\/em>we define on which disk everything will be saved as default. In the first field the root folder of all the path (since each one will be on a different disk it doesn&#039;t matter), in the second which will be the database files of the user databases, in the third which will be the transaction log files of the user databases and in the last what will be the location for when we backup.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"966\" height=\"708\" src=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2021\/03\/ns-13.png\" alt=\"\" class=\"wp-image-3030\" srcset=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2021\/03\/ns-13.png 966w, https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2021\/03\/ns-13-300x220.png 300w, https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2021\/03\/ns-13-768x563.png 768w\" sizes=\"auto, (max-width: 966px) 100vw, 966px\" \/><figcaption class=\"wp-element-caption\">11<\/figcaption><\/figure>\n\n\n\n<p>In the tab <strong><em>TempDB<\/em><\/strong> we remove that it can have and <em><strong>Add<\/strong> <\/em>the path with the disk that tempDB will create, in our case on the drive <strong>T<\/strong>. We also put the corresponding path for the tempDB transaction log file.<\/p>\n\n\n\n<p>By default we see that it has chosen to create 8 datafiles for tempDB, we don&#039;t need to bother with it.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"966\" height=\"708\" src=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2021\/03\/ns-14.png\" alt=\"\" class=\"wp-image-3031\" srcset=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2021\/03\/ns-14.png 966w, https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2021\/03\/ns-14-300x220.png 300w, https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2021\/03\/ns-14-768x563.png 768w\" sizes=\"auto, (max-width: 966px) 100vw, 966px\" \/><figcaption class=\"wp-element-caption\">12<\/figcaption><\/figure>\n\n\n\n<p>In the tab <strong><em>MaxDOP <\/em><\/strong>we define the maximum degree of parallelism in cpu logical cores of a query. To <strong>SQL Server 2019<\/strong> it recommends us by itself, e.g. with 8 logical cores it recommends us <em><strong>Max DOP 8<\/strong><\/em>. But if we have installed on the same machine <strong>and another instance <\/strong>we would not want it to be able to use 8 logical cores and maybe 4 is better. Also we should remember that if we give <strong>above logical cores<\/strong> on the machine it will never use more than 4, so if we want it to use up to as many logical cores as it has without changing the setting, we should set it to 0.<\/p>\n\n\n\n<p>We can see in detail what price Microsoft proposes per case <a href=\"https:\/\/docs.microsoft.com\/en-us\/sql\/database-engine\/configure-windows\/configure-the-max-degree-of-parallelism-server-configuration-option?view=sql-server-ver15#Recommendations\" target=\"_blank\" rel=\"noreferrer noopener\">here<\/a>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"966\" height=\"708\" src=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2021\/03\/ns-15.png\" alt=\"\" class=\"wp-image-3032\" srcset=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2021\/03\/ns-15.png 966w, https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2021\/03\/ns-15-300x220.png 300w, https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2021\/03\/ns-15-768x563.png 768w\" sizes=\"auto, (max-width: 966px) 100vw, 966px\" \/><figcaption class=\"wp-element-caption\">13<\/figcaption><\/figure>\n\n\n\n<p>In the tab <strong><em>Memory<\/em><\/strong> we define it <strong><em>Max Server Memory (RAM)<\/em><\/strong> which the SQL Server instance will use. An instance when it starts takes up space from the memory and when needed it takes up more, which will only be released when we restart the instance.<\/p>\n\n\n\n<p>We always leave at least 4 GB free for the operating system.<\/p>\n\n\n\n<p>In the example we have 16 GB of RAM and it suggests 12 GB. Of course, if we have multiple instances, we should divide this 12 accordingly. We also define 1024 MB so that the instance with which it starts occupies this memory from the beginning (<em>Min Server Memory<\/em>).<\/p>\n\n\n\n<p><em>*In order for it to accept the values we entered, we must also select the checkbox.<\/em><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"966\" height=\"708\" src=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2021\/03\/ns-16.png\" alt=\"\" class=\"wp-image-3033\" srcset=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2021\/03\/ns-16.png 966w, https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2021\/03\/ns-16-300x220.png 300w, https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2021\/03\/ns-16-768x563.png 768w\" sizes=\"auto, (max-width: 966px) 100vw, 966px\" \/><figcaption class=\"wp-element-caption\">14<\/figcaption><\/figure>\n\n\n\n<p>Then, after making sure from the Summary that we didn&#039;t forget anything, we proceed to <strong>Install<\/strong>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"966\" height=\"708\" src=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2021\/03\/ns-17.png\" alt=\"\" class=\"wp-image-3034\" srcset=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2021\/03\/ns-17.png 966w, https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2021\/03\/ns-17-300x220.png 300w, https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2021\/03\/ns-17-768x563.png 768w\" sizes=\"auto, (max-width: 966px) 100vw, 966px\" \/><figcaption class=\"wp-element-caption\">15<\/figcaption><\/figure>\n\n\n\n<p><strong><em>To now connect to the SQL Server Instance<\/em><\/strong> we can do it beyond <strong><em>Command Prompt<\/em><\/strong> with its use <a href=\"https:\/\/docs.microsoft.com\/en-us\/sql\/ssms\/download-sql-server-management-studio-ssms?view=sql-server-ver15\" target=\"_blank\" rel=\"noreferrer noopener\">SQL Server Management Studio<\/a>  (DBA oriented) or with the <a href=\"https:\/\/docs.microsoft.com\/en-us\/sql\/azure-data-studio\/download-azure-data-studio?view=sql-server-2017\" target=\"_blank\" rel=\"noreferrer noopener\">Azure Data Studio<\/a> (Developer\/Analyst oriented).<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Patching with the latest update<\/h2>\n\n\n\n<p>But we are not finished here. We should install the latest<strong> Cumulative Update<\/strong> which fixes bugs and security risks that have arisen (it can also add new features). <\/p>\n\n\n\n<p>We can download directly from Microsoft the latest for the <strong>SQL Server 2019 <\/strong>from <a href=\"https:\/\/www.microsoft.com\/en-us\/download\/details.aspx?id=100809\" target=\"_blank\" rel=\"noreferrer noopener\">here<\/a>. <\/p>\n\n\n\n<p>The process is very simple with a next next Wizard.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">How we connect remotely<\/h2>\n\n\n\n<p>We finished the installation but we want to connect. <\/p>\n\n\n\n<p>In order to be able to connect online from another computer, besides of course we should have opened the <em><strong>firewall <\/strong><\/em>the doors <em><strong>1433\/1434<\/strong><\/em> which are the defaults. <\/p>\n\n\n\n<p>Also we should go to the tool <em><strong>Sql Server Configuration Manager<\/strong><\/em> which was installed with SQL Server.<\/p>\n\n\n\n<p>Let&#039;s go to the tab <em><strong>Protocols for...<\/strong> <\/em> under the <strong><em>SQL Server Network Configuration<\/em><\/strong>. There we choose it <em><strong>TCP\/IP<\/strong><\/em> and on the tab <strong><em>Protocol <\/em><\/strong>in the <em><strong>Enabled <\/strong><\/em>we put <strong><em>Yes<\/em><\/strong> (if not already) .<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"697\" height=\"674\" src=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2021\/03\/ns-01.png\" alt=\"\" class=\"wp-image-3035\" srcset=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2021\/03\/ns-01.png 697w, https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2021\/03\/ns-01-300x290.png 300w\" sizes=\"auto, (max-width: 697px) 100vw, 697px\" \/><figcaption class=\"wp-element-caption\">16<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Security through obscurity<\/h2>\n\n\n\n<p>As we said before the default port of SQL Server is <strong>1433<\/strong>. But we can<strong> let&#039;s change it<\/strong> so that someone who simply puts in the connection cannot connect <strong><em>servername <\/em><\/strong>and need the servername and a port that he won&#039;t know what it is. e.g <em><strong>servername, 1833<\/strong><\/em>.<\/p>\n\n\n\n<p>To make this change to the tool <em><strong>Sql Server Configuration Manager<\/strong><\/em> which we saw before. Go to the tab <em><strong>Protocols for...<\/strong> <\/em> under the <strong><em>SQL Server Network Configuration<\/em><\/strong>. There we choose it <em><strong>TCP\/IP<\/strong><\/em> and on the tab <strong><em>IP Addresses <\/em><\/strong>in all the TCP Port fields we define the port we want.<\/p>\n\n\n\n<p><em>*Don&#039;t forget to open this door in the firewall as well.<\/em><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"731\" height=\"720\" src=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2021\/03\/ns-02.png\" alt=\"\" class=\"wp-image-3036\" srcset=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2021\/03\/ns-02.png 731w, https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2021\/03\/ns-02-300x295.png 300w\" sizes=\"auto, (max-width: 731px) 100vw, 731px\" \/><figcaption class=\"wp-element-caption\">17<\/figcaption><\/figure>\n\n\n\n<p>For these changes to take effect we must go to the tab <strong><em>SQL Server Services <\/em><\/strong>find the Database Engine service and right-click <em><strong>Restart<\/strong><\/em>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"946\" height=\"715\" src=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2021\/03\/ns-18.png\" alt=\"\" class=\"wp-image-3040\" srcset=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2021\/03\/ns-18.png 946w, https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2021\/03\/ns-18-300x227.png 300w, https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2021\/03\/ns-18-768x580.png 768w\" sizes=\"auto, (max-width: 946px) 100vw, 946px\" \/><figcaption class=\"wp-element-caption\">18<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Some more Performance Tweaks Recommendations<\/h2>\n\n\n\n<p>In addition to the choices we made during the installation with the graphic, for the best possible performance you suggest we tease with T-SQL two other parameters.<\/p>\n\n\n\n<p> One is the <a href=\"https:\/\/docs.microsoft.com\/en-us\/sql\/database-engine\/configure-windows\/configure-the-cost-threshold-for-parallelism-server-configuration-option?view=sql-server-ver15\" target=\"_blank\" rel=\"noreferrer noopener\">cost threshold for parallelism<\/a> which defines by how much <strong><em>&quot;cost&quot;*<\/em> <\/strong>and above allows a query to open parallel. When the value is low, SQL Server creates a plan for parallel execution and on <em><strong>&quot;light&quot;<\/strong><\/em> queries. This can result in <strong>one thread waiting for the other to finish <\/strong>to return the result of the query. We see this delay as <strong><em>CXPACKET <\/em><\/strong>wait type. For this reason, you suggest changing the value from 5, which is the default, to 50.<\/p>\n\n\n\n<p><em>*The &quot;cost&quot; is the estimated seconds that the query would take if it ran serially without parallelism, but not on our own Server but on some old machine that Microsoft had specified at the time.<\/em><\/p>\n\n\n\n<p>Also the parameter <a href=\"https:\/\/docs.microsoft.com\/en-us\/sql\/database-engine\/configure-windows\/blocked-process-threshold-server-configuration-option?view=sql-server-ver15\" target=\"_blank\" rel=\"noreferrer noopener\">blocked process threshold<\/a> which defines how long blocking will be recorded by alerts, profilers and extended events related to blocking. Setting as 10 <strong>it will only record blockings that lasted longer than 10 seconds<\/strong>. We need it if we want e.g. to record the blockings as we have seen in the article <a href=\"https:\/\/www.dataplatform.gr\/en\/pos-syllegoyme-blocking-queries-meso-extended-event-kai-pos-diav\/\" target=\"_blank\" rel=\"noreferrer noopener\">here<\/a>.<\/p>\n\n\n\n<p>To apply these changes, we run the following in a query window on the instance:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"sql\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\" data-no-translation=\"\" data-no-auto-translation=\"\">EXEC sp_configure 'show advanced options', 1;\nRECONFIGURE WITH OVERRIDE;\nEXEC sp_configure 'cost threshold for parallelism', 50;\nRECONFIGURE WITH OVERRIDE;\nEXEC sp_configure 'blocked process threshold (s)', 10;\nRECONFIGURE WITH OVERRIDE;<\/pre>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Bonus Script 1 (For Backup \/ Index Maintenance \/ Database Integrity Check SQL Server Agent Jobs)<\/h2>\n\n\n\n<p>With the following sql script that I have made, with just one click, it installs it <a href=\"https:\/\/www.dataplatform.gr\/en\/tag\/ola-hallengren-maintenance-solution\/\" target=\"_blank\" rel=\"noreferrer noopener\">MaintenanceSolution<\/a> by Ola Hallengren along with ready configured jobs for <strong>Backup<\/strong> ,<strong>Database Integrity<\/strong> and <strong>Index Optimize<\/strong> with optimal parameters and timing.<\/p>\n\n\n\n<p>Backup jobs are created <strong>disabled<\/strong> as we may have another solution for backup with a 3rd party tool. It also checks for <strong>Availability Group<\/strong> so that they run only if it is the <em>Preferred Backup Replica <\/em>(for backup \/ database integrity) and if it is <em>Primary Replica<\/em> (for Index Optimize).<\/p>\n\n\n\n<p>All we need to do is run the following sql script on each SQL Server Instance:<\/p>\n\n\n\n<div class=\"wp-block-file\"><a id=\"wp-block-file--media-8bc4772d-83c4-4da8-b9d7-47119ab1cf7a\" href=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2022\/09\/MaintenanceSolution-ReadyToPlay.txt\">MaintenanceSolution-ReadyToPlay<\/a><a href=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2022\/09\/MaintenanceSolution-ReadyToPlay.txt\" class=\"wp-block-file__button wp-element-button\" download aria-describedby=\"wp-block-file--media-8bc4772d-83c4-4da8-b9d7-47119ab1cf7a\">Download<\/a><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Bonus Script 2 (To install all Extended Events monitoring)<\/h2>\n\n\n\n<p>With the following sql script we install all the <a href=\"https:\/\/www.dataplatform.gr\/en\/tag\/extended-events\/\">Extended Events<\/a> which we have seen in detail in other articles <a href=\"https:\/\/www.dataplatform.gr\/en\/tag\/extended-events\/\">here<\/a>. After first making the envelope <strong>xevents <\/strong>in the path <code>c:\\xevents<\/code> where the data will be written or change the path in the sql script:<\/p>\n\n\n\n<div class=\"wp-block-file\"><a id=\"wp-block-file--media-3a507ec4-b9f1-425d-9487-a42b87c0d385\" href=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2024\/03\/create_xevents_alltogether.txt\">create_xevents_alltogether<\/a><a href=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2024\/03\/create_xevents_alltogether.txt\" class=\"wp-block-file__button wp-element-button\" download aria-describedby=\"wp-block-file--media-3a507ec4-b9f1-425d-9487-a42b87c0d385\">Download<\/a><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Bonus Script 3 (To install email alerting)<\/h2>\n\n\n\n<p>With the following sql script modifying it <strong>Profile <\/strong>who is the sender and the <strong>Operator <\/strong>which is the email masker with the corresponding email, smtp server and credentials, we can automatically receive emails that high criticality errors occur in <strong>Error Log <\/strong>of the instance. As we have seen in detail in the article <a href=\"https:\/\/www.dataplatform.gr\/en\/pos-mporoyme-na-lamvanoyme-email-kathe-fora-2\/\">here<\/a>:<\/p>\n\n\n\n<div class=\"wp-block-file\"><a id=\"wp-block-file--media-a9f0d270-8da8-4617-9351-0d8edb16e7a1\" href=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2021\/04\/create_dbmail_alert_alltogether.txt\">create_dbmail_alert_alltogether<\/a><a href=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2021\/04\/create_dbmail_alert_alltogether.txt\" class=\"wp-block-file__button wp-element-button\" download aria-describedby=\"wp-block-file--media-a9f0d270-8da8-4617-9351-0d8edb16e7a1\">Download<\/a><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Sources:<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/docs.microsoft.com\/en-us\/sql\/sql-server\/editions-and-components-of-sql-server-version-15?view=sql-server-ver15\" target=\"_blank\" rel=\"noreferrer noopener\">Editions and supported features of SQL Server 2019<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/docs.microsoft.com\/en-us\/sql\/database-engine\/configure-windows\/configure-the-max-degree-of-parallelism-server-configuration-option?view=sql-server-ver15#Recommendations\" target=\"_blank\" rel=\"noreferrer noopener\">Configure the maximum degree of parallelism Server Configuration Option<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/docs.microsoft.com\/en-us\/sql\/database-engine\/configure-windows\/configure-the-cost-threshold-for-parallelism-server-configuration-option?view=sql-server-ver15\" target=\"_blank\" rel=\"noreferrer noopener\">cost threshold for parallelism<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/docs.microsoft.com\/en-us\/sql\/database-engine\/configure-windows\/blocked-process-threshold-server-configuration-option?view=sql-server-ver15\" target=\"_blank\" rel=\"noreferrer noopener\">blocked process threshold<\/a><\/li>\n<\/ul>","protected":false},"excerpt":{"rendered":"<p>In this article we will analyze how a new SQL Server installation should be done step by step. In particular we will see the setup for SQL Server 2019. We will also see what we need to have done before starting the installation and what we must pay attention to in order to have as much security and performance as possible. Prerequisites You will [\u2026]<\/p>","protected":false},"author":1,"featured_media":702,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[11,15],"tags":[29,23,30,6],"class_list":["post-3018","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-databases","category-ms-sqlserver","tag-databases","tag-microsoft","tag-rdbms","tag-sqlserver"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>\u03a0\u03ce\u03c2 \u03ba\u03ac\u03bd\u03bf\u03c5\u03bc\u03b5 \u03c3\u03c9\u03c3\u03c4\u03ac \u03bc\u03af\u03b1 \u03b5\u03b3\u03ba\u03b1\u03c4\u03ac\u03c3\u03c4\u03b1\u03c3\u03b7 SQL Server - DataPlatform.gr<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.dataplatform.gr\/en\/pos-kanoyme-sosti-egkatastasi-sqlserver\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\u03a0\u03ce\u03c2 \u03ba\u03ac\u03bd\u03bf\u03c5\u03bc\u03b5 \u03c3\u03c9\u03c3\u03c4\u03ac \u03bc\u03af\u03b1 \u03b5\u03b3\u03ba\u03b1\u03c4\u03ac\u03c3\u03c4\u03b1\u03c3\u03b7 SQL Server - DataPlatform.gr\" \/>\n<meta property=\"og:description\" content=\"\u03a3\u03b5 \u03b1\u03c5\u03c4\u03cc \u03c4\u03bf \u03ac\u03c1\u03b8\u03c1\u03bf \u03b8\u03b1 \u03b1\u03bd\u03b1\u03bb\u03cd\u03c3\u03bf\u03c5\u03bc\u03b5 \u03c0\u03c9\u03c2 \u03c0\u03c1\u03ad\u03c0\u03b5\u03b9 \u03bd\u03b1 \u03b3\u03af\u03bd\u03b5\u03c4\u03b1\u03b9 \u03bc\u03af\u03b1 \u03ba\u03b1\u03b9\u03bd\u03bf\u03cd\u03c1\u03b3\u03b9\u03b1 \u03b5\u03b3\u03ba\u03b1\u03c4\u03ac\u03c3\u03c4\u03b1\u03c3\u03b7 SQL Server \u03b2\u03ae\u03bc\u03b1 \u03b2\u03ae\u03bc\u03b1. \u03a3\u03c5\u03b3\u03ba\u03b5\u03ba\u03c1\u03b9\u03bc\u03ad\u03bd\u03b1 \u03b8\u03b1 \u03b4\u03bf\u03cd\u03bc\u03b5 \u03c4\u03bf setup \u03b3\u03b9\u03b1 SQL Server 2019. \u0395\u03c0\u03af\u03c3\u03b7\u03c2 \u03b8\u03b1 \u03b4\u03bf\u03cd\u03bc\u03b5 \u03c4\u03b9 \u03b1\u03c0\u03b1\u03b9\u03c4\u03b5\u03af\u03c4\u03b1\u03b9 \u03bd\u03b1 \u03ad\u03c7\u03bf\u03c5\u03bc\u03b5 \u03ba\u03ac\u03bd\u03b5\u03b9 \u03c0\u03c1\u03b9\u03bd \u03be\u03b5\u03ba\u03b9\u03bd\u03ae\u03c3\u03bf\u03c5\u03bc\u03b5 \u03c4\u03b7\u03bd \u03b5\u03b3\u03ba\u03b1\u03c4\u03ac\u03c3\u03c4\u03b1\u03c3\u03b7 \u03ba\u03b1\u03b9 \u03c4\u03b9 \u03c0\u03c1\u03ad\u03c0\u03b5\u03b9 \u03bd\u03b1 \u03c0\u03c1\u03bf\u03c3\u03ad\u03be\u03bf\u03c5\u03bc\u03b5 \u03ce\u03c3\u03c4\u03b5 \u03bd\u03b1 \u03ad\u03c7\u03bf\u03c5\u03bc\u03b5 \u03cc\u03c3\u03bf \u03c4\u03bf \u03b4\u03c5\u03bd\u03b1\u03c4\u03cc\u03bd \u03bc\u03b5\u03b3\u03b1\u03bb\u03cd\u03c4\u03b5\u03c1\u03b7 \u03b1\u03c3\u03c6\u03ac\u03bb\u03b5\u03b9\u03b1 \u03ba\u03b1\u03b9 \u03b1\u03c0\u03cc\u03b4\u03bf\u03c3\u03b7. \u03a0\u03c1\u03bf\u03b1\u03c0\u03b1\u03b9\u03c4\u03bf\u03cd\u03bc\u03b5\u03bd\u03b1 \u0398\u03b1 [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.dataplatform.gr\/en\/pos-kanoyme-sosti-egkatastasi-sqlserver\/\" \/>\n<meta property=\"og:site_name\" content=\"DataPlatform.gr\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/dataplatform.gr\/\" \/>\n<meta property=\"article:published_time\" content=\"2021-04-12T05:00:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-01-15T11:35:37+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/06\/dp_sqlserver.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1280\" \/>\n\t<meta property=\"og:image:height\" content=\"720\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Stratos Matzouranis\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Stratos Matzouranis\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"14 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/pos-kanoyme-sosti-egkatastasi-sqlserver\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/pos-kanoyme-sosti-egkatastasi-sqlserver\\\/\"},\"author\":{\"name\":\"Stratos Matzouranis\",\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/#\\\/schema\\\/person\\\/e87bf4fd02b65cb6aa0942f87245bbaf\"},\"headline\":\"\u03a0\u03ce\u03c2 \u03ba\u03ac\u03bd\u03bf\u03c5\u03bc\u03b5 \u03c3\u03c9\u03c3\u03c4\u03ac \u03bc\u03af\u03b1 \u03b5\u03b3\u03ba\u03b1\u03c4\u03ac\u03c3\u03c4\u03b1\u03c3\u03b7 SQL Server\",\"datePublished\":\"2021-04-12T05:00:00+00:00\",\"dateModified\":\"2025-01-15T11:35:37+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/pos-kanoyme-sosti-egkatastasi-sqlserver\\\/\"},\"wordCount\":516,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/pos-kanoyme-sosti-egkatastasi-sqlserver\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.dataplatform.gr\\\/wp-content\\\/uploads\\\/2020\\\/06\\\/dp_sqlserver.png\",\"keywords\":[\"Databases\",\"Microsoft\",\"RDBMS\",\"SQL Server\"],\"articleSection\":[\"Databases\",\"Microsoft SQL Server\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.dataplatform.gr\\\/pos-kanoyme-sosti-egkatastasi-sqlserver\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/pos-kanoyme-sosti-egkatastasi-sqlserver\\\/\",\"url\":\"https:\\\/\\\/www.dataplatform.gr\\\/pos-kanoyme-sosti-egkatastasi-sqlserver\\\/\",\"name\":\"\u03a0\u03ce\u03c2 \u03ba\u03ac\u03bd\u03bf\u03c5\u03bc\u03b5 \u03c3\u03c9\u03c3\u03c4\u03ac \u03bc\u03af\u03b1 \u03b5\u03b3\u03ba\u03b1\u03c4\u03ac\u03c3\u03c4\u03b1\u03c3\u03b7 SQL Server - DataPlatform.gr\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/pos-kanoyme-sosti-egkatastasi-sqlserver\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/pos-kanoyme-sosti-egkatastasi-sqlserver\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.dataplatform.gr\\\/wp-content\\\/uploads\\\/2020\\\/06\\\/dp_sqlserver.png\",\"datePublished\":\"2021-04-12T05:00:00+00:00\",\"dateModified\":\"2025-01-15T11:35:37+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/pos-kanoyme-sosti-egkatastasi-sqlserver\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.dataplatform.gr\\\/pos-kanoyme-sosti-egkatastasi-sqlserver\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/pos-kanoyme-sosti-egkatastasi-sqlserver\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.dataplatform.gr\\\/wp-content\\\/uploads\\\/2020\\\/06\\\/dp_sqlserver.png\",\"contentUrl\":\"https:\\\/\\\/www.dataplatform.gr\\\/wp-content\\\/uploads\\\/2020\\\/06\\\/dp_sqlserver.png\",\"width\":1280,\"height\":720},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/pos-kanoyme-sosti-egkatastasi-sqlserver\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u0391\u03c1\u03c7\u03b9\u03ba\u03ae\",\"item\":\"https:\\\/\\\/www.dataplatform.gr\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Databases\",\"item\":\"https:\\\/\\\/www.dataplatform.gr\\\/category\\\/databases\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Microsoft SQL Server\",\"item\":\"https:\\\/\\\/www.dataplatform.gr\\\/category\\\/databases\\\/ms-sqlserver\\\/\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"\u03a0\u03ce\u03c2 \u03ba\u03ac\u03bd\u03bf\u03c5\u03bc\u03b5 \u03c3\u03c9\u03c3\u03c4\u03ac \u03bc\u03af\u03b1 \u03b5\u03b3\u03ba\u03b1\u03c4\u03ac\u03c3\u03c4\u03b1\u03c3\u03b7 SQL Server\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/#website\",\"url\":\"https:\\\/\\\/www.dataplatform.gr\\\/\",\"name\":\"dataplatform.gr - Sky is not the limit!\",\"description\":\"\u0398\u03b5\u03c9\u03c1\u03af\u03b1, \u03bf\u03b4\u03b7\u03b3\u03bf\u03af \u03ba\u03b1\u03b9 \u03c3\u03ba\u03ad\u03c8\u03b5\u03b9\u03c2 \u03b3\u03b9\u03b1 \u03bd\u03b1 \u03ba\u03ac\u03bd\u03b5\u03c4\u03b5 \u03c4\u03b7 \u03b4\u03bf\u03c5\u03bb\u03b5\u03b9\u03ac \u03c3\u03b1\u03c2 \u03c0\u03b9\u03bf \u03c0\u03b1\u03c1\u03b1\u03b3\u03c9\u03b3\u03b9\u03ba\u03ac \u03ba\u03b1\u03b9 \u03c0\u03b9\u03bf \u03b5\u03cd\u03ba\u03bf\u03bb\u03b1 \u03c0\u03ac\u03bd\u03c9 \u03c3\u03c4\u03b9\u03c2 \u03b2\u03ac\u03c3\u03b5\u03b9\u03c2 \u03b4\u03b5\u03b4\u03bf\u03bc\u03ad\u03bd\u03c9\u03bd, \u03c3\u03c4\u03b7\u03bd SQL, \u03c3\u03c4\u03bf Business Intelligence \u03ba\u03b1\u03b9 \u03c3\u03c4\u03b1 \u03b4\u03b5\u03b4\u03bf\u03bc\u03ad\u03bd\u03b1 \u03b3\u03b5\u03bd\u03b9\u03ba\u03cc\u03c4\u03b5\u03c1\u03b1.\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.dataplatform.gr\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/#organization\",\"name\":\"dataplatform.gr\",\"url\":\"https:\\\/\\\/www.dataplatform.gr\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.dataplatform.gr\\\/wp-content\\\/uploads\\\/2020\\\/06\\\/dp_logo_wbacki.png\",\"contentUrl\":\"https:\\\/\\\/www.dataplatform.gr\\\/wp-content\\\/uploads\\\/2020\\\/06\\\/dp_logo_wbacki.png\",\"width\":322,\"height\":139,\"caption\":\"dataplatform.gr\"},\"image\":{\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/dataplatform.gr\\\/\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/dataplatform-gr\\\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/#\\\/schema\\\/person\\\/e87bf4fd02b65cb6aa0942f87245bbaf\",\"name\":\"Stratos Matzouranis\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/ab973bc4bd1673c43d45de5633a624d9ad13c06902dfdd5a6e3fd9885903865e?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/ab973bc4bd1673c43d45de5633a624d9ad13c06902dfdd5a6e3fd9885903865e?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/ab973bc4bd1673c43d45de5633a624d9ad13c06902dfdd5a6e3fd9885903865e?s=96&d=mm&r=g\",\"caption\":\"Stratos Matzouranis\"},\"sameAs\":[\"https:\\\/\\\/www.dataplatform.gr\"],\"url\":\"https:\\\/\\\/www.dataplatform.gr\\\/en\\\/author\\\/stratos-matzouranis\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"\u03a0\u03ce\u03c2 \u03ba\u03ac\u03bd\u03bf\u03c5\u03bc\u03b5 \u03c3\u03c9\u03c3\u03c4\u03ac \u03bc\u03af\u03b1 \u03b5\u03b3\u03ba\u03b1\u03c4\u03ac\u03c3\u03c4\u03b1\u03c3\u03b7 SQL Server - DataPlatform.gr","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.dataplatform.gr\/en\/pos-kanoyme-sosti-egkatastasi-sqlserver\/","og_locale":"en_US","og_type":"article","og_title":"\u03a0\u03ce\u03c2 \u03ba\u03ac\u03bd\u03bf\u03c5\u03bc\u03b5 \u03c3\u03c9\u03c3\u03c4\u03ac \u03bc\u03af\u03b1 \u03b5\u03b3\u03ba\u03b1\u03c4\u03ac\u03c3\u03c4\u03b1\u03c3\u03b7 SQL Server - DataPlatform.gr","og_description":"\u03a3\u03b5 \u03b1\u03c5\u03c4\u03cc \u03c4\u03bf \u03ac\u03c1\u03b8\u03c1\u03bf \u03b8\u03b1 \u03b1\u03bd\u03b1\u03bb\u03cd\u03c3\u03bf\u03c5\u03bc\u03b5 \u03c0\u03c9\u03c2 \u03c0\u03c1\u03ad\u03c0\u03b5\u03b9 \u03bd\u03b1 \u03b3\u03af\u03bd\u03b5\u03c4\u03b1\u03b9 \u03bc\u03af\u03b1 \u03ba\u03b1\u03b9\u03bd\u03bf\u03cd\u03c1\u03b3\u03b9\u03b1 \u03b5\u03b3\u03ba\u03b1\u03c4\u03ac\u03c3\u03c4\u03b1\u03c3\u03b7 SQL Server \u03b2\u03ae\u03bc\u03b1 \u03b2\u03ae\u03bc\u03b1. \u03a3\u03c5\u03b3\u03ba\u03b5\u03ba\u03c1\u03b9\u03bc\u03ad\u03bd\u03b1 \u03b8\u03b1 \u03b4\u03bf\u03cd\u03bc\u03b5 \u03c4\u03bf setup \u03b3\u03b9\u03b1 SQL Server 2019. \u0395\u03c0\u03af\u03c3\u03b7\u03c2 \u03b8\u03b1 \u03b4\u03bf\u03cd\u03bc\u03b5 \u03c4\u03b9 \u03b1\u03c0\u03b1\u03b9\u03c4\u03b5\u03af\u03c4\u03b1\u03b9 \u03bd\u03b1 \u03ad\u03c7\u03bf\u03c5\u03bc\u03b5 \u03ba\u03ac\u03bd\u03b5\u03b9 \u03c0\u03c1\u03b9\u03bd \u03be\u03b5\u03ba\u03b9\u03bd\u03ae\u03c3\u03bf\u03c5\u03bc\u03b5 \u03c4\u03b7\u03bd \u03b5\u03b3\u03ba\u03b1\u03c4\u03ac\u03c3\u03c4\u03b1\u03c3\u03b7 \u03ba\u03b1\u03b9 \u03c4\u03b9 \u03c0\u03c1\u03ad\u03c0\u03b5\u03b9 \u03bd\u03b1 \u03c0\u03c1\u03bf\u03c3\u03ad\u03be\u03bf\u03c5\u03bc\u03b5 \u03ce\u03c3\u03c4\u03b5 \u03bd\u03b1 \u03ad\u03c7\u03bf\u03c5\u03bc\u03b5 \u03cc\u03c3\u03bf \u03c4\u03bf \u03b4\u03c5\u03bd\u03b1\u03c4\u03cc\u03bd \u03bc\u03b5\u03b3\u03b1\u03bb\u03cd\u03c4\u03b5\u03c1\u03b7 \u03b1\u03c3\u03c6\u03ac\u03bb\u03b5\u03b9\u03b1 \u03ba\u03b1\u03b9 \u03b1\u03c0\u03cc\u03b4\u03bf\u03c3\u03b7. \u03a0\u03c1\u03bf\u03b1\u03c0\u03b1\u03b9\u03c4\u03bf\u03cd\u03bc\u03b5\u03bd\u03b1 \u0398\u03b1 [&hellip;]","og_url":"https:\/\/www.dataplatform.gr\/en\/pos-kanoyme-sosti-egkatastasi-sqlserver\/","og_site_name":"DataPlatform.gr","article_publisher":"https:\/\/www.facebook.com\/dataplatform.gr\/","article_published_time":"2021-04-12T05:00:00+00:00","article_modified_time":"2025-01-15T11:35:37+00:00","og_image":[{"width":1280,"height":720,"url":"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/06\/dp_sqlserver.png","type":"image\/png"}],"author":"Stratos Matzouranis","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Stratos Matzouranis","Est. reading time":"14 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.dataplatform.gr\/pos-kanoyme-sosti-egkatastasi-sqlserver\/#article","isPartOf":{"@id":"https:\/\/www.dataplatform.gr\/pos-kanoyme-sosti-egkatastasi-sqlserver\/"},"author":{"name":"Stratos Matzouranis","@id":"https:\/\/www.dataplatform.gr\/#\/schema\/person\/e87bf4fd02b65cb6aa0942f87245bbaf"},"headline":"\u03a0\u03ce\u03c2 \u03ba\u03ac\u03bd\u03bf\u03c5\u03bc\u03b5 \u03c3\u03c9\u03c3\u03c4\u03ac \u03bc\u03af\u03b1 \u03b5\u03b3\u03ba\u03b1\u03c4\u03ac\u03c3\u03c4\u03b1\u03c3\u03b7 SQL Server","datePublished":"2021-04-12T05:00:00+00:00","dateModified":"2025-01-15T11:35:37+00:00","mainEntityOfPage":{"@id":"https:\/\/www.dataplatform.gr\/pos-kanoyme-sosti-egkatastasi-sqlserver\/"},"wordCount":516,"commentCount":0,"publisher":{"@id":"https:\/\/www.dataplatform.gr\/#organization"},"image":{"@id":"https:\/\/www.dataplatform.gr\/pos-kanoyme-sosti-egkatastasi-sqlserver\/#primaryimage"},"thumbnailUrl":"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/06\/dp_sqlserver.png","keywords":["Databases","Microsoft","RDBMS","SQL Server"],"articleSection":["Databases","Microsoft SQL Server"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.dataplatform.gr\/pos-kanoyme-sosti-egkatastasi-sqlserver\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.dataplatform.gr\/pos-kanoyme-sosti-egkatastasi-sqlserver\/","url":"https:\/\/www.dataplatform.gr\/pos-kanoyme-sosti-egkatastasi-sqlserver\/","name":"\u03a0\u03ce\u03c2 \u03ba\u03ac\u03bd\u03bf\u03c5\u03bc\u03b5 \u03c3\u03c9\u03c3\u03c4\u03ac \u03bc\u03af\u03b1 \u03b5\u03b3\u03ba\u03b1\u03c4\u03ac\u03c3\u03c4\u03b1\u03c3\u03b7 SQL Server - DataPlatform.gr","isPartOf":{"@id":"https:\/\/www.dataplatform.gr\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.dataplatform.gr\/pos-kanoyme-sosti-egkatastasi-sqlserver\/#primaryimage"},"image":{"@id":"https:\/\/www.dataplatform.gr\/pos-kanoyme-sosti-egkatastasi-sqlserver\/#primaryimage"},"thumbnailUrl":"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/06\/dp_sqlserver.png","datePublished":"2021-04-12T05:00:00+00:00","dateModified":"2025-01-15T11:35:37+00:00","breadcrumb":{"@id":"https:\/\/www.dataplatform.gr\/pos-kanoyme-sosti-egkatastasi-sqlserver\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.dataplatform.gr\/pos-kanoyme-sosti-egkatastasi-sqlserver\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.dataplatform.gr\/pos-kanoyme-sosti-egkatastasi-sqlserver\/#primaryimage","url":"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/06\/dp_sqlserver.png","contentUrl":"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/06\/dp_sqlserver.png","width":1280,"height":720},{"@type":"BreadcrumbList","@id":"https:\/\/www.dataplatform.gr\/pos-kanoyme-sosti-egkatastasi-sqlserver\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u0391\u03c1\u03c7\u03b9\u03ba\u03ae","item":"https:\/\/www.dataplatform.gr\/"},{"@type":"ListItem","position":2,"name":"Databases","item":"https:\/\/www.dataplatform.gr\/category\/databases\/"},{"@type":"ListItem","position":3,"name":"Microsoft SQL Server","item":"https:\/\/www.dataplatform.gr\/category\/databases\/ms-sqlserver\/"},{"@type":"ListItem","position":4,"name":"\u03a0\u03ce\u03c2 \u03ba\u03ac\u03bd\u03bf\u03c5\u03bc\u03b5 \u03c3\u03c9\u03c3\u03c4\u03ac \u03bc\u03af\u03b1 \u03b5\u03b3\u03ba\u03b1\u03c4\u03ac\u03c3\u03c4\u03b1\u03c3\u03b7 SQL Server"}]},{"@type":"WebSite","@id":"https:\/\/www.dataplatform.gr\/#website","url":"https:\/\/www.dataplatform.gr\/","name":"dataplatform.gr - Sky is not the limit!","description":"\u0398\u03b5\u03c9\u03c1\u03af\u03b1, \u03bf\u03b4\u03b7\u03b3\u03bf\u03af \u03ba\u03b1\u03b9 \u03c3\u03ba\u03ad\u03c8\u03b5\u03b9\u03c2 \u03b3\u03b9\u03b1 \u03bd\u03b1 \u03ba\u03ac\u03bd\u03b5\u03c4\u03b5 \u03c4\u03b7 \u03b4\u03bf\u03c5\u03bb\u03b5\u03b9\u03ac \u03c3\u03b1\u03c2 \u03c0\u03b9\u03bf \u03c0\u03b1\u03c1\u03b1\u03b3\u03c9\u03b3\u03b9\u03ba\u03ac \u03ba\u03b1\u03b9 \u03c0\u03b9\u03bf \u03b5\u03cd\u03ba\u03bf\u03bb\u03b1 \u03c0\u03ac\u03bd\u03c9 \u03c3\u03c4\u03b9\u03c2 \u03b2\u03ac\u03c3\u03b5\u03b9\u03c2 \u03b4\u03b5\u03b4\u03bf\u03bc\u03ad\u03bd\u03c9\u03bd, \u03c3\u03c4\u03b7\u03bd SQL, \u03c3\u03c4\u03bf Business Intelligence \u03ba\u03b1\u03b9 \u03c3\u03c4\u03b1 \u03b4\u03b5\u03b4\u03bf\u03bc\u03ad\u03bd\u03b1 \u03b3\u03b5\u03bd\u03b9\u03ba\u03cc\u03c4\u03b5\u03c1\u03b1.","publisher":{"@id":"https:\/\/www.dataplatform.gr\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.dataplatform.gr\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.dataplatform.gr\/#organization","name":"dataplatform.gr","url":"https:\/\/www.dataplatform.gr\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.dataplatform.gr\/#\/schema\/logo\/image\/","url":"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/06\/dp_logo_wbacki.png","contentUrl":"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/06\/dp_logo_wbacki.png","width":322,"height":139,"caption":"dataplatform.gr"},"image":{"@id":"https:\/\/www.dataplatform.gr\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/dataplatform.gr\/","https:\/\/www.linkedin.com\/company\/dataplatform-gr\/"]},{"@type":"Person","@id":"https:\/\/www.dataplatform.gr\/#\/schema\/person\/e87bf4fd02b65cb6aa0942f87245bbaf","name":"Stratos Matzouranis","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/ab973bc4bd1673c43d45de5633a624d9ad13c06902dfdd5a6e3fd9885903865e?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/ab973bc4bd1673c43d45de5633a624d9ad13c06902dfdd5a6e3fd9885903865e?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/ab973bc4bd1673c43d45de5633a624d9ad13c06902dfdd5a6e3fd9885903865e?s=96&d=mm&r=g","caption":"Stratos Matzouranis"},"sameAs":["https:\/\/www.dataplatform.gr"],"url":"https:\/\/www.dataplatform.gr\/en\/author\/stratos-matzouranis\/"}]}},"_links":{"self":[{"href":"https:\/\/www.dataplatform.gr\/en\/wp-json\/wp\/v2\/posts\/3018","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.dataplatform.gr\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.dataplatform.gr\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.dataplatform.gr\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dataplatform.gr\/en\/wp-json\/wp\/v2\/comments?post=3018"}],"version-history":[{"count":3,"href":"https:\/\/www.dataplatform.gr\/en\/wp-json\/wp\/v2\/posts\/3018\/revisions"}],"predecessor-version":[{"id":5857,"href":"https:\/\/www.dataplatform.gr\/en\/wp-json\/wp\/v2\/posts\/3018\/revisions\/5857"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.dataplatform.gr\/en\/wp-json\/wp\/v2\/media\/702"}],"wp:attachment":[{"href":"https:\/\/www.dataplatform.gr\/en\/wp-json\/wp\/v2\/media?parent=3018"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dataplatform.gr\/en\/wp-json\/wp\/v2\/categories?post=3018"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dataplatform.gr\/en\/wp-json\/wp\/v2\/tags?post=3018"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}