小编Sho*_*ess的帖子

如何在Visual Studio 2010数据库项目中开发TSQL

愚蠢的问题,我知道......让我先做一些基础工作.

我已经成功创建了一个由数百个表,存储过程,索引等组成的数据库项目.构成我们的生产数据库.

我已成功将解决方案添加到源代码管理(TFS).

我必须说,我已经对一些对象进行了更改(作为测试)并生成了部署脚本,整个系统非常令人印象深刻.但看起来VS 2010的实力,从数据库的角度来看是部署,而不一定是开发.

我对使用Visual Studio进行数据库/ TSQL开发所涉及的日常工作流程感到困惑.假设我需要向表中添加几列,并修改相关的存储过程以返回/更新这些列的数据.

虽然很容易修改我的数据库模型中的所有脚本,但我希望能够将它们与开发数据库隔离开来,我可以在那里进行一些测试......但是如果没有更新proc那就简单了存在而不手动将脚本更改为ALTER(或在CREATE之前添加DROP代码).必须这样做一两次是没有问题的,但在真正的开发环境中,我们整天都这样做.

也许答案是执行频繁部署到开发服务器,例如我调试并对proc进行更改?相当多的开销; 我可以在几秒钟内手动执行必要的脚本,构建和部署需要几分钟.另外,如果我们三个人正在为dev DB部署不同的更改,我们是否不会覆盖彼此的修改?

很抱歉这么长,但我不禁想到我在这里错过了一些简单的东西.

是否有任何书籍/教程/网络研讨会展示了这种实际开发方法?

t-sql database visual-studio-2010 visual-studio

10
推荐指数
1
解决办法
652
查看次数

如何解决Visual Studio 2012挂起/锁定问题

我在Visual Studio中进行PHP开发,我的解决方案包含PHP,SSRS和SQL Server(SSDT)的项目.我正在使用TFS进行版本控制.所以我的开发环境中有很多可能"出错".

我正在经历间歇性的挂起,通常约5分钟一个片段.Visual Studio为我提供了等待光标,如果我在VS中的任何地方单击,则窗口会变暗.然后我只需要等待它.有时我可以结束devenv.exe任务,有时则需要几分钟才能终止任务.如果我感到耐心,我只是等待并最终(大约5分钟)VS恢复生机.即使我终止了这个过程,我也从未经历过数据丢失,源代码控制等问题.

当我保存时,它有时会发生.有时当我办理登机手续时.有时当我退房.有时当我建立.我一直无法辨别出任何形式的行为.

我的所有工作站资源都很好 - 没有RAM或i/o或网络或CPU问题.

我该怎么做才能解决这个问题?我可以在某种日志记录模式下运行VS,这样我就可以确定在这些锁定期间花了这么长时间吗?

hang visual-studio-2012

8
推荐指数
2
解决办法
1万
查看次数

Netbeans IDE(6.8/PHP) - 自定义窗口安排?

我在NetBeans 6.8中进行PHP开发,并希望能够使用按键在窗口布局之间切换.

据我所知,IDE提供了不同的"窗口组",具体取决于我是编辑还是调试,但我正在寻找自定义控件.

例如,我想有一个最大编辑器视图,其中编辑器占据了大部分屏幕空间...然后按Ctrl-Alt-2并有第二个窗口排列显示项目文件层次窗口出现在编辑器的左侧...然后按Ctrl-Alt-3并将变量/ watches/search结果显示在编辑器下方...然后按Ctrl-Alt-1并再次显示max-editor-view.

无论如何,这样的事情.可能吗?

php ide user-interface netbeans

5
推荐指数
1
解决办法
211
查看次数

Titanium Appcelerator:没有Mac的iPhone开发(如PhoneGap)

我即将开始一些移动开发项目,但我先做一些功课.我的主要目标是部署到Android和iOS,但后者出现了一些问题,因为我无法访问(也没有兴趣获得)Mac.

Phonegap提供云服务,您可以上传移动开发项目,他们将为您进行构建 - 无需Mac.来自Phonegap Build FAQ:

只需将您的网络资产 - 一个包含HTML,CSS和JavaScript的ZIP文件或一个index.html文件 - 上传到PhoneGap Build,将我们指向您的Git或SVN存储库,或者让我们设置一个您可以推送的git远程端点至.然后我们将为您进行编译和包装.几分钟后,您将收到所有移动平台的下载URL.

我倾向于Appcelerator的开发和本机UI功能,但由于我没有Mac,我是否有希望使用类似于PhoneGap的Build服务的东西使用Titanium进行iOS开发?

windows mobile titanium ios

3
推荐指数
1
解决办法
3471
查看次数

如何使用TSQL在WHERE子句中过滤XML执行计划数据

我在SO上看到了几个响应,其中TSQL语句使用XML数据类型的.value或.exist方法(此处此处)对XML数据进行过滤。尽管我不熟悉这些方法的构造/语法,但我有一个更深的问题。

我试图查询一些缓存的执行计划数据,并在数据中搜索特定索引的引用,问题是我不知道XML的位置。现在,我将XML转换为NVARCHAR并仅使用LIKE(请参阅查询的最后一行):

  DECLARE @IndexName NVARCHAR(100) = 'MyIndex'

    SELECT  OBJECT_NAME(objectid) AS procname, usecounts, query_plan
    FROM    sys.dm_exec_cached_plans cp
    CROSS   APPLY sys.dm_exec_query_plan(cp.plan_handle) qp
    WHERE   objtype = 'Proc'
    AND     CAST(query_plan AS NVARCHAR(MAX)) LIKE '%' + @IndexName + '%'
Run Code Online (Sandbox Code Playgroud)

这样行得通,但是我得到了多余的结果。最终,我想获得索引查找和扫描的结果,但是现在我还看到了行,其中索引被修改了(例如,针对常规表更新的执行计划,因为索引也在被更新)。

  1. 如何改写查询的最后一行以使用某种通配符XML语法(并避免使用CASTing)?
  2. 如何优化查询以仅返回父节点为“ IndexScan”的那些项目
  3. 如何优化查询以仅返回其第一个找到的祖先“ RelOp”具有名为“ PhysicialOp”且值为“ Index Seek”的项?

这是一些简化的示例XML:

<RelOp NodeId="13" PhysicalOp="Index Seek" LogicalOp="Index Seek">
    <OutputList>
        <ColumnReference Database="[MyDB]" Schema="[dbo]" Table="[Employees]" Column="EmployeeID" />
    </OutputList>
    <IndexScan Ordered="1" ScanDirection="FORWARD">
        <DefinedValues>
            <DefinedValue>
                <ColumnReference Database="[MyDB]" Table="[Employees]" Column="EmployeeID" />
            </DefinedValue>
        </DefinedValues>
        <Object Database="[MyDB]" Schema="[dbo]" Table="[Employees]" Index="[MyIndex]" /> …
Run Code Online (Sandbox Code Playgroud)

xml t-sql sql-server sql-execution-plan

1
推荐指数
1
解决办法
1609
查看次数