Steps for Side-By-Side Migrate or Upgrade plan for SQL Server 2008 R2

SQLServerF1

SQL Server 2000 or SQL Server 2005 are legacy versions which are no more fully supported by Microsoft. Most of the organizations have already migrated to the latest versions of SQL Server long back, however there are few servers or applications which still use older versions of SQL Server like SQL Server 2000 SQL Server 2005 due to compatibility issues with latest versions of SQL Server versions. There may be lot of cost involved to upgrade legacy applications to work with latest versions of SQL Server, but it is high time to either move to another application or upgrade the application to work with latest SQL Server versions. There are two different methods available to migrate or upgrade an SQL Server instance to SQL Server 2008 R2, which are In-Place Upgrade and Side-by-Side upgrade. It is always better to prefer Side-by-Side upgrade which is more safe method and also we can move to new hardware instead of using the old hardware to run the new SQL Server instances. Below are the important steps to keep in mind while upgrading from SQL Server 2000 or SQL Server 2005 to SQL Server 2008 R2 using side-by-side method.

– As a first step it is important to understand which objects would be affected after upgrading to SQL Server 2008 R2. We can get this information by running the SQL Server 2008 R2 Upgrade Advisor against the SQL Server 2000 or SQL Server 2005 instance which will generate an report with list of any warnings or issues.
– As part of the up-gradation process, stop all write activity to the SQL Server 2000 or 2005 instance. This may involve disconnecting all users or forcing applications to read-only activity.
– Transfer data from the legacy instance to the SQL Server 2008 R2 instance. This can be done by backup/restore of databases from SQL Server 2000 or SQL Server 2005 to SQL Server 2008 R2. To reduce the amount of downtime, one can look into options like Log Shipping or Database Mirroring.
– Create supporting objects in system databases like SQL Server Agent jobs, security settings(Logins, Server role permissions), Instance level configuration settings, Database options and DTS packages (legacy mode) to the new SQL Server 2008 R2 instance.
– Create new maintenance plans to mimic the old maintenance plans on server.
– Run validation scripts to verify integrity of new data (rebuild indexes, checkdb ..etc).
– Test the new instance to verify that applications work without any problems.

Also there are some new features available in SQL Server 2008 R2 like database mirroring, Auditing, BI, etc, so check if any of the new features are worth to be implemented to High Availability, Security, Stability, etc.

This is applicable on below versions of SQL Server

SQL Server 2005
SQL Server 2008 R2
SQL Server 2012
SQL Server 2014

Hope this was helpful.

Thanks,
SQLServerF1 Team
In-Depth Blogs on SQL Server, Information about SQL Server Conferences and Events, SQL Server Frequently asked questions, SQL Server Trainings.

 

Steps for Side-By-Side Migrate or Upgrade plan for SQL Server 2005

SQLServerF1

SQL Server 2000 is legacy version which is no more supported by SQL Server. Most of the organizations have migrated to the latest versions of SQL Server long back, however there are few servers or applications which still use SQL Server 2000 due to compatibility issues with latest versions of SQL Server versions. There may be lot of cost involved to upgrade legacy applications to work with latest versions of SQL Server, but it is high time to either move to another application or upgrade the application to work with latest SQL Server versions. There are two different methods available to migrate or upgrade an SQL Server 2000 instance to SQL Server 2005 which are In-Place Upgrade and Side-by-Side upgrade. It is always better to prefer Side-by-Side upgrade which is more safe method and also we can move to new hardware instead of using the old hardware to run the new SQL Server instances. Below are the important steps to keep in mind while upgrading from SQL Server 2000 to SQL Server 2005 using side-by-side method.

– As a first step it is important to understand which objects would be affected after upgrading to SQL Server 2005. We can get this information by running the SQL Server 2005 Upgrade Advisor against the SQL 2000 instance which will generate an report with list of any warnings or issues.
– As part of the up-gradation process, stop all write activity to the SQL Server 2000 instance. This may involve disconnecting all users or forcing applications to read-only activity.
– Transfer data from the legacy instance to the SQL Server 2005 instance. This can be done by backup/restore of databases from SQL Server 2000 to SQL Server 2005. To reduce the amount of downtime, one can look into options like Log Shipping.
– Create supporting objects in system databases like SQL Server Agent jobs, security settings(Logins, Server role permissions), Instance level configuration settings, Database options and DTS packages (legacy mode) to the new SQL Server 2005 instance.
– Create new maintenance plans to mimic the old maintenance plans on server.
– Run validation scripts to verify integrity of new data (rebuild indexes, checkdb ..etc).
– Test the new instance to verify that applications work without any problems.

Also there are some new features available in SQL Server 2005 like database mirroring, so check if any of the new features are worth to be implemented to High Availability, Security, Stability, etc.

This is applicable on below versions of SQL Server

SQL Server 2005
SQL Server 2008 R2
SQL Server 2012
SQL Server 2014

Hope this was helpful.

Thanks,
SQLServerF1 Team
In-Depth Blogs on SQL Server, Information about SQL Server Conferences and Events, SQL Server Frequently asked questions, SQL Server Trainings.

 

SQL Server Setup Failed with Error 0x80070002

SQLServerF1

SQL Server Installation most often or not completes smoothly without any problems, but there are many occasions too where it fails and it is not easy to understand the cause and fixing the problem. Below is one such error which causes the SQL Server Setup from not getting installed.

When you run the SQL Server setup install an MS-Dos window may popup and disappears and nothing else happens. Even if you wait for 10 or 15 minutes no further setup wizard would be launched. Generally when the setup has problems at the very initial stage, we will not even be able to find the SQL Server setup logs, but we will find couple of logs and one of it may have some error messages about the cause of the error. You can find the log file by typing the command %temp%/SqlSetup.log from Run window. You may notice an error similar to below.

.Net security policy file does not exist
Attempting to create .Net security policy file
Error: InitializeSqlSetupCodeGroupCore(32bit) failed
Error: InitializeSqlSetupCodeGroup failed: 0x80070002
Setup closed with exit code: 0x80070002

Above error occurs mostly due to problems with the .net framework which may be corrupted. So, to resolve this issue we will have to try fixing the .net framework problems.

Article explains the process about on how to manually remove and then reinstall the.NET Framework. Writing down the steps here as well, so try to follow the steps to fix the issue.

– Click Start, click Run, type installer in the Open box, and then click OK.
– On the View menu in Windows Installer, click Details, right-click the Name column header, and then click Comment.
– Right-click the cached Windows Installer file that has the Microsoft .NET Framework 2.0 RTL x86 enu comment, and then click Repair.
– After the repair process has completed, quit Windows Installer.

Next run the below below steps

– Open a command prompt by choosing Rus-as-Administrator”
– Change the directory to C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727
– Type below command.
caspol.exe -machine -reset

After following the above steps the issue must have been resolved.

This is applicable on below versions of SQL Server

SQL Server 2005
SQL Server 2008 R2
SQL Server 2012
SQL Server 2014

Hope this was helpful.

Thanks,
SQLServerF1 Team
In-Depth Blogs on SQL Server, Information about SQL Server Conferences and Events, SQL Server Frequently asked questions, SQL Server Trainings.

 

SQL Server Setup or Installation Failure on Windows 7 or 8.1

SQL Server installation or setup may fail with various reasons. Below is one of the weird error (Attempted to perform an unauthorized operation.) one may receive while installing SQL Server 2008 R2 or SQL Server 2012 on a computer with Operating System as Windows 7 or Windows 8.1.

Slp: Sco: Attempting to write hklm registry key SOFTWARE\Wow6432Node\Microsoft\MSSQLServer to file C:\Program Files\Microsoft SQL Server\100\Setup Bootstrap\Log\20140114_235617\Registry_SOFTWARE_Wow6432Node_Microsoft_MSSQLServer.reg_
Slp: Attempted to perform an unauthorized operation.
Slp: Watson bucket for exception based failure has been created
SSIS: Failed to set registry permission on key ‘SOFTWARE\Microsoft\Microsoft SQL Server\100’ to SID ‘S-1-5-21-1526145828-320026549-172912389-1029’. Exception message: ‘Attempted to perform an unauthorized operation.’
Slp: Sco: Attempting to open registry subkey SOFTWARE\Microsoft\Microsoft SQL Server\100\SSIS
SSIS: Setting permision on registry key HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\100\SSIS.
Slp: Sco: Attempting to replace account with sid in security descriptor D:(A;OICI;KR;;;S-1-5-21-1526145828-320026549-172912389-1029)
Slp: ReplaceAccountWithSidInSddl — SDDL to be processed: D:(A;OICI;KR;;;S-1-5-21-1526145828-320026549-172912389-1029)
Slp: ReplaceAccountWithSidInSddl — SDDL to be returned: D:(A;OICI;KR;;;S-1-5-21-1526145828-320026549-172912389-1029)
Slp: Sco: Attempting to set security descriptor D:(A;OICI;KR;;;S-1-5-21-1526145828-320026549-172912389-1029)
Slp: Sco: Attempting to normalize security descriptor D:(A;OICI;KR;;;S-1-5-21-1526145828-320026549-172912389-1029)
Slp: Sco: Attempting to replace account with sid in security descriptor D:(A;OICI;KR;;;S-1-5-21-1526145828-320026549-172912389-1029)
Slp: ReplaceAccountWithSidInSddl — SDDL to be processed: D:(A;OICI;KR;;;S-1-5-21-1526145828-320026549-172912389-1029)
Slp: ReplaceAccountWithSidInSddl — SDDL to be returned: D:(A;OICI;KR;;;S-1-5-21-1526145828-320026549-172912389-1029)
Slp: Sco: Attempting to normalize security descriptor D:(A;OICI;KR;;;S-1-5-21-1526145828-320026549-172912389-1029)
Slp: Sco: Attempting to replace account with sid in security descriptor D:(A;OICI;KR;;;S-1-5-21-1526145828-320026549-172912389-1029)
Slp: ReplaceAccountWithSidInSddl — SDDL to be processed: D:(A;OICI;KR;;;S-1-5-21-1526145828-320026549-172912389-1029)
Slp: ReplaceAccountWithSidInSddl — SDDL to be returned: D:(A;OICI;KR;;;S-1-5-21-1526145828-320026549-172912389-1029)
Slp: Prompting user if they want to retry this action due to the following failure:
Slp: —————————————-
Slp: The following is an exception stack listing the exceptions in outermost to innermost order
Slp: Inner exceptions are being indented
Slp:
Slp: Exception type: Microsoft.SqlServer.Configuration.Sco.ScoException
Slp: Message:
Slp: Attempted to perform an unauthorized operation.
Slp: Data:
Slp: WatsonData = SSIS
Slp: DisableRetry = true
Slp: Inner exception type: System.UnauthorizedAccessException
Slp: Message:
Slp: Attempted to perform an unauthorized operation.
Slp: Stack:

Slp: at System.Security.AccessControl.Win32.GetSecurityInfo(ResourceType resourceType, String name, SafeHandle handle, AccessControlSections accessControlSections, RawSecurityDescriptor& resultSd)
Slp: at System.Security.AccessControl.NativeObjectSecurity.CreateInternal(ResourceType resourceType, Boolean isContainer, String name, SafeHandle handle, AccessControlSections includeSections, Boolean createByName, ExceptionFromErrorCode exceptionFromErrorCode, Object exceptionContext)
Slp: at Microsoft.SqlServer.Configuration.Sco.SqlRegistrySecurity..ctor(ResourceType resourceType, SafeRegistryHandle handle, AccessControlSections includeSections)
Slp: at Microsoft.SqlServer.Configuration.Sco.SqlRegistrySecurity.Create(InternalRegistryKey key)
Slp: at Microsoft.SqlServer.Configuration.Sco.InternalRegistryKey.SetSecurityDescriptor(String sddl, Boolean overwrite)

This error can occur due to various reasons, we can try below steps which should mostly resolve this error.

– Run the SQL Server setup by choosing “Run-as-Administrator”

– If the SQL Server setup or Installation media is on a DVD or network share, then copy the entire media on to C:\temp folder and then start the installation by choosing Run-as-Administrator”

– Make sure the Setup account used has local administrator permissions. Also grant local admin permission to SQL Server service account.

– When you get this error, do not abort, instead open registry editor and Grant full permissions to below registry keys to the setup account and SQL Service account and then click on retry.
SOFTWARE\Microsoft\Microsoft SQL Server\100
HKLM\SOFTWARE\Microsoft\Microsoft SQL Server

After above steps are followed, mostly the issue must have been resolved.

This is applicable on below versions of SQL Server

SQL Server 2005
SQL Server 2008 R2
SQL Server 2012
SQL Server 2014

Hope this was helpful.

Thanks,
SQLServerF1 Team
In-Depth Blogs on SQL Server, Information about SQL Server Conferences and Events, SQL Server Frequently asked questions, SQL Server Trainings.

 

SQL Server Installation Wizard disappears After Setup Support Files

SQLServerF1

As a DBA it is common to perform installation of SQL Server and related components. Most of the times, the SQL Server installation progressed soothly. But sometimes when the SQL Server install fails it may get very difficult to identify the cause and then to find a solution.

One of the strange or weird issue one may face with the SQL Server instance is that when you start the SQL Server installation, you will be prompted to install Setup support file after that the Setup wizard provides further options to choose the instance name, location for data, log file and service accounts, etc. However you may notice that after the installation of setup support files, the setup window just disappears and does not show up again to proceed further with selecting other options.

Generally SQL Server setup logs are created under C:\program files\Microsoft SQL Server\100(different for each SQL version)\Setup Bootstrap\Log\ folder. But if the installation wizard disappears or fails after installation of Setup Support files or before that the the install log relate to this will be located at temp folder. You can get to this location by following below instructions.

Click on start->run and type %temp% and press enter (basically, go to the temp folder)
Here, look for SQLSetup.log and SQLSetup_1.log. Open the SQLSetup_1.log file.

Check these logs to see if you can find any specific errors or warnings. If you are unable to understand anything from those log files then you can do a quick search based on the error or warning messages in that log.

Coming back to the original issue of the SQL Server installation window getting disappeared after going through few installation wizard screens, you may try below steps to see if it resolves the issue.

– Open Control Panel – Add or Remove Programs and uninstall SQL Server Setup Support files. There may be multiple setup support files of multiple SQL Server instances, so remove them all.

– Logoff from the server, if possible reboot the server.

– Log back into the server and then start the SQL Server installation and now it should proceed further with the installation and should show the other options.

If above solution did not solve your problem with the SQL Server installation, then you can try the option of slip-streaming the SQL Server installation with latest Service Pack and then attempt the installation.

This is applicable on below versions of SQL Server

SQL Server 2005
SQL Server 2008 R2
SQL Server 2012
SQL Server 2014

Hope this was helpful.

Thanks,
SQLServerF1 Team
In-Depth Blogs on SQL Server, Information about SQL Server Conferences and Events, SQL Server Frequently asked questions, SQL Server Trainings.

 

SQL Server Installation Failure due to Cabinet File (SQL.CAB) Error

SQLServerF1

As a DBA it is common to install SQL Server and related components. Most often or not the SQL Server installation is easy and completes without any errors. But sometimes when SQL Server installation fails, it makes it very difficult to identify the problem and to find a solution for the same.

There are various reasons why SQL Server installation fails and below is one such error which you may receive while trying to install SQL Server instance using the setup media from DVD mounted drive.

The following error has occured:
The cabinet file ‘Sql.cab’ required for this installation is corrupted and cannot be used. This could indicate a network error, an error reading from the CD-ROM, or a problem with this package.
Click ‘Retry’ to retry the failed action, or click ‘Cancel’ to cancel this action and continue setup.

Looking at the above error, first thing which can think about is that this error has something related to the corrupt media and some problem with the installation media. So, we can try below steps to see if we can get around the error.

– Launch the Setup by choosing “Run as Administrator”

– Copy the SQL Server Installation media to local disk instead of DVD drive or Network.

– Make sure the Setup media is not corrupt, one way to verify this is to try and install the SQL Server instance on another test server to see if the issue still persists.

– Try downloading the media again from the MSDN site using download manager.

– Extract the contents of SQL Server Media ISO file using MagicISO and then try to install from the extract media.

– Turn off or Uninstall any Anti-Virus software running on the system. Reboot of the server is required after making this change.

– Sometimes this error may be returned of the windows installer file is corrupt, so if above did not work, then it is good option to try and uninstall the Windows installer and reinstall it. Reboot the server and then attempt to install again.

Hopefully one of the above solution should help you in resolving this issue.

This is applicable on below versions of SQL Server

SQL Server 2005
SQL Server 2008 R2
SQL Server 2012
SQL Server 2014

Hope this was helpful.

Thanks,
SQLServerF1 Team
In-Depth Blogs on SQL Server, Information about SQL Server Conferences and Events, SQL Server Frequently asked questions, SQL Server Trainings.

 

SQL Server 2012 Setup Failure due to Failure of InstallFeatureSpecificRules

SQLServerF1

Problem with installing SQL Server 2012 as it fails while checking some rules related Install Feature Specific Rules. Below is the error that occurred when the rule fails.

InstallFeatureSpecificRules: SQL Server 2014 Setup configuration checks for rules group ‘InstallFeatureSpecificRules’
RS_IsDotNet3_5Installed This rule determines if the Microsoft .NET Framework 3.5 Service Pack 1 is required on the system, based on the features you selected and whether Microsoft .NET Framework 3.5 Service Pack 1 is already installed.

Failed This computer does not have the Microsoft .NET Framework 3.5 Service Pack 1 installed. If the operating system is Windows Server 2008, download and install Microsoft .NET Framework 3.5 SP1 from http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=22. If the operating system is Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7 or Windows Server 2008 R2, enable the .NET Framework 3.5 feature. A computer restart may be required after installing.

Sometimes, you may see that this rule fails even after you enabled the NET Framework 3.5. So, generally when this issue happens, check from Control Panel -> Programs and Features and verify if NET Framework 3.5 is enabled or not. If it is not enabled, then go ahead and enable it and reboot the server. If it is already enabled and if you are still hitting this error, then try to disable the NET Framework 3.5 and re-enable it back, and then reboot the server. If issue still persists then try to run repair of .NET Framework using the .NET Framework Repair Tool mentioned in the article

What are SQL Server Setup or Installation Rules?
SQL Server Setup validates your computer configuration before the Setup operation completes. During SQL Server Setup, the System Configuration Checker (SCC) scans the computer where SQL Server will be installed. The SCC checks for conditions that prevent a successful SQL Server setup operation. Before Setup starts the SQL Server Installation Wizard, the SCC retrieves the status of each item. It then compares the result with required conditions and provides guidance for removal of blocking issues.
The system configuration check generates a report which contains a short description for each executed rule, and the execution status. The system configuration check report is located at %programfiles%\Microsoft SQL Server\120(may be different for other versions)\Setup Bootstrap\Log\\

This is applicable on below versions of SQL Server

SQL Server 2008 R2
SQL Server 2012
SQL Server 2014

Hope this was helpful.

Thanks,
SQLServerF1 Team
In-Depth Blogs on SQL Server, Information about SQL Server Conferences and Events, SQL Server Frequently asked questions, SQL Server Trainings.

 

Unable to Install SQL Server Analysis Service due to The folder path specified is invalid Error

SQLServerF1

I have been trying to install SQL Server Analysis Service as standalone default instance and it kept failing with the below mentioned error. It reports this error for Data, Log, TempDB and Backup folders.

The folder path specified is invalid. Please enter a valid folder path. Folder Path = “C:\Program Files\Microsoft SQL Server\MSAS11.MSSQLSERVER\OLAP\Data”.

As part of troubleshoot process, I have tried below options.

– Ran the setup by right clicking on the setup and choose “Run as Administrator” but still I hit the same error.

– I have granted Local administrator permissions to My account and SQL Server Analysis Service account, but still got the same error.

– I deleted the folder MSAS11.MSSQLSERVER from below path and attempted the install, but still had the same error.
C:\Program Files\Microsoft SQL Server\

– Copied the SQL Server setup media to local drive.

– Made sure there is no disk corruption.

– Verified and the disk or the folders are not compressed nor encrypted nor Read_Only.

– Disabled Anti-Virus and rebooted the server, but still had same error.

– Researched about this error, but did not find any conclusive solution.

– Later I have downloaded another latest SQL Server Media from the MSDN site and extracted the content using Magic ISO tool and ran the installation by “Run as Administrator” and this time the installation proceeded further and completed successfully.

So, the issue here appears to be with the SQL Server Setup Media which seem to be buggy or corrupted.

If above solution does not work for you, then you may first see if even Analysis Services is required to be installed and is it being used by any users or applications, if not, you can just avoid the installation altogether.

What is SQL Server Analysis Service?
Analysis Services is an online analytical data engine used in decision support and business intelligence (BI) solutions, providing the analytical data for business reports and client applications such as Excel, Reporting Services reports, and other third-party BI tools. A typical workflow for Analysis Services includes building an OLAP or tabular data model, deploy the model as a database to an Analysis Services instance, process the database to load it with data, and then assign permissions to allow data access. When it’s ready to go, this multi-purpose data model can be accessed by any client application supporting Analysis Services as a data source.

This is applicable on below versions of SQL Server

SQL Server 2005
SQL Server 2008 R2
SQL Server 2012
SQL Server 2014

Hope this was helpful.

Thanks,
SQLServerF1 Team
In-Depth Blogs on SQL Server, Information about SQL Server Conferences and Events, SQL Server Frequently asked questions, SQL Server Trainings.

 

SQL Server Upgrade Advisor Error Requested registry access is not allowed. (mscorlib)

SQLServerF1

SQL Server Upgrade Advisor is used by DBAs to Analyze and Evaluate the problems that can arise due to upgrading SQL Server to the specified version. Upgrade Advisor for the specified SQL Server version to which we want to upgrade needs to be downloaded and installed on the SQL Server machine where the SQL Server instance resides(We can install upgrade advisor or other servers and connect remotely to other SQL instances, but best way would be to install on same server or on Test server which is a similar replica of production server).

Mostly Upgrade Advisor runs fine without any problems, but at times you may face some errors. One of the issue we faced with running upgrade advisor on a SQL Server instance is as mentioned below.

Requested registry access is not allowed. (mscorlib)
——————————
Program Location:

at System.ThrowHelper.ThrowSecurityException(ExceptionResource resource)
at Microsoft.Win32.RegistryKey.OpenSubKey(String name, Boolean writable)
at Microsoft.Win32.RegistryKey.OpenSubKey(String name)
at Microsoft.SqlServer.UpgradeAdvisor.SqlDetection.GetClusterInfo()
at Microsoft.SqlServer.UpgradeAdvisor.SqlDetection.GetSqlInstances()
at Microsoft.SqlServer.UpgradeAdvisor.SqlDetection.EngineExists()
at Microsoft.SqlServer.UpgradeAdvisor.AnalyzerEngine.GetAnalyzer(AnalyzerType analyzerType)
at Microsoft.SqlServer.UpgradeAdvisor.AnalyzerEngine.RunAnalyzer(AnalyzerType analyzerType, String& reportFile)
System.Security.SecurityException: Requested registry access is not allowed.
The Zone of the assembly that failed was: MyComputer

– The above error can occur if the account which is used to run the Upgrade Advisor is not an Administrator account.
– RDP to the server using a local administrator account and this account needs to be part of SysAdmin server role in SQL Server.
– Launch Upgrade Advisor by right clicking on it and choose “Run as Administrator” option on Windows Server 2008 or higher.
– Make sure you use the Upgrade Advisor of same platform. For SQL Server x64 instance, use x64 Upgrade Advisor.

Purpose of SQL Server Upgrade Advisor
SQL Server Upgrade Advisor helps us in preparing for upgrades from lower version to higher versions of SQL Server. Upgrade Advisor analyzes installed components from earlier versions of SQL Server, and then generates a report that identifies issues and the objects affected to be fixed either before or after you upgrade.

How to run Upgrade Advisor

– Install SQL Server Upgrade Advisor for SQL Server version to which you are planning to upgrade.

– Click Start, point to All Programs, point to Microsoft SQL Server (version) , and then click SQL Server (version) Upgrade Advisor.

– Provide with Server Name and select the required components.

– Click on Next, Choose SQL Server Instance Name and the authentication mode.

– Verify or Provide Login Credentials provided is asked.

– Select the Databases to analyze and Click Next.

– Click Run which will start the analysis and once completed will be provided with Report.

This is applicable on below versions of SQL Server

SQL Server 2005
SQL Server 2008 R2
SQL Server 2012
SQL Server 2014

Hope this was helpful.

Thanks,
SQLServerF1 Team
In-Depth Blogs on SQL Server, Information about SQL Server Conferences and Events, SQL Server Frequently asked questions, SQL Server Trainings.

 
1 2 3 4 5