如何使用SQL Server数据库项目

2024-03-24

我正在运行安装了 SSDT(SQL Server Data Tools)的 SQL Server 2012 和 VS 2010。我的开发数据库使用存储过程、函数、CLR 对象等。它有大约 500GB 的生产数据快照。

我创建了 SQL Server 数据库项目,然后导入了数据库。这将在模式名称下创建所有表、视图、过程和函数文件。很棒的东西——现在我可以像在其他 VS 项目中一样进行版本控制、创建部署等。到目前为止,一切都很好。

但是,我对在 SQL Server 数据库项目下更改/添加过程/表的开发过程应该是什么感到困惑。看来我所做的任何更改都会应用于某些 LocalDb/Projects 数据库,而不是我的开发数据库。

我是否应该在 LocalDb 中创作所有对象,然后通过发布构建并部署到我的开发数据库?我担心开发数据库中现有的表,因为如果发布过程删除并重新创建表,我将丢失我的产品数据快照。

SQL Server 数据库项目中应遵循的正确开发流程是什么?


将源数据库(在您的情况下,您的数据库项目)视为部署后的“待”状态。启动部署时,可执行文件 (SqlPackage.exe) 会将源与目标进行比较,并生成差异/增量脚本以使目标看起来像源。这就是为什么我们不再需要指定CREATE or ALTER;该工具可以解决这个问题。要回答有关持续开发的问题,您可以采用任何一种方式进行开发。您可以在项目文件中进行开发并将它们发布到公共开发数据库(例如,如果您在一个团队中),或者您可以使用 SQL Server Management Studio (SSMS) 等工具在数据库中进行开发并与项目文件同步与模式比较(我使用后一种技术,因为我喜欢 SSMS)。

对于部署,您必须在执行部署的计算机上安装 SSDT(SSDT 随 SQL Server 2012 及更高版本提供;我不了解 SQL Server 2008)。您可以创建脚本来简化部署。您实际上将使用操作和源来调用 SqlPackage.exe(它位于 x:\Program Files (x86)\Microsoft SQL Server\nnn\DAC\bin 中)。我还使用发布配置文件来处理大多数命令属性。因此,示例部署可能如下所示:

SqlPackage.exe /Action:Publish /SourceFile:MyDatabase.dacpac /Profile:MyProfile.publish.xml

了解更多信息: SQL Server 数据工具文档http://msdn.microsoft.com/en-us/library/hh272686(v=vs.103).aspx http://msdn.microsoft.com/en-us/library/hh272686(v=vs.103).aspx

SqlPackage.exe 文档http://msdn.microsoft.com/en-us/library/hh550080(v=vs.103).aspx http://msdn.microsoft.com/en-us/library/hh550080(v=vs.103).aspx

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用SQL Server数据库项目 的相关文章

  • 在 SQL 中搜索 xml 列中的多个值

    这是我的桌子 BasketId int BasketName varchar BasketFruits xml 1 Gold
  • 是否可以使用不在 GROUP BY 中的 ORDER BY 列?

    正如标题所说 这是我的代码 SELECT material SUM Amount AS Amount RIGHT CONVERT varchar 50 date in 106 8 FROM rec stats GROUP BY materi
  • EntityFramework:“参数值超出范围。”

    我在 EntityFramework 模型优先 中保存小数时遇到问题 在我的 EDMX 中 我声明我的属性为 Decimal 30 10 然后我尝试保存该数字 1215867935736100000 结果是 Parameter value
  • 交易已在触发条件下结束。批次已中止。派生属性

    我有这个触发器 CREATE trigger dbo DeriveTheAge on dbo Student after insert update as begin declare sid as int declare sdate as
  • 连接2个表区分大小写

    我有 2 个表 需要获取品牌代码的结果 例如 在数据库中 我有两个不同的品牌 但它们的代码是相同的 只有小写和大写不同 例如 代码名称 关于耐克 和阿迪达斯 如何在代码上内连接 2 个表以分别获取这 2 个表 现在 在内连接之后我得到了这
  • 如何判断谁登录了 SQL Server

    我正在设计一个应用程序 我正在寻找最好的方法来告诉谁当前登录到 SQL Server 我将使用 SSMS 内置的活动监视器 它显示访问服务器的所有进程的列表 非常酷 但是 如果在我的 NET 代码中 每次访问数据库时它都使用单独的连接 那么
  • 使用 Reporting Services 将组保持在一页上

    我使用 Reporting Services 创建了一个报表作为 C 应用程序的一部分 但我找不到一些我习惯在其他环境中看到的功能 我相信 MS Access 和 Crystal 报表都有一个名为 保持在一起 的选项 这样您就可以将特定的数
  • 如何从 C# 连接到 SQL 数据库?

    我正在尝试为我的家庭网络编写一个本地程序管理和安装系统 并且我认为我已经确定了技术 C NET WPF 客户端 Lua 用于安装脚本支持 通过 LuaInterface SQL Server Express 用于维护程序数据库 但是我不确定
  • 搜索并替换字符串 t-SQL

    每个人我都试图编写一个查询来替换末尾出现的所有字符串 我有一些干扰词 确切地说是 104 个 如果它们出现在字符串末尾 则需要将其从字符串中删除 例如 两个干扰词是 Company LLC 以下是一些示例和预期输出 American Com
  • 将一行字段设置为其他 2 个字段的乘积

    我有一个这样的SQL表结构 Id A B C D 1 1 5 6 25 2 2 10 5 25 3 3 7 4 25 4 1 6 5 26 5 2 10 5 26 6 3 8 3 26 我想写一个脚本 它将更新所有B 和 C 列在行中A 3
  • 如何查询最近7天的总计?

    我正在使用 SQL Server 2008 我想编写一个查询来提供给定天数的总活动量 具体来说 我想统计过去 7 天每天的总票数 我的桌子看起来像这样 VoteID VoteDate Vote BikeID 1 2012 01 01 08
  • 警告:mysqli_stmt::bind_param():变量数量与准备好的语句中的参数数量不匹配[重复]

    这个问题在这里已经有答案了 我收到以下错误 Warning mysqli stmt bind param Number of variables doesn t match number of parameters in prepared
  • #DELETE 在 Access 中查看 SQL Server 表

    今天早上又出现了一个新问题 我的数据库驻留在 SQL Server 上 并使用 Access 作为前端 其中一个已经使用了至少 10 年的数据库今天突然停止工作 我发现这个问题影响了 2 个 可能更多 我没有检查所有 表 当我在访问中打开表
  • .Net 将 NULL 值从变量值插入 SQL Server 数据库

    也有类似的问题 但答案不是我想要的 如果引用为 NULL 或尚未分配值 我想将 NULL 值插入 SQL Server 数据库 目前我正在测试 null 它看起来像 String testString null if testString
  • 带附件的数据库电子邮件(excel 文件/pdf 文件)?

    我必须从数据库向我的邮件 ID 发送一封带有附件的邮件 EXEC msdb dbo sp send dbmail profile name Adventure Works Administrator recipients email pro
  • 将插入与 select 语句合并

    这对我有用 MERGE Table1 AS tgt USING SELECT TOP 1 FROM Table2 SELECT itmid FROM Table3 WHERE id id as a WHERE id id AS src ON
  • 触发器以捕获服务器中的架构更改

    是否可以实现类似以下触发器的东西 CREATE TRIGGER tr AU ddl All Server ON DATABASE WITH EXECUTE AS self FOR DDL DATABASE LEVEL EVENTS AS D
  • 需要帮助在 MS Access 中实施完全外部联接

    我无法让查询在 Access 中正常工作 我需要 dbo cardpurchases 和 dbo vendors 上的完整外部联接 以便所有所有供应商都将出现在查询中 无论是否在该供应商处进行购买 但 Access 不支持完全外部联接 我还
  • SQL Server 全文搜索 - 是否可以在单词中间进行搜索?

    我的数据库有全文搜索 是否可以在单词中间搜索某些文本 例如 我有一个描述列 其中包含以下文本 Revolution 是否可以搜索 EVO 并让它在 革命 一词中找到它 或者我是否一直在做 LIKE SELECT FROM Table WHE
  • SSIS ForEach File 循环 - 将文件名插入表

    我正在构建一个 SSIS 包 使用 VS 2017 来从特定文件夹加载一堆 CSV 文件 使用 ForEach File 循环效果很好 数据流任务具有平面文件源和 OLE DB 目标 我希望能够将文件名以及 CSV 文件中的数据保存在同一个

随机推荐

  • 使用升压间隔_map

    试图遵循boost party我制作了这个示例代码 include boost icl interval hpp include boost icl interval map hpp include
  • 为什么Python中列表元素查找的复杂度是O(1)?

    今天在课堂上 我们了解到从列表中检索元素是O 1 在Python中 为什么会这样呢 假设我有一个包含四个项目的列表 例如 li perry 1 23 5 s 这些项目在内存中具有不同的大小 所以不可能获取内存位置li 0 并添加每个元素大小
  • 相似列出现的次数

    我是 SQL SERVER 新手 需要您的建议 我有一张大桌子 上面有商店信息 这是 bench id 列 bench id 31 51 51 61 61 61 71 71 我创建了另一个包含两列的小表 distinct bench num
  • BatchGetItem 或 Query DynamoDb - 按范围查询

    我有一个名为 User 的表 它有一个用户 ID 的哈希键和一个组织 ID 的范围键 如何返回组织 ID 为 3 的所有用户 顺便说一句 这是一个 Lambda 函数 这段代码给了我一个错误 console log Loading even
  • YUY2 与 YUV 422

    我无法理解两者之间的确切区别 从研究来看 更多地讨论两者是不同的 但少数人似乎将它们分组在 4 2 2 抽样方案下 YUV 422 I 和 J 版本 有一个亮度平面 Y 和 2 个色度平面 U V 然而 在 I422 中 色度平面 蓝色和红
  • 如何在 React.js 中解析 FOUC

    我已经从 create react app 构建了react js 网站 但在生产模式下 存在 FOUC 因为样式是在 html 渲染后加载的 有什么办法可以解决这个问题吗 我一直在谷歌搜索答案 但还没有找到合适的答案 FOUC FOUC
  • 如何在WPF中绘制平滑的曲线?

    我有三个已知位置 目前我正在驾驶两条线路 如下所示 Line line new Line StrokeThickness 3 Stroke lineColor X1 MyX Y1 MyY X2 MyX Y2 MiddleY Graph Ch
  • Canvas 绘制在 Safari 上需要花费大量时间,但在 Chrome 或 FF 上则不需要

    我正在我的网站上制作万花筒 它所做的只是获取一张图像 通过拖放或加载时的默认图像 并将其复制 10 次 万花筒的每个切片复制一次 鼠标移动时 调整切片的旋转和缩放以达到所需的效果 在 Google Chrome 和 Firefox 上 它可
  • Azure 上的 ASP.NET MVC 5:对于 SVG 文件,“您正在查找的资源已被删除...”

    我创建了一个包含一些视图和控制器的 MVC 5 网页 添加了一些图像 gif 和 svg 并验证它主要在本地工作 图像显示出来 一切都按预期进行 当我部署到 Azure 时 gif 图像加载正常 但 svg 图像给出错误The resour
  • Javascript 如果对象中存在值?

    我有一个对象 var car company Honda year 2011 Model Brio 我想知道是否存在继承方法 这是正确的短语吗 来检查给定对象中是否存在值 有点像x hasOwnProperty or if x in car
  • 为什么 JavaScript 的这两部分不等价?

    在 jquery 1 4 2 ff 3 6 6 中 以下代码生成三个 div 它们按照您的预期将消息写入 Firebug 控制台 但是 如果您取消注释循环并注释掉手动执行的 3 行 则它将不起作用 将鼠标悬停在任何 div 上都会导致 th
  • 在VIM中插入到行尾

    So for a long time I ve had a bad habit of going to the end of a line hitting the i key and then hitting the right arrow
  • includeAll path="" 在 3.5.3 中不起作用,使用 java -jar 方法

    我们遇到一个主要问题 即相对路径在databaseChangeLogMaster xml使用 includeAll 时的文件 includeAll 仅适用于绝对路径 示例如下 下面不起作用
  • 允许搜索机器人在没有会话 ID 的情况下抓取您的网站

    谷歌的 state 允许搜索机器人在没有会话 ID 或跟踪其网站路径的参数的情况下抓取您的网站 这些技术对于跟踪个人用户行为很有用 但机器人的访问模式完全不同 使用这些技术可能会导致网站索引不完整 因为机器人可能无法消除看起来不同但实际上指
  • 计算给定字符集的所有组合,以进行强力匹配?

    在实践多线程时 我希望简单地构建一个应用程序 可以计算字符集的所有可能组合 即强力破解 匹配 并在线程之间分配工作 以真正测量并直接了解线程如何影响算法在不同系统上的时间 到目前为止 计算这个的算法对我来说是一个巨大的挑战 在最近的一个线程
  • 架构配置无效:“model”不是数组“characters”中的有效类型

    我正在尝试创建架构子文档 但收到上面列出的错误 有问题的模式看起来像这样架构导致问题 const mongoose require mongoose const Schema mongoose Schema const CharacterS
  • 从 xargs 运行时,如何避免 sed 出现“无输入文件”错误?

    我有这个 shell 脚本来更新我的配置文件中的 IP 地址 任何匹配的 old address pattern必须改为 new address grep rl old address pattern etc xargs sed i s o
  • 如何允许或阻止 Headless chrome 上的通知警报

    我正在运行我的量角器测试headlesschrome 我不确定无头chrome是否会弹出通知警报 如果弹出 如何允许和阻止它们 对于非无头 Chrome 我添加了此中给出的解决方法post https github com angular
  • ERP 的最佳默认事务隔离级别是多少(如果有)?

    简短背景 我们刚刚开始使用 Hibernate 将 ERP 系统迁移 重新实现到 Java 目标是使用该系统的并发用户数为 50 100 个 我们使用 MS SQL Server 作为数据库服务器 这足以满足此负载 现在 旧系统根本不使用任
  • 如何使用SQL Server数据库项目

    我正在运行安装了 SSDT SQL Server Data Tools 的 SQL Server 2012 和 VS 2010 我的开发数据库使用存储过程 函数 CLR 对象等 它有大约 500GB 的生产数据快照 我创建了 SQL Ser