回到 VIsual Studio 2010,可以右键单击解决方案并选择“部署解决方案”,它会将所有数据库项目推送到各自配置的数据库服务器。
在 Visual Studio 2013 中,对于数据库项目,“发布”取代了之前“部署”的位置。
但是,我似乎无法找到一种方法来通过单个操作发布解决方案中的所有数据库项目。相反,有必要单独“发布”每个数据库项目。即使在配置管理器中将数据库项目设置为“部署”,“部署解决方案”对于包含数据库和 C# 项目混合的解决方案也根本不会执行任何操作。
Visual Studio 2013 中的数据库项目(.sqlproj 文件类型)是否有功能与 Visual Studio 2010 中的“部署解决方案”等效的功能?
我们一直使用.sqlproj扩展使用VS2012 SSDT进行数据库设计和开发,并使用带有DACPAC的SQLPackage部署到SQL Server ...或者从Visual Studio设置发布规则.
我们已将数据库迁移到Amazon RDS SQL Server.
我们最近对数据库设计做了一些更改,并且我尝试发布更改,但是我收到了这个错误.
Error SQL72014: .Net SqlClient Data Provider: Msg 15151, Level 16, State 1, Line 1 Cannot find the user 'dbo', because it does not exist or you do not have permission.
Error SQL72045: Script execution error. The executed script:
REVOKE INSERT
ON OBJECT::[dbo].[table_name] TO [database_role] CASCADE
AS [dbo];
Run Code Online (Sandbox Code Playgroud)
我到处搜索了如何将这种类型的数据库项目发布到亚马逊,除了为模式维护本地SQL Server数据库并购买Red-Gate SQL Compare以迁移更改..我很难过...
任何建议将不胜感激.
amazon-web-services amazon-rds sqlproj sqlpackage sql-server-data-tools
我正在努力通过 VS2013 部署 SQLProj(数据库项目),并且遇到一个问题,我可以使用一些反馈。
当我发布更改时,它会对表执行 CCRD(创建、复制、重命名、删除)操作。PreDeploy 脚本中的创建和复制以及 PostDeploy 脚本中的重命名、删除。我将这些语句封装在 Try...Catch 块中,并让它打印出错误消息。当部署前和部署后脚本遇到问题时,发布完成,显示发布成功。当这些脚本遇到错误时,我需要不同的行为。我希望这些脚本中遇到的任何错误都会导致发布失败。我尝试过使用 THROW 命令来引发错误,并且尝试过使用 RAISERROR 命令在执行时将严重性设置为 20,根据 BOL,该命令应该终止连接,但发布仍然以“成功”状态完成。
当我.sqlproj在 Visual Studio 解决方案中有一个 SQL Server 数据库项目 ( ) 时,我注意到每次构建解决方案时总是会构建该特定项目,即使项目文件没有更改。
这与仅在有任何文件更改时构建的普通C#项目 ( .csproj)不一致。
我试过提高msbuild输出的详细程度,它似乎总是在没有特殊原因的情况下构建该项目。
.sqlproj总是建有什么原因吗?有没有办法让它只在文件更改时构建?
我继承了一个包含.SQLPROJ的VS2010项目.
我对.csproj没有任何问题.但是我在解决方案中打开.SQLPROJ时遇到了问题.当我尝试打开.SQLPROJ时,我收到以下错误:
MyDBProject.sqlproj cannot be opened because its project type (.sqlproj) is not supported by this version of the application. To open it, please use a version that supports this type of project.
Run Code Online (Sandbox Code Playgroud)
我的理解是这个解决方案是使用VS2010开发的.但我无法打开数据库项目.是否需要安装软件?
我尝试通过 Visual Studio 2015 使用 SqlProj 导入数据库架构 (MSSQL2008)。有两个数据库要做。
开发数据库版本 10.50。4000 <- 我使用 Windows Credentials
TestDb 版本登录。10.50。6000 <- 我用 sql 的用户登录
两个数据库的兼容性级别 100 为“100”。
首先一切正常,但第二个数据库错误发生。
“不支持服务器版本或数据库兼容级别。”
没有日志,EventLog 中没有任何条目。也许我应该为 VisualStudio 安装一些插件来处理垃圾更新版本?
我们有一个 sqlproj针对本地 SQL 2014 的。生成和发布按 Visual Studio 的预期工作。
现在我们正在尝试使用 VS Online 构建数据库项目并将其部署到 Azure 数据库 v12。我们收到错误,指出 SSDT 目标数据库错误。这是有道理的,因为 Azure 数据库和 SQL 2014 支持不同的功能并产生不同的警告/错误。我们在网上找到的每篇文章/帖子都展示了如何在设计时从 GUI 更改目标平台。
我们的假设是平台可以在构建时定位,与更改类库的目标平台相同。但是,我们无法找到 sqlproj 目标平台的可用参数列表。
有没有人有链接或知道要为 VS Online 构建参数设置的 key=value 属性?
谢谢
我想在我的 SSDT 项目中有条件地构建部署后脚本,但我不明白该怎么做。因此,通常会构建部署后脚本,但我想要一种在进行调试构建时不构建或运行部署后脚本的方法。我正在从命令行运行构建,因此我可以传入属性,但是如何使用属性来不运行部署后脚本?
我看到的选项是 SQLCMD,或编辑 SQLPROJ 文件,或传入属性,但我找不到任何关于 SQLPROJ 文件可用属性和不可用属性的参考。
我想要有条件构建的文件位于此处:
<ItemGroup>
<PostDeploy Include="PostDeploymentScripts\Script.PostDeployment1.sql" />
</ItemGroup>
Run Code Online (Sandbox Code Playgroud)
我的调试构建块如下所示:
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<OutputPath>bin\Debug\</OutputPath>
<BuildScriptName>$(MSBuildProjectName).sql</BuildScriptName>
<TreatWarningsAsErrors>false</TreatWarningsAsErrors>
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<DefineDebug>true</DefineDebug>
<DefineTrace>true</DefineTrace>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
Run Code Online (Sandbox Code Playgroud)
我的命令行如下所示:
msbuild $sqlprojFilePath /p:Configuration="Debug"
Run Code Online (Sandbox Code Playgroud) 我目前正在使用Microsoft Web部署技术(msbuild和msdeploy命令)将网站部署到服务器.该网站需要部署数据库,两者都在同一台服务器上.我正在寻找部署数据库项目(使用命令行)的最佳解决方案,我想更好地了解有关数据库部署的所有技术.
解决方案的内容(Visual Studio 2013):
注意:我没有自愿使用VS中的持续集成/交付工具或发布方法.我这个项目的第一个目标是了解msbuild/msdeploy如何工作......
我看了一下vsdbcmd命令,它似乎做了我想要的所有步骤......除了我需要将Visual Studio DLLs /文件导入我的远程服务器,我想知道是否有更好的方法......我也看了在msdeploy提供程序dbSqlPackage/dbDacFx,但据我所知,它使用dacpac来应用架构更改.同样,SqlPackage.exe似乎也使用dacpac.
使用dacpac听起来不错,但我对以下问题感到困惑:
是否有其他方法可以从命令行以及您的经验和项目进行部署,部署此类项目的最佳方式是什么?
非常感谢,
sqlproj ×9
msbuild ×2
sqlpackage ×2
amazon-rds ×1
azure-devops ×1
c# ×1
csproj ×1
database ×1
deployment ×1
msbuild-task ×1
msdeploy ×1
sql ×1
sql-server ×1
vsdbcmd ×1