Tag: sql server

将所有表,存储过程,触发器,约束和所有依赖关系放在一个sql语句中

有没有什么办法可以在SQl Server 2005中清理所有的表,并删除存储过程,触发器,约束和所有的依赖项在一个SQL语句? 申请理由: 我想要一个数据库脚本来清理不在使用的现有数据库,而不是创build新的数据库,特别是当您必须向数据库pipe理员发出请求并等待一段时间才能完成时!

SQL Server的隐藏function

SQL Server的一些隐藏function是什么? 例如,没有logging的系统存储过程,窍门做的事情是非常有用的,但没有足够的文件logging? 答案 感谢大家的所有伟大的答案! 存储过程 sp_msforeachtable:用'?'运行命令 换成每个表名(v6.5及以上) sp_msforeachdb:用'?'运行命令 replace为每个数据库名称(V7及以上) sp_who2:就像sp_who,但有更多的信息来解决块(v7及以上) sp_helptext:如果您想要存储过程的代码,请查看&UDF sp_tables:返回范围内数据库的所有表和视图的列表。 sp_stored_procedures:返回所有存储过程的列表 xp_sscanf:将string中的数据读入由每个格式参数指定的参数位置。 xp_fixeddrives:查找具有最大可用空间的固定驱动器 sp_help:如果你想知道表的结构,索引和约束。 也意见和UDFs。 快捷键是Alt + F1 片段 以随机顺序返回行 所有数据库用户对象按上次修改date 仅返回date 查找哪些date落在当前周内某处的logging。 查找logging上周发生的date。 返回当前星期开始的date。 返回上周开始的date。 请参阅已部署到服务器的过程的文本 删除到数据库的所有连接 表格校验和 行校验和 删除数据库中的所有程序 恢复后重新映射loginID 从INSERT语句调用存储过程 通过关键字查找过程 删除数据库中的所有程序 以编程方式查询数据库的事务日志。 function HASHBYTES() EncryptByKey的 PIVOT命令 杂项 连接string额外 TableDiff.exe login事件触发器(Service Pack 2中的新增function) 用持久计算列(pcc)提高性能。 sys.database_principles中的DEFAULT_SCHEMA设置 强制参数化 Vardecimal存储格式 在几秒钟内找出最受欢迎的查询 可扩展的共享数据库 […]

SSRS 2014报告部署问题

我正在使用SQL Server 2014报表服务器(报表服务器版本显示在http:// localhost / Reportserver是12.0.4100.1 ),并且还使用Visual Studio 2013进行开发。 最近我开始在新的PC上工作,只有Visual Studio 2015企业版被安装在此。 目前,我的报告是使用Visual Studio 2013附带的商业智能开发的,我无法在新PC上打开我的报告项目。 所以我安装了商业智能工具来与Visual Studio 2015相匹配,并对2个报表进行了小改动。 无论如何,我注意到报告的devise代码发生了巨大的变化。 问题是,当我尝试在报表服务器接口上将更改的报表上载到报表服务器时,出现错误消息: 此报告的定义无效或由此版本的Reporting Services支持。 报告定义可能是使用更高版本的Reporting Services创build的,或者包含基于Reporting Services架构的格式不正确或无效的内容。 详细信息:报表定义具有无法升级的无效目标名称空间“ http://schemas.microsoft.com/sqlserver/reporting/2016/01/reportdefinition ”。 (rsInvalidReportDefinition)获取联机帮助 不过,我仍然可以通过在解决scheme上select部署选项,将相同的报表从Visual Studio 2015上传到同一台服务器。 有人可以帮我将由vs 2015devise的报告上传到SSRS。

我如何强制entity framework插入标识列?

我想写一些C#代码来初始化我的数据库与一些种子数据。 显然,这将需要能够在插入时设置各种标识列的值。 我使用的是代码优先的方法。 默认情况下, DbContext处理数据库连接,因此您不能SET IDENTITY_INSERT [dbo].[MyTable] ON 。 所以,到目前为止,我所做的是使用DbContext构造函数来指定要使用的数据库连接。 然后,我在该数据库连接中将IDENTITY_INSERT设置为ON ,然后尝试使用entity framework插入我的logging。 以下是我迄今为止的一个例子: public class MyUserSeeder : IEntitySeeder { public void InitializeEntities(AssessmentSystemContext context, SqlConnection connection) { context.MyUsers.Add(new MyUser { MyUserId = 106, ConceptPersonId = 520476, Salutation = "Mrs", Firstname = "Novelette", Surname = "Aldred", Email = null, LoginId = "520476", Password="28c923d21b68fdf129b46de949b9f7e0d03f6ced8e9404066f4f3a75e115147489c9f68195c2128e320ca9018cd711df", IsEnabled = true, […]

SQL Server中有条件的WHERE子句

我正在创build一个SQL查询,我需要一个条件where子句。 它应该是这样的: SELECT DateAppr, TimeAppr, TAT, LaserLTR, Permit, LtrPrinter, JobName, JobNumber, JobDesc, ActQty, (ActQty-LtrPrinted) AS L, (ActQty-QtyInserted) AS M, ((ActQty-LtrPrinted)-(ActQty-QtyInserted)) AS N FROM [test].[dbo].[MM] WHERE DateDropped = 0 –This is where i need the conditional clause AND CASE WHEN @JobsOnHold = 1 THEN DateAppr >= 0 ELSE DateAppr != 0 END 上述查询不起作用。 这是不是正确的语法,还是有另一种方法来做到这一点,我不知道? 我不想使用dynamicSQL,所以有没有其他方式,或者我必须使用一种解决方法,如使用if else和使用不同的where子句相同的查询?

将表格作为parameter passing给sql server UDF

我想将一个表作为parameter passing给一个缩放UDF。 我还希望限制参数只有一列的表。 (可选的) 这可能吗? 编辑 我不想传递一个表名,我想通过数据表(作为我想的参考) 编辑 我希望我的Scaler UDF基本上获取一个值的表,并返回一个CSV列表的行。 IE col1 "My First Value" "My Second Value" … "My nth Value" 会返回 "My First Value, My Second Value,… My nth Value" 我想在桌面上做一些过滤,IE确保没有空值,并确保没有重复。 我期待着以下几点: SELECT dbo.MyFunction(SELECT DISTINCT myDate FROM myTable WHERE myDate IS NOT NULL)

为什么在SQL Server中使用游标被认为是不好的做法?

我知道SQL 7中有一些性能方面的原因,但SQL Server 2005中仍存在相同的问题吗? 如果在存储过程中有一个结果集,我想单独采取行动,那么游标仍然是一个不好的select? 如果是这样,为什么?

将列表<>传递给SQL存储过程

我经常不得不将多个项目加载到数据库中的特定logging。 例如:网页显示单个报表所包含的项目,所有项目都是数据库中的logging(报表是报表中的logging,项目是项目表中的logging)。 用户通过networking应用程序select要包括在单个报告中的项目,并且假设他们select3个项目并提交。 该过程将通过将logging添加到名为ReportItems(ReportId,ItemId)的表中,将这3个项目添加到此报告中。 目前,我会在代码中做这样的事情: public void AddItemsToReport(string connStr, int Id, List<int> itemList) { Database db = DatabaseFactory.CreateDatabase(connStr); string sqlCommand = "AddItemsToReport" DbCommand dbCommand = db.GetStoredProcCommand(sqlCommand); string items = ""; foreach (int i in itemList) items += string.Format("{0}~", i); if (items.Length > 0) items = items.Substring(0, items.Length – 1); // Add parameters db.AddInParameter(dbCommand, "ReportId", DbType.Int32, […]

如何在两个数字之间生成一个数字范围?

我有两个数字作为来自用户的input,例如1000和1050 。 我如何生成这两个数字之间的数字,使用SQL查询,在单独的行? 我要这个: 1000 1001 1002 1003 . . 1050

SQL案例语句的语法?

什么是SQL Case语句的完整和正确的语法?