 So, I think I will start with this question. So, how many of you have already started this SQL Server on Linux? Anybody has started trying? Yeah, googling I think everyone is doing. So, who started doing some practical? Anybody? Oh, that's nice. That's awesome. Okay. So, really since actually Microsoft launch SQL Server, actually I just want to tell you I was part of the private preview means when the product they were building so I was working with Microsoft team. So, I was keep giving some feedbacks, whatever I could free time, I could figure it out and I was helping them. So, honestly I was able to kind of find only one issue which I can tell them. So, they already fixed. So, it was like already that was in the queue. So, then after that it started and I realized really it's an awesome product. And why I'm saying it's not because I see a lot of people around when I joined the private preview around 2,000 people. And I think at the end like before this announcement around 22,000 people were participating in private preview. So, it was like very awesome thing like you get connected with a lot of Microsoft people, where you learn a lot of things, you get their input and how it works. So, and that's why really I got fascinated with this Urban Panda. So, and then I started exploring this website. Actually, Urban Panda it has a lot of information whenever you get time just go and Google, probably you will get more information. So, today's session actually, I'm going to cover these all the things. First thing, why SQL Server on Linux? Second, we all know that there is a new version of SQL Server we call it SQL Server Vnext. But why we call it Vnext? You see, I don't know, you have monitor, you have started exploring this portion, like you will get the ISO file and you will also get the file something called Debian package or RMP package you will see. So, why this Vnext version? Then I put 13 number of demos, probably I can do more, but I'll see what I can do within the time frame. And then what is currently supported version and unsupported version, and then SQL file basically basic architecture. I will be doing the next session. So, I will be covering end to end the architecture most of the part in depth. Probably, if possible, time allow, I will use WindyBurger to show the how internally it flows. So, this is all the agenda which I'm going to cover in this session. So, first thing why SQL Server on Linux? So, first thing because it till now it was like very limited to SQL on Windows. So, when they launch on SQL Server on Linux, it's basically now it's all across the platform. So, any platform now you can use SQL Server on Linux. Second thing till now, if anybody, any your client wants to use SQL on Linux, it's like they had to go with Windows, there was no choice for them. The third thing is like Oracle and MySQL databases are there across the platform. Only SQL was not across the platform. The fourth thing, I was just reading this article probably you already went through this article. So, this first technique says that last three years, the demand for SQL on Linux got increased a lot. So, the database general manager, his name is Rohan Kumar. So, he said that that's the one of the reason we wanted to explore. So, there is a history if you know Salava Ox he's the guy who developed SQL SOS. We call SQL Server Operating System. So, he was actually doing some project, after that he was searching for some other project. So, that when he was searching some other project, so like SQL team asked him, why not let's work on the SQL on Linux. That's where he came in the picture, he worked with MSR team, Microsoft Research team and then he started working on Drobri's project, then that's where he finally developed this SQL Server on Linux. So, the first picture came from him, it was in 28 Fab 2015, and the first announcement came, it was 3rd March 2016. So, it's already a long time, they worked in background a lot, then they came in the picture. So, this is all about and the Vnext. Actually, Vnext is a version, this is same binary, means binary will be same for it goes to the Linux and it goes to the Windows or it goes to the Docker system. So, means you can download, but the file extension will be different, for Windows it will be ISO, for Linux you will be probably Debian package you will be downloading, and for Docker the Docker related, whatever package is there you will be downloading. So, as of now the officially supported is like Cloud, Docker, Linux, Ubuntu and Red Hat and the Windows Server. But if you want to explore because CentOS is a community-driven operating system and it's free. So, if you want to explore this on CentOS then you can use CentOS, and it's actually copy of you can say the Red Hat. So, I have already installed and tested, it's working perfectly fine there. So, I will jump into the demo because probably that's the most fascinating part, you want to see that what is how it looks like. So, sorry. Is it GA? Yeah. So, tell me which equals our instance here, is running on Linux and sorry, let me zoom it. So, which equals our instance here, is running on Linux and which one is running on Windows? Any guess? Okay. The above one is Linux. Anybody else wants to try? Okay. Anybody else? Okay. Definitely one will be there either first one or second one. Okay. So, let me go to the system and I'll show you which one is running where. Okay. So, I'm just going to the first one and I'm just connecting and just writing the select version and I'll run as a masses box. So, you'll see it's running where the first one, it's running on Windows 10 Pro machine on my system. Okay. Hi. Yeah. Now, you can change your statement needs. Let's see the second one where it is running. Yeah. You have, that's why I wanted to check who is going to get there. Sorry. I just wanted to check by seeing this one, how you feel like. Is it running on Windows? You can figure it out it is running on Windows or Linux. So, now you see it's running on CentOS. You can probably I'll just zoom in. So, you can see here it's running on CentOS. Okay. So, by seeing this one as a physical view is you won't come to know it's running on Linux, or it's running on a Windows system. So, even like simple if you want to create just one example. This is my instance which is running on Linux machine. If I want to create a database, I'll simple go, I'll just say, just hit enter. So, the database will be created. So, like the way we used to create in the Windows. So, there is, if you are thinking, oh, I need to remember all my Linux command. No, actually not. When it comes to your administration part, yeah, you have to remember some commands. That is all related to the Linux. So, let's I'm going to my Linux machine and this is, let me connect to the hypervisor once again, and open the Linux machine. So, this is my machine. So, I'm going to connect this. I think it is visible or not. Just let me know. I think I'll try with zoom option if I can. Okay, first I need to come up. Okay, let me do one thing. I'll just, what I'll do, I'll first connect with the Linux system, and then I'll zoom it out. That will be easy for us. Otherwise, it is problematic always. So, I'm just, I'm keeping my login username, and that's my password. And I've just, we use IP config in Windows to check the IP, and I'm using here if config, probably if you are already aware of the Linux command. So, this is the IP. I'll just read it out for you. It says 10 dot, one second. I'll just key at the same time. So, I'll just close this, and I'm opening this putty here, and I'll just key the 10 dot, 10, four dot, 68 dot, one, zero, three. So, yeah, it's running on the VMware. So, I can show you here, here is my VMware, and here is the machine which is running. So, the first machine which is running. So, you can see the name here. It says, as you went to online. So, I connected already here. So, it's asking, so, yeah. It's a connecting, as a connecting as a user such it, I think probably this is visible now. Okay, and I'm just keying the password. So, I will just check the host name. So, here I connected with that machine, and I'll just check the host name. So, this is the same host name it says, okay. So, I'll clear the screen. So, I'll just check, have I install anything here or not? So, DKPZ, it's a actually Debian package, which we can use to check the Debian package and install or not. So, I'm just going to check MSSQL, SQL server. So, it says, no, I don't have any packages here. Okay, so, I think I need to just, I just increase the font size from here. Probably that will be better. You can change the setting, loving terminal. So, font size I'll just make it 16, apply. So, I think this, now it's visible. Background also. Yeah, this projector is very visible. Okay, oh, is it? I'll just change it to color. I think, yeah, if we turn off, now it's okay, I think. Is it okay? Or it's still not? Don't use Korea, use sign bolder. Which one, bolder? Bolder, Korea new and bold. It's Korean new, yeah. Bold, use a bold version, yes. I think this is okay, right? Okay, so we have already checked the package. So, I have written couple of blocks on this. So, I will follow because that will give you the understanding of both. So, first off, first part we are going to install SQL server on Linux. So, first thing because we are going to install something on server, so we have to connect it as a root user. So, I will say sudo minus I, so it will ask me password. So, I will just key the password and after that I will be connected as a root user. And then, I will check, it's already, I can connect my Linux system using 40 minutes I am in network, so I don't need to check the network portion. So, I'm going to download this key, Microsoft GPC key. So, I'll just go here and simply key here. Okay, sorry, it's, we got syntax with it. So, I just need to remove that word syntax. So, here it's, actually it will download. And then next step is, we need to download the Ubuntu related repository from Microsoft website. So, I'm going to download this. So, it's completed already the first portion. I'm going to, yeah, I'll just put it. So, it will just download. So, it's already completed. And then, I'll just check any update is there or not Ubuntu related. So, let it get all the updates by the time. So, it's all actually the update which I'm getting, it's related to Ubuntu not related to SQL because I haven't installed SQL till now. So, I'm going to install now SQL server. So, this is the command. Sudo, actually I'm already connected as a root user. So, I don't need to type Sudo, but okay, I'll just try with apt-get install. apt-get install is the command which says whatever package you want to install. Okay, so I'll just copy this and I'll just clear this screen and I'll just paste it here. So, let's see, it's going to install all the, I think it's pretty much visible here, yeah. So, it's downloading all the packages from all the related binders, whatever needs to be downloaded from the website and it's installing. It will take few seconds to complete. So, by the time it's installing, let's see what is the, so when we are installing, okay. So, during the configuration it will ask us to key the essay password and it will ask us to start the services SQL service and then it will ask to reboot the SQL server, the final, once we install successfully. So, here it's done. So, I'm going to do the now configuration. So, we have done the installation here. Okay, I'm not doing, going to do the configuration of the SQL server. So, it's asking me, do you want to accept the license agreement? I will say yes. So, it's saying, please enter the password for our system essay account password is asking. So, I'll just key a password there and then reenter the password and it will just configuring the password. Okay, now it's asking me, do you want to start the SQL service? Yes. Do you want to boot the SQL service? Yes, you say that. So, your SQL service already started. So, let's verify your SQL service is running or not. So, this is the command. System, I think I'll just zoom in this one. So, this is the command which you can see. System CTL status SQL server. So, I'll just copy this and run it. So, we can see a SQL server is running here. So, one thing, normally when we install SQL server from Windows package, you get all the options. You want to install SQL server tools, SQL server full text search, replication or whatever options are there. You can select those options. Here, you have to actually install one by one. Once you install SQL server, then you need to install the SQL server tool. So, tool doesn't mean that I'm talking about SSS or what you call management studio. I'm talking about the command prompt tool. Okay. So, this is confirmed we are running SQL server. So, I can check for you that like SQL. This is the config of, sorry, IP of the server. So, I'll just copy this IP and I'll go to the management studio and I'll just connect this. I'll put this IP and I'll just key the password and it's connected. So, you can see here is your SQL server is already running. So, this is what just now we installed. Okay. As of now, they are planning to do it. But as of now, there is no SS management studio for Linux operating system, but you can connect Linux instance on the Windows server using management studio. And they have developed one tool called, I'm not if I'm probably I'm wrong with the name. So, VS Microsoft tool, some tool they have developed? Yes. So, the VS code which is running cross platform. Cross platform. So, you can install. So, you will get the GUI option on the Windows system and you can play with the Linux operating system there directly. So, you don't need to switch to the Windows system where you are connecting with Linux instance on a Windows system management studio. Okay. So, I'm going to now, this is done. So, we have already done how we install this SQL server. Now, we will be installing the tool on the server. So, because if I want to connect like if I say, if I say SQL CMD and E, the local host. And then I say user as a SA and the password as a P at the rate. This is the password. So, if I say SQL CMD is not found. So, basically I don't have this tool on the server. So, I need to install this tool here. So, again, I need to tool related, whatever repositories are there, I need to download. So, I will just first download. So, I'm already first step in the, on the website it says connected as a root user. So, I'm already connected. So, I'm not following the first step. So, I will go and download that. And then it says, get the update. Because I encounter one time some issues. So, in this demo, I don't want to encounter the issue because we are already running out of time. And so, I will install the tool here. So, one thing we just want to highlight, when you install the tool, it actually there is some dependent package are there like ODBC. So, that will automatically get installed. So, it will ask during the installation. So, I will just paste here this command and it is going to install the tool. So, I just remove because anyways I'm root user. So, it is going to install this. It's saying yes, it's actually asking me because it's going to take 156 MB space on my machine. So, it's just asking me, can I take that much space? I'll say yes. So, it will start again installing. And probably you will get some prompt that accept the license term. Here is the snapshot. So, straight for that, I think. As of now MS SQL, MS SQL account. So, all the services which is running on SQL related on the Linux or any Linux Red Hat or any system, which is being owned by MS SQL account. So, they are still working like their next phase is like implementing how the Windows AD account can be authenticated on Linux system. That's the next area. There are a couple of areas they are working like full text search, replication, as in. So, right now you cannot lock it as an active directory? No, you cannot. So, here they are the license terms. So, I will say just yes. So, it will continue. Then it will prompt me for the ODVC. No, no, it's by default it will be created. By default it will be created. So, again, it's for asking now for the ODVC. So, they have, I think it's a now, it's a public layer level. It's a like open source kind of tool now ODVC. Okay, so we are done with here. So, I will just try to run that command and I'll just copy it here. I think probably better. This is SQLCMDS local host. I will say user as SA password as. So, yeah, we are connected with SQL server on Linux machine. So, I'll check the version. Yes, SQLCMDR, SQLCMD prompt. Yeah, you can say SQL command prompt. So, this is the, now we are connected here. Okay, so we have installed till now SQL server on the Linux machine. We have installed SQL tool on the Linux machine. Now we are going to, we have already see how it is connecting. So, no need to see how we can connect SQL server on the Linux. Probably you must be thinking why I'm every time using IP, not using the host. Because the browser service is still, agent is not there, browser service is not there. That's why I'm just taking IP to connect to the instance. Not the host name. And let's see the error log. So, we can read from error log as usual. This is the my, I'll just remove these two instances. So, this is the normal machine. So, you go write sp read error log. So, you can read all the error log here. This is the one way to read. Another, you can use this command like here, sp I think, sorry, sp read error log go. So, you can, but the problem with this, the format is not readable format. So, probably you will face a lot of challenges to read this. So, what is the best way to read if you want to read on this machine? So, I'm just exiting from the SQL command prompt. And I'll go, you need to go to this location called CD. This is the root location we call it in Linux machine. Like in SQL Windows, we have program folder where we go as a root folder, right? So, this is the root folder. I'll just clear this screen. And this is the root folder, sorry, the CD. So, here you can see. So, it has data folder. So, where as of now, it doesn't have a separate folder for like log file, so it has a data folder, it has a log folder. And this is a ms.config. So, that portion I will talk about later. So, I'll just go to the CD and log. So, log will see what all the log file it has. So, you can see the error log it has. It has Hectane related in memory related files here. You have extended event related files. Default trace we have, right? So, we have default trace. So, I'll just read the error log file. So, I'll just clear this screen. And cat is basically reading the error log file. So, I'll just read the error log file. So, it's more better way to read this error log file from using the cat, okay? Any question till now here? Anything just let me know, okay? Yeah, we have. We have. Actually, I tested that one. I was encountering some issue, but we can do the offline installation. Then, we can see the status because if you are doing something on probably, you can check the status, how you can check the status. So, again, as we started like SQL, we were checking the status, right? SQL, sorry, systems, CTL status, ms.sql server. So, it's for the status of the service. So, what about you want to stop the service? So, just put it, remove the status and just put it, stop. So, it will stop the service. Can we verify that? Yeah, since it's failed, actually, it stops the status. So, same way we can start. We just need to remove the status with the start word. So, it will start the service. Let's again verify the status. So, it's now running. So, you want to enable or disable. We have a command which we can enable, disable the status. So, simply, again, you need to put disable. Here, if I go here, and as I put option disable, so it will disable. It says, actually, this portion which you are seeing this one, it has a file config file. So, actually, it removes the entry from there, something like that. So, I will definitely, in the next session, when I said, I will be talking about the architecture more than where I will be covering this area, when, where we can see this file is actually. And then we can, okay, let's verify the status when I say disable. So, it's actually running. So, I just stop it, and try to start, stop, and let's start. It should throw error status. So, it's actually started. And then I'll just enable, it will throw the error if I say the enable, because it's already running. And what is the status? It should show you the status, it's disable state. It's running state, probably. So, here, actually, here is the status. It says disable, because I have disabled, even though it's running. So, let's change to disable to, I'll change to enable state. So, it's enabled now, and let's see the status what it says. So, it says now enable. So, this is the way we want to disable the status, like you want to do some activity on the server, you want to, for a moment, you want to disable the services, how you can do it. So, these commands, using this command, you can enable, disable, or you can change the status of the services. And then we'll talk about, so, this one is actually very important. Like, we are mostly working on SQL, means we are mostly working dealing with the Windows system. We very less deal with the Linux system, or probably the organization demand is there, like being a DVA, you need to deal with the sum of Linux system also. So, one of the biggest challenge which we find, like, how I want to copy the file to the Linux machine, there are a lot of tools are there. So, but as of now, they launch in the market and probably you are not so familiar. So, this is the best tool which I found, I was exploring Samba. Samba, probably Indian movie if you know, the Samba word exists for very famous movie. So, I just going to install the Samba on this machine actually, I install the Samba already. Reason why because it's a 70 MB file, and it takes a lot of time to get downloaded. So, I just already installed, oh, something wrong. So, you see it was very fast actually, it's just trying to get the update, it is not installing. So, it's already installed. So, what I'm going to do, I will create a account there, I will share a folder on Linux machine, which we can access from the Windows machine. So, that you want to copy some file, which you want to back up, you want to move back up on the Linux machine so that you can restore. So, how you can do it? So, we will follow this one. So, first thing what we need to create, we need to assign a user and change the password to that user. So, my user is Sachit. So, I'm just using like Samba password minus a Sachit. So, it will ask me to key the new password for this user. So, I will key the password. It will ask me to re-enter. So, I will just re-enter the password. So, this user added to that Samba software. Now, the next step it says, I will create a, because I want to put a backup in a separate folder. So, I need to create a folder, right? So, I will go this place and I'm especially I'm selecting this word of folder to put the backup folder there, because if you put this SQL under root folder, probably SQL won't allow you to let the control on that folder. As of now, probably it will be fixed. So, I'm going to this location and I'm going to create a folder called SQL backup folder. So, as of now I just see LS minus L, it will show me what all the folders are inside. So, I have only one folder called MS SQL folder. So, I'm going to create a folder called, this MKDIR command will create a folder called SQL backup folder. So, I've created, let's verify the folder exist or not. So, we can see that now the folder is there. So, but one thing we need to notice now, this folder is being, the access is being hold by the root user. Means someone who is root user, he can do everything. But probably the account which I added as a Sachit, he's a not root user until unless I key him as a root user. See here, I'm acting as a root user, not as a Sachit user. So, I can show you if I exit from here, if I exit from here, then it will go to the Sachit, but Sachit is not a root user. So, if Sachit user account wants to do something on this folder, he cannot do. So, I need to give the access to SQL as someone asked me the question which account is being used. So, I will give the access here to SQL account so that SQL when I'm taking the backup or copying the backup, it can go to the there directly. So, I will be changing the permission now. So, I will be here, Sudo, this is the command which I will be using to change the permission. So, it will first change. Sorry. Okay. Because I'm, no, just one second. Okay, wait a second. Yeah. Something forward. Let's verify now. Sorry. I need to go to that location first to see it got that permission got changed or not. So, you see now previously both were root. Now, this is the MS SQL. Then I will change the group access again. So, here I will just change the group access, and I'll just verify ls minus l. So, now SQL server got the access on this folder. So, I want to take a backup, I can take directly on this folder backup. So, if as a user like I'm such it, if I want to copy something here, even though I cannot because SQL server has the access on this folder now, from root user to transfer to the SQL user. So, I want to give access to the such it also. When I will be logging this folder, means when I will be accessing this folder from the outside. So, root user you cannot access. So, you need some user account which you have created. So, in this case on this machine I have created such it. So, such it account access that folder. So, I'll show you how we can achieve that. So, here is the user name. So, I will just put the such it. So, I'm giving him read write access on that folder. So, he now he can, but we cannot verify this such it has access or not from here. So, he got the access there. Okay. I'm going to take the backup. So, I will connect, I will create a test database there, and I'll try to take a backup directly there. So, I'll go here and create a test database. So, okay, and I'll just backup database, database name. Suppose in this case, SA to disk equals to this is the location we have. So, I'll just copy this location and paste it here, and I'll just put it SA dot BAK. Sorry, am I doing something? No, no, this is the same connection. Oh, sorry. I'm on wrong machine connection. Yep. So, it's completed. So, let's verify in this folder, now I have backup or not. So, I'll go to the SQL backup folder and I'll check. So, we can see SA backup. I just now took the backup, right? So, we have the access backup. So, means SQL server can access this folder. Now, let's configure the Samba so that you can access this folder from outside, means like from Windows machine. So, I'll go here, and I'm going to open the, using VI editor, I'm going to open the Samba configuration file. So, I'll go here, clear here. So, I'll go to the last, this is the last where I will be putting the information, what is my share for folder name, and which account will be accessing. So, what is the path? So, I will just press insert to write there, and I have already written the script. So, I'll just copy here. So, this is the script. So, this is a shared folder name. So, I'll just paste it here. So, what I'm doing here, I'm saying this is the shared folder name. SQL backup is the shared name of the folder, and then this is the path. So, we already know this path we have taken the backup, and the username, I'm just going to put the sachet. So, I'll just put sachet as a username, and I'm read only no, it can be browse, and it can be written. So, I'll just press skip colon sign WQ. So, it is actually the, now whatever I put it there, it is written in the Samba config file, and I need to restart the Samba, this service, Samba service. So, I'm going to restart the Samba service now. So, it's a free open source. You can just download. Okay. So, we already know that I'll just check the IP. So, this is the IP. So, I'll go to my Windows machine. I should be able to access. So, here is the folder. We can see the folder now, and I'll just, it will ask me to key the username. So, I key the username sachet, and I will key the password. So, I can access the folder. This is what the backup we have taken. And in case if I have any backup, suppose on my machine, let's assume that I have any small file, I'll just copy something. This is the, probably I have this file. So, I'll just copy here. So, it's copied here. I'll go to the Linux machine again, and I'll just verify. Is it there? So, we can see. So, this is the way it's very easy way to transfer the files if you want to transfer backup and all those things. So, any question till now? In terms of starting the service, how we can see the error log, and how we can copy somebody. In case, because that's the reason, I especially put all those detail in the slide so that in case, whatever we are discussing and you want to explore it, we will be definitely uploading this slide on the user group. So, you can download and you can refer all those things. So, I'm not doing anything extra, maybe probably I'm a bit fast, because you feel like I'm moving very fast. So, because I need to cover a couple of at least demo so that you can get the feel, and when you start doing probably you need to spend a lot of time. It's as we are thinking it's not as easy, but yeah, when you will spend a lot of time, then probably you will get more familiar with the this command and all those things. Are the files compatible with Windows? Which file? The database files? Yeah, those are the compatible with Windows. So, means I can detach and attach there, I can detach from Linux machine, and I can attach in the Windows. So, there is no issue as such. Sorry? It's a one four three three, same. So, I will be definitely I will be changing the default port number also to show you. So, again, I will go to the what is here. So, backup, we have options, if you want to directly download the backup. So, you can follow this like simply you go here, and you can copy this link, and here is the command. So, you can we get, so we have already this backup, I just want to remove this backup. RM minus RF wide. So, I will just remove it. Let's see this backup got deleted. Yeah, it's deleted. I'll just show you the Windows level. Yeah, it's no more there. So, we have deleted from the Linux machine. So, in case you want to download this backup directly, you can use this command, and here is the link. I'll just show you quickly how you can download, because probably you have a need where you won't directly download this backup file on your Linux machine. So, I'll just go here, copy this link. So, it's actually, if you are aware, Microsoft already removing this Adventure Work Database now. So, I have attached the new worldwide importers database. So, you can directly download here. So, I will just go here and put. So, it will start downloading. So, it will take few minutes. And then, if you want to restore, you can go ahead and restore that database. And here, I'll just show you. I think it will take few minutes, 20s already, 30% already completed. Just wait another few seconds. Yeah, it's done. So, we can see. So, it's already, you might be thinking, oh, now the color is white. Previously, it was green. It's because of some permission when you are copying from Windows to Linux machine. And then, do you want to? Okay, because this one is complicated. That's why I want to show you how you can restore this backup. Because, as of now, I just want to highlight if your backup file has in-memory feature enabled and you want to restore. So, with move command, you can move data file and lock file. But in memory option, you can also say I want to highlight this area. So here, you see this section. So here, I'm doing as a forward slash. If you see this, I'm doing as a forward slash here. But especially this memory table, I'm doing the backward slash, right? The reason why it's not as of now supported, they are still working. So, it will be fixed soon. So, that's why I just wanted to show you if you are okay to see how we can restore this case. Then I'll just quickly show you. We have already backup. So, I'll just go here and verify this command because probably I need to change this a bit. I'll go to the management studio and here is the management studio. And I just need to replace this with probably match all replace all. And then, yeah, I think so. Here, this is a in-public preview. I just need to delete this whole line. So, I can see it's okay. Yeah, it's compiling. So, I can try to restore home. It's okay. The folder location is different. So, I'll go just copy this location. Let's refresh. So, it's started restoring. So, whatever backup we have downloaded on Linux machine. So, we can, as he was saying, that compatible. So, this is the same file which you download for the Windows machine. So, I downloaded the same backup file on the Linux machine. So, it is compatible. So, we can see we can restore the backup file there. And now, I think we'll go ahead with the port detail. Yeah, changing the port, you ask how to change the port here. So, we don't have assets like SQL Server Configuration Manager in Linux, but they do have one file called MSSQL config. That file is actually replacement of SQL Server Configuration Manager. So, using that file, you can change port, you can change default location of backup folder, you can change default location of data file, lock file and even trace. So, those high-level things which you can do. I think I can show you what all the things you can do with that. So, I'll just go to this is the tool and I'll just say minus H. So, you can see these all the things which you can change with this config tool as of now. So, you can set unset the password, you can set the collision settings, you can enable the trace flag, and you can validate. Validate is basically, you do the server-level setting change. So, that settings will be captured this validation. It will create a file and that it validates when you restart. What are the default setting and what has been changed by the user? So, that file get created. Then list again, so I will just, as I put it here as minus H. So, I will just put it as a, where is that file? I'll just copy here and I'll just say list. I just show you the list detail once again. So, anyways, just first let me the change to the this what we call the default port. So, first we need to check which port it is running. So, I'll just once again let me go to the out and here. So, this is the command where you can see which all the ports as of running on the, what all the ports being used by which service. So, I'll just run netstat and hyphen tu lpn, sorry, netstat, I just put it start. So, we can see these all the services which is running. So, SQL service you can see as of now, probably we need to. So, here we can see the service 1, 1, 4, 3, 3, sorry, this one. SQL service is running. So, I'll just change this port to new port. So, I will go here and I'll just type here. So, I just put it 2, 3, 8, 1, okay. So, applying this says that applying the new port to SQL service, but we have to restart the services. So, I'll go ahead and restart the service. So, again I'm going to run system CTL restarts SQL, MS SQL service. So, this is the command. So, it will restart the service and now I again verify which port it is listening now. Yes, as of now I haven't, I haven't tested honestly and I didn't get any document related to have multiple instances running, but yeah, I can install and can get back to you other. Yeah, no, sorry, I didn't understand. Oh, that you mean to say multiple service. That's why I'm saying I need to, one time I need to check and then get back to you how we can do that. So, I'll go here and I'll check the port number now. So, this is the port number which is listening now, 2, 3, 8, 1. So, let's verify from the management to studio. So, can I connect using 2, 3, 8, 1? So, here is the 2, 3, 8, 1 and so yes. So, we have changed the port and we can connect using that port. And this is the default like if you want to change, you created a default folder for lock file and the data file and you want to change the folder. So, you can use same command just you need to change the parameter instead of like port number you passed it. You can pass it like a SQL lock folder where you want to put it that folder. So, here is the command. So, actually I'm in this folder I'm creating a separate lock file folder I'm changing the access to the SQL service so that it can access. And then here I'm changing. So, here is the location which I'm setting. So, basically once I change I created the folder, I have given the access to SQL service to access that folder. So, then I'm setting here the default log directory, which is this folder. So, once I said then it will ask me to restart. The moment I restart it will be applicable. So, when I create a database, the lock file will go to that location. And the best thing I think how many time anybody has rebuild collision at this instance level, having even tried on Windows system. Rebuilding collision setting means like you install the SQL server but the reinstall. But it was a very painful. Limit like not really reinstall. There are options you can uninstall reinstall as you said that or you can rebuild master data and that's where you can do that. So, with a kind of rebuilding all the options. So, but it is very painful task. Let's see in SQL server linux how we are changing the collision setting. So, first step I'm saying that I'll just zoom it out. First step I'm saying connect as a root user. So, basically we are already connected. So, no need to do anything there. I'll just clear this screen. And then I'm saying run this msconfig utility to set a new collision. So, I'll just run this option. So, it will ask me to key the collision. Okay. So, it says we'll change the collision for SQL server and restart the server. Continue. Yes, we want to. It is asking me to give the new collision setting. So, I'll just pass any collision. Sorry. Okay. So, I think we are already connected with this one. So, why not let's connect here and somewhere I must have some command to check the default one. So, we can just select properties because I can do the comparison later on. So, that's why I'm just writing this one. Server properties and we can just collision. So, this is the default one. Okay. Let's whatever it is here, I'll just take it this one as a easy because I don't need to search for the new collision. So, I'll just key as a SQL Latin. I think I'll probably I'll go to the Microsoft website. From there I'll just copy paste. Yeah. AI, right? AI is okay, right? I'll just change it AI. That's nice idea. So, the moment you key it will automatically be rebuilt for you. So, you don't need to do anything else. Okay. So, this is done and let's see what is the collision setting now. No. Actually, I put it AI only, right? Sorry. I put it the same collision setting. Just let me we can. Yes, I can put it the. Yeah. Sorry. I just put it the AS. So, basically we can achieve it very fast Windows version, we have to follow a lot of steps. If you are rebuilding the master database and probably if you're uninstalling again, it's very time-consuming process. Here, it's not so much time-consuming process. So, here we can see. I haven't tested on Vnext, but I'm sure I need to follow the same thing Vnext. So, this one is like pretty fast. So, it was VI initially and now C here. It was VI initially, now VAS. So, changing collision becomes so fast. It's not one thing. There is another one thing like essay. So, most of the time as a DBA, we forget essay, what is the essay password? If you want to connect SQL server using essay, we don't know the password, we never maintain that's a problem. So, using that tool, this tool give you the option to change the essay password also. So, that tool is very useful. Now, the second question you might get, how come because it's a, what about the security one? So, that's where the admin portion comes in the operating system, like who is going to manage the operating system. So, what kind of rights as a user you are going to have? Yeah, they are having an admin permission. So, definitely they are still working on couple of areas to improve that. So, basically this public review will give them more clear picture because they will get, now as in a private review, we have they have very limited customer, right? So, when it is open for public, so they will get connected with a lot of people and they will get a lot of feedback. So, that's where they keep improving. It's actually you think about they have 40, I think 40,000 million code or some thousand million code they have. So, it's not practically possible to change all the codes. They started this project a long time back, they wanted to change it everything. Over the period they run the show, then after that if they realize it cannot be done, then they just scrap the project. Then after that this MSR team, they build the drawbridge project, and that's where they get realized because there is a project called Modry or some project was they done the, actually there was Windows application, they wanted to run on the Linux platform and they were able to do that. So, that's where the thought came in the picture. So, what was the challenging portion because SQL Server talks at the user level and at the NT level. So, there are some codes which still goes to the NT level, means we call it ring zero level. So, they wanted to move that the ring zero level codes to the upper level, means user level so that it is not bounded with the Windows operating system only. So, that's where they introduce the second layer of operating system. So, this is all about the demo. Any question you have demo, let me know. I can help you further. So, I'll just continue with the slides there. So, this is as of now the supported features. So, pretty much what we have as of now in the Windows, it's all there as a feature wise we can see the in-memory compression, always on encrypted masking, service broker, data change capture, partitioning, auditing, everything is there and there is still working lot of what we call it the server level. There are a lot of features that are still enabling. Yeah. Is that the CLR? Is that SQL CLR? Yeah, it's a SQL CLR. That means.NET Core. Yeah. .NET Core. .NET Core is already there. I think I can show you what all the core files are there. So, I have written one detailed block on this tool probably. I can just quickly go there and show you. This is called config manager SQL server in depth. Now, this is a service file and then I talk about the config manager. So, I'll show you what all the files when you talk about the .NET. So, you can see there is a .NET file also. Yeah. So, if you go. So, this is the tool I have written in-depth. When you run this tool, actually it creates a file. It's a creative file. So, here is a list option. So, you can see what all the files it does. So, from there, using that tool, you can see the files also. I'm going back to the slide because I have very limited time to finish everything. No, it's still in progress. They are coming with replication. They are coming with always on. They are coming with all the whatever features we have on Windows as of now. They're all bringing on the Linux and you're basically Vnext version. Okay. These are the unsupported features. So, probably soon you will come to know the full text search is out in the market application also and your agent related services will be out in the market soon. So, there will be probably soon releasing another version and this is all the as of now not supported features. Then introduction to SQL pulse. So, this is what I was talking about. So, they have your database, they have analysis services, integration services and reporting services, and then they introduce a new platform that's called SQL platform instruction layer. So, actually because till now last 35 years, SQL Server has been running on Windows, and now they wanted to run on the Linux machine. So, they cannot change the all 35 years work, means all the codes. So, they introduced as I said that a drawbridge project from there, they actually identify like which call should go to the Linux machine and which call should go to the Windows machine to achieve that, they introduce another layer of operating system that's known as a SQL Pal operating system. So, if we zoom it, it looks like this. So, here is means like any latency related, that will go to the SQL OS. So, existing operating system which was introduced in 2005 and then it directly like latency what I mean by the latency, basically like any IO related stuff, any network related stuff that directly goes to the host extension. And other than that anything which goes to the Windows 32 API. So, previously those APIs was at the kernel level, those moved back to the on the top level means user mode. So, everything is now processing in the user mode and anything which is need to be processed the kernel mode, then it goes to the host file extension and then further move on. And this is the zoom in architecture. So, if you see your database is here, here is the Windows APIs means when you are running your SQL server on Windows system. So, this is the API which we called when it is running on the like even though it's running on the Windows, it will call the OS APIs. And then these are the things area, they have actually being deal by the SOS V2. V2 is basically SQL PULPROBLY. In future you will see they will remove SOS and they will keep only one operating system. So, that is the future plan from Microsoft as of now. Because they cannot because a lot of, there are so many IP means instruction point in SOS. So, they cannot change as they want. So, they are planning to merge one only one OS for everything. So, probably whatever overhead if it is there, then it will be removed also, if they make it one operating system. So, and what is the next? So, what we are going to see the soon like always on another feature which I was talking not supported, those will be supported here, AD authentication and all those things. And if you are interested then probably they have some early adoption program, probably you will get the free licensing for whole means some year that you need to get connected to Microsoft to get concrete detail, how long you can get the free licensing and all those things there. And like they are pretty fast, they announced on 7th March 2016, they launched as a public preview on 16th, sorry, they announced on 7th, public preview was 16th and most probably in mid 2017, this will be as a normal product launch. It's a CTP, it's not a GA. Sorry? It's a CTP. CTP, it's a CTP, it's a CTP version. It says it haven't released but yeah, in US I think they were saying some like couple of companies they started using that. So, they are using as a production environment. So, there are customers they are using because that's where they offer like couple of customer like you come and in our environment bring your data and we will do the load testing for you, everything will check for you. That's what they're Microsoft offering in the private preview. So, so many people during the past if you know that a lot of people went there and they work with Microsoft, they share their information and they do a lot of load testing. So, this is all from my side for the SQL on Linux. Anything you have any question on this just let me know and probably we will do more in-depth on especially this portion, how this work and the tool portion when the tool you run actually what file it create, which location it creates that tool portion we will be discussing and if you are more interested, so I will show you the calls like as I said that there are seven files which will be called by when you are running the SQL on Linux. So, which all those files like system files, .NET files, certificate files, those files how, when it is really called. So, we can see that from the Windy bug. The other alternative is to install a Docker image. Sorry? The other alternative is to install a Docker image. Yes, correct. Publish benchmarks, the comparisons. I think officially they have only one or two they have released not a lot of. So, that the one was released in 2000, sorry, it's in March itself. After that they haven't come up with any comparison as of now. But yes, go to on channel line, they have shown the comparison on the in-memory table, so how the faster transition is moving on. So, in channel line they have released couple of videos there. So, that's all from my side. Thanks.