SQL Server有哪些隐藏特性?

例如,没有文档的系统存储过程,做一些非常有用但没有足够文档的事情的技巧?


答案

感谢大家的精彩回答!

存储过程

sp_msforeachtable: Runs a command with '?' replaced with each table name (v6.5 and up) sp_msforeachdb: Runs a command with '?' replaced with each database name (v7 and up) sp_who2: just like sp_who, but with a lot more info for troubleshooting blocks (v7 and up) sp_helptext: If you want the code of a stored procedure, view & UDF sp_tables: return a list of all tables and views of database in scope. sp_stored_procedures: return a list of all stored procedures xp_sscanf: Reads data from the string into the argument locations specified by each format argument. xp_fixeddrives:: Find the fixed drive with largest free space sp_help: If you want to know the table structure, indexes and constraints of a table. Also views and UDFs. Shortcut is Alt+F1

片段

Returning rows in random order All database User Objects by Last Modified Date Return Date Only Find records which date falls somewhere inside the current week. Find records which date occurred last week. Returns the date for the beginning of the current week. Returns the date for the beginning of last week. See the text of a procedure that has been deployed to a server Drop all connections to the database Table Checksum Row Checksum Drop all the procedures in a database Re-map the login Ids correctly after restore Call Stored Procedures from an INSERT statement Find Procedures By Keyword Drop all the procedures in a database Query the transaction log for a database programmatically.

功能

哈希字节() EncryptByKey 枢轴命令

Misc

Connection String extras TableDiff.exe Triggers for Logon Events (New in Service Pack 2) Boosting performance with persisted-computed-columns (pcc). DEFAULT_SCHEMA setting in sys.database_principles Forced Parameterization Vardecimal Storage Format Figuring out the most popular queries in seconds Scalable Shared Databases Table/Stored Procedure Filter feature in SQL Management Studio Trace flags Number after a GO repeats the batch Security using schemas Encryption using built in encryption functions, views and base tables with triggers


当前回答

你是否曾经不小心点击了执行按钮,而你实际上想点击: 调试/解析/使用数据库/查询选项卡之间的切换/等?

下面是把按钮移到安全的地方的方法:

工具—>自定义。然后拖动按钮到你想要的地方

你还可以: -添加/删除其他常用/不常用的按钮(甚至适用于菜单栏中的命令,如文件/编辑) -改变按钮的图标图像(见下面的小猪改变按钮图像..lol)

其他回答

下面是我写的一个查询,按最后修改日期列出所有DB用户对象:

select name, modify_date, 
case when type_desc = 'USER_TABLE' then 'Table'
when type_desc = 'SQL_STORED_PROCEDURE' then 'Stored Procedure'
when type_desc in ('SQL_INLINE_TABLE_VALUED_FUNCTION', 'SQL_SCALAR_FUNCTION', 'SQL_TABLE_VALUED_FUNCTION') then 'Function'
end as type_desc
from sys.objects
where type in ('U', 'P', 'FN', 'IF', 'TF')
and is_ms_shipped = 0
order by 2 desc

不是无证

行号由Itzik Ben-Gan 提供 http://www.sqlmag.com/article/articleid/97675/sql_server_blog_97675.html

设置xact_abort为on 在事务发生错误时回滚所有内容

所有的sp_都很有帮助,只是在网上浏览书籍

我在管理工作室一直使用的快捷键 F6 -结果和查询之间切换 Alt+X或F5-在查询中运行选中的文本,如果没有选中则运行整个窗口 Alt+T和Alt+D -结果在文本或网格分别

在SQL Server 2005/2008中显示SELECT查询结果中的行号:

SELECT ( ROW_NUMBER() OVER (ORDER BY OrderId) ) AS RowNumber,
        GrandTotal, CustomerId, PurchaseDate
FROM Orders

ORDER BY是一个强制性条款。OVER()子句告诉SQL引擎对指定列(在本例中为OrderId)上的数据进行排序,并根据排序结果分配数字。

连接字符串额外功能:

MultipleActiveResultSets = true;

这就产生了ADO。Net 2.0及以上版本在单个数据库连接上读取多个只向前、只读的结果集,如果要进行大量读取,这可以提高性能。即使是混合执行查询类型,也可以打开它。

应用程序名称= MyProgramName

现在,当您希望通过查询sysprocesses表来查看活动连接列表时,程序的名称将出现在program_name列中,而不是“”。Net SqlClient数据提供程序

可伸缩的共享数据库

通过可伸缩共享数据库,可以在普通机器上挂载相同的物理驱动器,并允许多个SQL Server 2005实例使用同一组数据文件。这种设置不需要为每个SQL Server实例复制存储,并且允许多个SQL Server实例具有额外的处理能力,这些实例具有自己的本地资源,如cpu、内存、tempdb和其他潜在的本地数据库。

Link