码成呆瓜 2024-03-28 21:50 采纳率: 10%
浏览 8

win系统安装sql server报错,已经安装了Visual C++ 2017 Redistributable,也是以系统管理员身份运行

win系统安装sql server报错,已经安装了Visual C++ 2017 Redistributable,也是以系统管理员身份运行,找不到问题

img

img

img

  • 写回答

3条回答 默认 最新

  • 专家-皆知 2024-03-28 21:50
    关注

    引自免费微信小程序:皆我百晓生

    在解决Windows安装SQL Server 2019过程中遇到的问题时,可能需要遵循以下几个步骤和代码示例:

    解决问题步骤一:检查VS redistributable

    1. 确保已经安装 Visual C++ 2017 Redistributable。可以在命令提示符或控制面板上找到它,通常位置为"Program Files (x86)\Microsoft Visual Studio\Shared Debugger"。
    2. 确认路径是否正确 在VS的安装目录中,确保已包含了名为VC_redist_x64.exe的文件。如果不是,请手动下载并安装此文件,然后在安装路径下搜索该文件以替换旧版本的VS安装程序。

    解决方案代码示例:

    FOR /f "delims=" %%a IN ('dir /b "C:\Program Files (x86)\Microsoft Visual Studio\Shared Debugger\VC_redist_x64.exe"') DO (
        IF NOT EXIST "%%a" SET vs_redist_path = "C:\Program Files (x86)\Microsoft Visual Studio\Shared Debugger\VC_redist_x64.exe"
        mkdir "C:\Temp\vs_redist_temp"
        DEL "%vs_redist_path%"
    )
    

    解决方案步骤二:检查SQL Server 2019 installer

    1. 查找安装脚本 在安装目录中找到名为msodbcsql_Cpu64>Action:RollbackCleanup.vsi的脚本。
    2. 更新Visual C++ Tools 右键点击该文件,选择“属性”,在弹出窗口中选中“工具箱和主题”选项卡,切换至“开发工具”组,选择“Microsoft SQL Server”。在“组件列表”中,检查“Microsoft SQL Server SP Component Framework”选项是否存在。
    3. 更新Visual Studio IDE 在MSBuild设置中,添加Add Missing Link for .NET Framework (v3.5 and later)复选框,如下所示:
    <ItemGroup>
        <Reference Include="System.Data.SqlClient" />
    </ItemGroup>
    
    <Target Name="CopyMissingLinkFiles">
        <Output TaskParameter="missing_link_files_list" ItemName="missing_link_files"/>
        <GenerateCode ForType="System.Data.SqlClient.SqlConnection" LanguageVersion="v3.5" GenerateAssembly="true" BeforeTargets="PrepareForBuild">
            <Target Name="FindVSMissingLinks">
                <ItemGroup>
                    <File Condition="Exists('$(SolutionDir)src\System.Data.SqlClient.props') AND NOT "$(SolutionDir)src\System.Data.SqlClient.props teammates"" AssemblyName="System.Data.SqlClient" Module="System.Data.SqlClient" Namespace="System.Data.SqlClient" Project="$(ProjectName)" ReplacementTokens="" />
                    <File Condition="Exists('$(SolutionDir)src\System.Data.SqlClient.tfslinks.props') AND NOT "$(SolutionDir)src\System.Data.SqlClient.tfslinks teammates"" AssemblyName="System.Data.SqlClient" Module="System.Data.SqlClient" Namespace="System.Data.SqlClient" Project="$(ProjectName)" ReplacementTokens="" />
                    <File Condition="Exists('$(SolutionDir)src\System.Data.SqlClient.sqldll.props') AND NOT "$(SolutionDir)src\System.Data.SqlClient.sqldll teammates"" AssemblyName="System.Data.SqlClient" Module="System.Data.SqlClient" Namespace="System.Data.SqlClient" Project="$(ProjectName)" ReplacementTokens="" />
                    <File Condition="Exists('$(SolutionDir)src\System.Data.SqlClient.sqldll_TfsLinks.props') AND NOT "$(SolutionDir)src\System.Data.SqlClient.sqldll_TfsLinks teammates"" AssemblyName="System.Data.SqlClient" Module="System.Data.SqlClient" Namespace="System.Data.SqlClient" Project="$(ProjectName)" ReplacementTokens="" />
                </ItemGroup>
            </Target>
            <Target Name="CreateVsMissingLinkList">
                <CreateItem Type="collection" PropertyPath="missing_link_files_list" RepeatCount="0">
                    <Item Path="$(SolutionDir)src\System.Data.SqlClient.props" />
                    <Item Path="$(SolutionDir)src\System.Data.SqlClient.tfslinks.props" />
                    <Item Path="$(SolutionDir)src\System.Data.SqlClient.sqldll.props" />
                    <Item Path="$(SolutionDir)src\System.Data.SqlClient.sqldll_TfsLinks.props" />
                </CreateItem>
            </Target>
            <Target Name="FixVSMissingLinks">
                <Compile Include="..\..\..\.vs\bin\Microsoft.Common.targets" />
    
                <Target Name="CollectReferencedProjects">
                    <Action Command="Get-ChildItem $(SolutionDir)src | Select-Object -ExpandProperty FullName">
                        <Output TaskParameter="project_names" ItemName="projects" />
                    </Action>
                    <PropertyGroup>
                        <ProjectsToCheck projects="@(projects)" />
                    </PropertyGroup>
                    <Message Text="Project names to check: @projects"></Message>
                    <Verify-projects foreach-item project in projects {
                        <PropertyGroup>
                            <Script>Find-Module -name 'System.Data.SqlClient' -ea NoManifestResourceFile | Where-Object { $_.PSIsContainer -eq $false } | Foreach-object { $_.Name } | Remove-Module -Silently |
                                Find-Module -name 'System.Data.SqlClient.TfsLinks' -ea NoManifestResourceFile | Where-Object { $_.PSIsContainer -eq $false } | Foreach-object { $_.Name } | Remove-Module -Silently |
                                Find-Module -name 'System.Data.SqlClient.sqldll' -ea NoManifestResourceFile | Where-Object { $_.PSIsContainer -eq $false } | Foreach-object { $_.Name } | Remove-Module -Silently |
                            }
                        </PropertyGroup>
                        <Properties />
                    </Verify-projects>
                </Target>
                <Target Name="RemoveDuplicatesOfProjects">
                    <Action Command="Find-Module -name 'System.Data.SqlClient' -ea NoManifestResourceFile | Where-Object { $_.PSIsContainer -eq $false } | Foreach-object { $_.Name } | Select-Object -ExpandProperty Name | distinct">
                        <Output TaskParameter="unique_names" ItemName="unique_names" />
                    </Action>
                    <PropertyGroup>
                        <UniqueNamesToCheck unique_names="@(unique_names)" />
                    </PropertyGroup>
                    <Message Text="Unique names to check: @unique_names"></Message>
                    <Verify-unique-names foreach-name unique_name in unique_names {
                        <RemoveItem Project="@unique_name" RemoveReason="duplicate" />
                    }
                </Target>
                <Target Name="FixDuplicateProjects">
                    <Action Command="Remove-Item $(SolutionDir)src\System.Data.SqlClient.props -Recurse -Force -WhatIf">
                        <Output TaskParameter="removes" ItemName="removes" />
                    </Action>
                    <PropertyGroup>
                        <RemovesToCheck removes="@(removes)" />
                    </PropertyGroup>
                    <Message Text="Removes to check: @removes"></Message>
                    <Verify-removes foreach-remove remove-in-team "@" removesToRemove.Repo {
                        <RemoveItem Project="@removeInTeam" RemoveReason="inconsistent" />
                    }
                </Target>
                <Target Name="BuildDependencyManagementModel">
                    <Exec Command=".\build.ps1 -Configuration Release -Verbosity detailed" />
                </Target>
                <Target Name="CleanDependencies">
                    <Exec Command=".\build.ps1 -Configuration Release -Verbosity detailed -Tasks Clean" />
                </Target>
                <Target Name="CreateRestorePoint" DependsOn="CleanDependencies,BuildDependencyManagementModel">
                    <Exec Command=".\build.ps1 -Configuration Release -Verbosity detailed -Task CreateRestorePoint" />
                </Target>
                <Target Name="InstallSqlServer" DependsOn="CleanDependencies,BuildDependencyManagementModel">
                    <Exec Command=".\build.ps1 -Configuration Release -Verbosity detailed -Task InstallSqlServer" />
                </Target>
            </Target>
        </Target>
    )
    

    解决方案步骤三:修复SQL Server 2019 installer

    1. 清理SQL Server 2019 installer 删除所有已安装的碎片化的SQL Server 2019 installation files,例如 %temp%\sqlserver\[安装版本]\ 存储路径下的 .sqlinstall, .sqlsetup, .log, .manifest, config.msi, productkey.msi, etc.

    2. 重新初始化SQL Server安装 首先,打开SQL Server Management Studio,右键点击“恢复到初始状态”,选择“全部还原”。

    3. 删除临时安装日志文件 如果有创建的SQL Server 2019临时安装日志文件,执行以下操作:

      find %temp%\sqlserver\[安装版本]\ -type f -name "*.log" -delete
      

      这将删除所有的SQL Server 2019临时安装日志文件。

    4. 卸载SQL Server 2019 使用以下命令卸载SQL Server 2019:

      uninstall -name sqlserver2019
      

      注意:若用户已设置了自动重启,此步骤可能会导致安装停止或异常。建议在完成后进行重启或查看SQL Server的状态。

    解决方案步骤四:尝试重新安装SQL Server 2019

    1. 从Microsoft Download Center获取最新安装镜像 如果上述步骤都无法解决问题,可以从Microsoft Download Center(https://www.microsoft.com/download)中下载SQL Server 2019的官方发行版安装镜像。
    2. 确定网络连接和下载路径 确保您的网络连接正常,并且SQL Server 2019的官方下载路径位于下载中心目录下,例如:
    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 3月28日

悬赏问题

  • ¥15 x趋于0时tanx-sinx极限可以拆开算吗
  • ¥500 把面具戴到人脸上,请大家贡献智慧
  • ¥15 任意一个散点图自己下载其js脚本文件并做成独立的案例页面,不要作在线的,要离线状态。
  • ¥15 各位 帮我看看如何写代码,打出来的图形要和如下图呈现的一样,急
  • ¥30 c#打开word开启修订并实时显示批注
  • ¥15 如何解决ldsc的这条报错/index error
  • ¥15 VS2022+WDK驱动开发环境
  • ¥30 关于#java#的问题,请各位专家解答!
  • ¥30 vue+element根据数据循环生成多个table,如何实现最后一列 平均分合并
  • ¥20 pcf8563时钟芯片不启振