Machine Learning Server (SQL): how to backup and restore Python and Packages - sql-server

After installation of numpy-1.18.1-cp35-cp35m-win_amd64.whl package in Python 3.5 ( SQL Server Machine Learning Services for windows x64, SQL Management Studio v17.9.1, MSSQL Server 2017) I recieved the error:
Unable to communicate with the runtime for 'Python' script. Please check the requirements of 'Python' runtime.
If will not be able to fix the problem, I would prefer not to reinstall ML Server from scratch, but restore Python and its packages from backup.
Is there a method of backup and restore Python and Packages?
May be, it is sufficient to backup and restore some Python folders like:
C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\PYTHON_SERVICES\
Thank you very much.

Python backup/recovery steps on ML Sevrer:
Backup - copy somewhere the folder
C:\Program Files\Microsoft SQL
Server\MSSQL14.MSSQLSERVER\PYTHON_SERVICES\
with workable Python version
Recovery:
1) stop SQL server including Launchpad
2) drop\replace current Python folder
C:\Program Files\Microsoft SQL
Server\MSSQL14.MSSQLSERVER\PYTHON_SERVICES\
3) copy PYTHON_SERVICES folder with workable Python version into
C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\
4) start SQL server
5) start Launchpad

Related

How to add local Instance server when we Can't find SQL Server Installation Center 2017 exe file?

I have installed Microsoft SQL Server 2017 but I can't find the SQL Server 2017 Installation Center exe named in the start menu or anything exe file. Here below I have shared the snapshots of the exe shortcut file location.
I am able to connect to the different servers that I can access and see the data in the SQL Server Management Studio 2017.
My question: I need to create a Local Instance for few Databases in my machine. Where I am unable to do it due to the Installation Center exe being missing. How Can I achieve this?
I see these are the Services that got installed on my machine.
From the below Image here I didn't see the SQL Server Installation Center 2017 exe file. Where I am looking to add an instance to my server.
My SSMS Insatlled Target Location Path :
"C:\Program Files (x86)\Microsoft SQL
Server\140\Tools\Binn\ManagementStudio\Ssms.exe"
For Reference: I have checked in my other different machine in the target location of SQL Server Installation Center it was pointing to LandingPage.exe in this path :
"C:\Program Files\Microsoft SQL Server\140\Setup
Bootstrap\SQL2017\x64\LandingPage.exe"
I have highlighted in the above image In the same way, I have checked for the Setup Bootstrap Folder was missing in my machine. I have shared the missing Setup Bootstrap folder path in the below image.
In Installed Programs, I see there is no Microsoft SQL Server 2017 Setup.As I shared in below image.
To explain clear I have added the images that made my question was lengthier. Thanks
Finally, After trying many alternate methods. I have done it by installing SQL server 2017 Express in Basic Installation.
After the installation, I have got the Setup Bootstrap folder and also SQL Server Installation center.exe 2017 have been installed.
C:\Program Files\Microsoft SQL Server\150\Setup Bootstrap\Log\20211022_130915
C:\SQL2017\Exp_ENU
C:\Program Files\Microsoft SQL Server\150\SSEI\Resources

How to install Codeplex 2017 Sharepoint List Adapter onto SSIS SQL Server 2019 (dev/prod environment)

How do you make Codeplex 2017 SharePoint List adapter work with SQL Server 2019 dev/prod environments, where you run your SSIS jobs? -- The Codeplex adapter was last updated in 2017 and there appears to be no plans of upgrading it. The adapter doesn't install/register in the newer folders established through SQL Server 2019 because they only install on the following folders \140\DTS and below.
C:\Program Files (x86)\Microsoft SQL Server\140\DTS
(SQL Server 2019 has folder \150\DTS):
We had experienced this issue and struggled with migrating some packages to SQL Server 2019 because we had to perform inserts and updates onto a SharePoint List. Trying to write our own custom C# script to handle inserts/updates didn't meet our urgency needs and are not experts in that language.
Things we considered or tried:
CozyRoc is expensive (about $5k server license) solution for just interacting with SharePoint.
Installing Codeplex 2017 SharePoint List Adapter, but it still didn't work, more steps are needed I believe to make it work.
Compared the Source Code for the Adapter Source/Destination archived in Codeplex; surprisingly it was very much the same between 2014/2017 versions.
Researched other alternatives, but nothing really fit our needs.
OData Source alone doesn't fulfill our requirements because there is no OData Destination
Our set up:
Local computer program SSDT 2017 [targeting either 2017/2019 SQL Server]
Dev/Prod environment SQL Server 2019 where we run our jobs.
If you upgraded your SSIS SQL Server dev/prod environments to 2019 & have packages from 2012/2014/2016 that perform SharePoint List Record downloads/inserts/updates; you will soon notice the 2017 SharePoint List Adapter installation does not target SQL Server 2019. You may use OData Source to download list records, but sometimes your business needs require more than that.
To overcome this, try the following steps. This worked well for our needs and are now running packages that use Codeplex 2017 SharePoint List Adapter from SQL Server 2019, Jobs.
Step 1: If you don't have it already, get the 2017 SharePoint List Adapter here
Install adapter. If it gives error, most likely need to install .NET Framework 3.5, retry installer.
Step 2: Locate path >>> in dev/prod: C:\Program Files (x86)\Microsoft SQL Server\150\DTS
The following folders must be available or created: Connections, PipelineComponents, UpgradeMappings
Add the following files into each folder below:
The following files can be found in previous installation folders within *C:\Program Files (x86)\Microsoft SQL Server* such as \140\DTS. That's where I pulled them from. But in the steps below, we need to add them onto the \150\DTS locations for SQL Server 2019.
C:\Program Files (x86)\Microsoft SQL Server\150\DTS\ Connections
SharePointListConnectionManager.dll
C:\Program Files (x86)\Microsoft SQL Server\150\DTS\ PipelineComponents
SharePointListAdapters.dll
C:\Program Files (x86)\Microsoft SQL Server\150\DTS\ UpgradeMappings
MicrosoftSamples.SharepointListAdapters.UpgradeMappings.xml
MicrosoftSamples.SharepointListAdapters.xml
Step 3: Register the adapter using the script below with Powershell Admin mode
Set-location "C:\Program Files (x86)\Microsoft SQL Server\150\DTS\PipelineComponents"
[System.Reflection.Assembly]::Load("System.EnterpriseServices, Version=4.0.0.0, Culture=neutral,
PublicKeyToken= LocateYourPublicTokenKeyMayStartWith a "b" ")
$publish = New-Object System.EnterpriseServices.Internal.Publish
$publish.GacInstall("C:\Program Files (x86)\Microsoft SQL
Server\150\DTS\PipelineComponents\SharePointListAdapters.dll")
When adapter registers successfully, run your SSIS Package from SQL Server Agent, Jobs. Remember to run in 32-bit mode
You should able to now perform the following actions in a SharePoint List from your 2019 Server:
✓ Download rows to SQL Table
✓ Insert rows to SharePoint List
✓ Modify/Update SharePoint List rows
✕ Deleting SharePoint List rows from Server Job didn't work for me, but I'll update this post in case I figure out why.
All of the above can also work from your client side computer. You should be able to use steps 1 through 2 to make the adapter work when you build packages on your computer targeting 2017/2019 SQL Server.

How to force SSIS deployement manifest files to use a particular version of DTSInstall.exe

I have an SSIS package developed in Business Intelligence Development Studio (BIDS) 2005 and the target deployment server is also SQL Server 2005.
However, on my development machine i also have full installations of both SQL Server 2008 and 2012 installed.
I have created an Integration Services Deployment manifest to install the package. The problem is, during the installation the package installation wizard is upgrading my package from PackageFormatVersion 2 to PackageFormatVersion 6 and version 6 is not supported on the production server.
My guess is that, the Integration Services Deployment manifest is using the DTSInstall.exe file for SQL Server 2012 instead of the DTSInstall.exe for SQL Server 2005.
If i open the .dtsx file in a text editor before running the package installation utility, i have below values
<DTS:Property DTS:Name="PackageFormatVersion">2</DTS:Property>
and then after running the package installation utility, 2 is changed to 6 as below
<DTS:Property DTS:Name="PackageFormatVersion">6</DTS:Property>
That change makes it fail to run on the target production server. Is there away i can ensure that the PackageFormatVersion remains 2 after running the package installation utility?
See the difference in the screenshoots below. In the first screenshot, the SSISDeploymentManifest file opens with specifically SQL Server 2005 integration services package installation utility while in screenshot 2 it opens with just generic SQL Server integration services package installation utility.
How can i specifically select sql server 2005 in screenshot 2 the way it is in screenshot 1.
The executable, DTSInstall.exe, is going to be associated to .ssisdeploymentmanifest There's nothing in that file to provide insight as to which installer should be used. Heck, MS even calls this out in the above
Depending on the version of the package that you are deploying, you might encounter an error if you have different versions of SQL Server installed side-by-side. This error can occur because the .SSISDeploymentManifest file name extension is the same for all versions of Integration Services. Double-clicking the file calls the installer (dtsinstall.exe) for the most recently installed version of Integration Services, which might not be the same version as the deployment utility file. To work around this problem, run the correct version of dtsinstall.exe from the command line, and provide the path of the deployment utility file.
From a command line, type where dtsinstall.exe
C:\Users\bfellows>where dtsinstall.exe
C:\Program Files\Microsoft SQL Server\90\DTS\Binn\dtsinstall.exe
C:\Program Files (x86)\Microsoft SQL Server\90\DTS\Binn\dtsinstall.exe
C:\Program Files\Microsoft SQL Server\100\DTS\Binn\dtsinstall.exe
C:\Program Files (x86)\Microsoft SQL Server\100\DTS\Binn\dtsinstall.exe
C:\Program Files\Microsoft SQL Server\110\DTS\Binn\dtsinstall.exe
C:\Program Files (x86)\Microsoft SQL Server\110\DTS\Binn\dtsinstall.exe
C:\Program Files\Microsoft SQL Server\120\DTS\Binn\dtsinstall.exe
C:\Program Files (x86)\Microsoft SQL Server\120\DTS\Binn\dtsinstall.exe
That will be all the gui installers in my network path. If I want to run a specific one, like you want the 2005 version, your options become one of the following
I'd need to launch it from the command line like "C:\Program Files\Microsoft SQL Server\90\DTS\Binn\dtsinstall.exe" "C:\path\to\project.ssisdeploymentmanifest"
Edit your environmental Path such that "SQL Server preferred version" shows up first
Use something else, like a PowerShell SSIS Deployment and Maintenance script

where to find Microsoft.SqlServer.Dts.Pipeline

I'm opening a 2005 SSIS pakage and also an old C# project..both are in this solution here. I'm missing namespaces and I can't find the assemblies to add back to my references folder for my C# Project
Microsoft.SqlServer.Dts.Pipeline
for example is not one I find in the list of references in the .NET references tab. So how the hell do I get these SQL Server assemblies? Do I have to install the SQL Server 2008 sdk?
Lost.
After installing SQL Server 2008R2 feature "Client Tools SDK", you can find it at
C:\Program Files (x86)\Microsoft SQL Server\100\SDK\Assemblies\Microsoft.SqlServer.DTSPipelineWrap.dll
As it's 2005, you'll need
C:\Program Files (x86)\Microsoft SQL Server\90\SDK\Assemblies\Microsoft.SqlServer.DTSPipelineWrap.dll
or
C:\Program Files\Microsoft SQL Server\90\SDK\Assemblies\Microsoft.SqlServer.DTSPipelineWrap.dll
If that's not available on the current machine, you will need to acquire your SQL Server 2005 installation media. I cannot recall what the minimum feature set you'd need to select to ensure those DLLs get installed.

Where can I find TableDiff.exe?

I just found out about the TableDiff tool for SQL Server on the hidden features question and had a full-blown nerdgasm. I would like to download the tool, but everywhere I look I am told to look in C:\Program Files\Microsoft SQL Server\90\COM\TableDiff.exe. After looking everywhere on my PC (I have SQL Server 2008 Express and SQL Server 2008 installed), I can't find it.
Where I can download the TableDiff.exe tool stand-alone?
The GUI tool isn't the droid I'm looking for.
If you cannot find TableDiff.exe, re-run the SQL Server install and choose REPLICATION support.
TableDiff is officially "Microsoft (R) SQL Server Replication Diff Tool" and will be added when using Replication.
My Windows Search is broken, or I'm an idiot. I found it here:
C:\Program Files (x86)\Microsoft SQL Server\100\COM\tablediff.exe
and NOT here as expected:
C:\Program Files\Microsoft SQL Server\100\COM
Thanks guys!
Not sure if you are running a 64bit OS as mine is located here:
C:\Program Files (x86)\Microsoft SQL Server\90\COM\tablediff.exe
On Windows with 64-bit SQL Server 2014, tablediff.exe is located here:
C:\Program Files\Microsoft SQL Server\120\COM\tablediff.exe
Replace 120 with 110 for SQL Server 2012, 100 for SQL Server 2008, etc.
For 32-bit version of SQL Server running on 64-bit Windows, replace Program Files with Program Files (x86)
tablediff.exe is self defined, if you did not find in your machine, look at someone else machine and grab the exe.
I found it by this path
C:\Program Files\Microsoft SQL Server\140\COM
You can only find the tablediff.exe application back if you have choses the "SQL Server Replication" feature (Instance Features/Database Engine Services/SQL Server Replication).
I had a few servers where this feature was not installed and then you don't find the executable back.

Resources