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


当前回答

Sp_lock:显示当前所有锁。返回的数据还可以进一步查询:

Spid -与sp_who一起使用它来查看谁拥有锁。

Objid -与select object_name(Objid)一起使用,查看哪个数据库对象被锁定。

其他回答

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

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

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

如果你想知道表的结构,索引和约束:

sp_help 'TableName'

@Gatekiller -一个更简单的方法来获得日期肯定是

CAST(CONVERT(varchar,getdate(),103) as datetime)

如果在本地不使用DD/MM/YYYY,则需要使用与103不同的值。SQL Books Online中的查找转换函数用于区域代码。

我使用SSMS在操作系统硬盘上的文件中查找文本。它使它超级容易编写正则表达式和筛选任何目录来替换或查找文本。我总是发现这比使用windows更容易。

/*找到空闲空间最大的固定驱动器,也可以复制文件来估计哪个磁盘最快*/

EXEC master..xp_fixeddrives

/*在使用或引用之前检查文件的假设*/

EXEC master..xp_fileexist 'C:\file_you_want_to_check'

详情请点击这里